Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 2.0-Alpha2
-
Fix Version/s: 2.0-Alpha3
-
Component/s: Push Server, Samples
-
Labels:None
-
Environment:ICEpush ICEfaces 2.0 Auction
Description
Testing with the Auction application has shown that updates to the client will occasionally stop. The amount of time it takes is variable (from minutes to hours) and it can happen in almost any of the different browsers.
Issue Links
- blocks
-
ICE-5227 ICEfaces 2.0 Auction push failure
- Closed
Activity
Deryk Sinotte
created issue -
Deryk Sinotte
made changes -
Field | Original Value | New Value |
---|---|---|
Summary | The lastAccess time of PushContext.Groups is not consistently updating by incoming requests. | Auction updates stop after a variable period of time |
Ken Fyten
made changes -
Fix Version/s | 1.0-Alpha3 [ 10224 ] | |
Assignee | Deryk Sinotte [ deryk.sinotte ] |
Ted Goddard
made changes -
Assignee | Deryk Sinotte [ deryk.sinotte ] | Mircea Toma [ mircea.toma ] |
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #20311 | Thu Jan 21 10:38:10 MST 2010 | ted.goddard | using request attribute to handle multiple requests to createPushId ( |
Files Changed | ||||
MODIFY
/scratchpads/snowplow/core/src/main/java/org/icepush/PushContext.java
|
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #20314 | Thu Jan 21 11:01:09 MST 2010 | ted.goddard | using request attribute to handle multiple requests to createPushId ( |
Files Changed | ||||
MODIFY
/icefaces/scratchpads/glimmer/lib/icepush.jar
|
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #20414 | Thu Jan 28 14:57:29 MST 2010 | mircea.toma | |
Files Changed | ||||
MODIFY
/scratchpads/snowplow/core/src/main/java/org/icepush/PushContext.java
MODIFY /scratchpads/snowplow/core/src/main/java/org/icepush/BlockingConnectionServer.java |
Mircea Toma
made changes -
Status | Open [ 1 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Ken Fyten
made changes -
Status | Resolved [ 5 ] | Closed [ 6 ] |
A number of debug logging statements were added to try and narrow down when and why the updates stopped. Here's a subset of that logging that shows what happens in the case of one browser where the clocks stopped ticking after a few minutes:
//Push group is created
Jan 20, 2010 11:30:45 AM org.icepush.PushContext$Group <init>
FINEST: '3B938F0B693880AC6FDA99BBBCEB9160' push group created.
//Push ID is added to the group
Jan 20, 2010 11:30:45 AM org.icepush.PushContext addGroupMember
FINEST: Added pushId '1264015845649' to group '3B938F0B693880AC6FDA99BBBCEB9160'.
//The final time that the lastAccess time is updated for this id. The lastAccess time should be updated every 3 seconds or so provided //there are incoming requests from the client containing the required id.
Jan 20, 2010 11:32:40 AM org.icepush.PushContext$Group touchIfMatching
FINEST: lastAccess updated for 1264015845649
//The last time a successful notification is sent for this push id.
Jan 20, 2010 11:34:41 AM org.icepush.BlockingConnectionServer$4 writeTo
FINEST: Sending notifications for [1264015845649].
//Then the group is discard due to expiration, exactly 2 minutes after final lastAccess update.
Jan 20, 2010 11:34:41 AM org.icepush.PushContext$Group discardIfExpired
FINEST: '3B938F0B693880AC6FDA99BBBCEB9160' push group expired.
//Continue to get these for that same group every 1 second. However, nothing is sent since the group has expired.
Jan 20, 2010 11:35:59 AM org.icepush.PushContext push
FINEST: Push notification triggered for '3B938F0B693880AC6FDA99BBBCEB9160' pushId.
So it appears that the mechanism used to update the lastAccess time is not working. As more browser instances are added, it seems the more time elapses between successful updates. When the period gets longer than 2 minutes, the group is expired/discarded and the updates are no longer sent. The client, however, appears to be still be sending the appropriate requests so it would seem that there is something on the server side that isn't quite behaving.