History | Log In     View a printable version of the current page.  
Issue Details (XML)

Key: BLZ-172
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Assignee: aglosban
Reporter: aglosban
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
BlazeDS

When cookies are disabled in browser two FlexClient instances are getting created at connect time.

Created: 05/15/08 06:48 AM   Updated: 05/15/08 08:31 PM
Component/s: Channels: Polling AMF
Security Level: Public (All JIRA Users )

Severity: Incorrectly Functioning
Reproducibility: Every Time
Discoverability: Medium
Found in Version: BlazeDS 3.0.1
Milestone: BlazeDS 3.0.1
Affected OS(s): All OS Platforms - All
Steps to Reproduce:
Steps to reproduce:
1. Disable cookies in the browser.
2. Run a messaging test that uses a polling amf channel and subscribe to a destination.
3. Check on the server that only one Flex client instance was created.
 
 Actual Results: Currently two FlexClient instances are getting created.
 
 
 Expected Results: Only one FlexClient instance should get created.
 
 
 Workaround (if any):
 
 
 
Language Found: English
Bugbase Id: none
Triaged: Yes
Regression: No
QA Owner: aglosban
Resolved by: Mete Atamel
Participants: aglosban and Mete Atamel
JDK: Sun JDK 5
Application Server: Apache Tomcat 6.x


 All   Comments      Sort Order:
aglosban - [05/15/08 06:49 AM ]
This issue was reported by Seth. Here are his comments. The fix for cookieless clients based on jsessionid/AMFSessionId, at least in the AMF case, results in the creation of two FlexClient instances at connect time. The reason is that two pings are being sent to the server now. The FlexClient created for the first ping doesn't have its Id stored and used by the client because the AppendToGatewayURL callback is invoked by the player first, which triggers a second ping, and that initial ping response is lost.

Mete has a fix for this. Please assign to him. Thanks.

Mete Atamel - [05/15/08 09:06 AM ]
Fixed with change 1732 on 3.0.1.x SDK branch. Assuming that it'll be merge to SDK trunk/3.0.x by the SDK team?

aglosban - [05/15/08 08:31 PM ]
Verifed. The easiest way to test this is to turn off all logging filters except for Client.* and Endpoint.FlexSession. When testing over the various channels you should only see one FlexClient instance get created when you connect to the endpoint. I used a messaging test app to test this and had a consumer subscribe over all of our channels with cookies disabled in my browser. Each time the Consumer subscribed I verified that only a single FlexClient, MessageClient and FlexSession got created. I also verified that when a Producer in the same app sent a message over the channel a new FlexClient didn't get created.