Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 3.3, EE-3.3.0.GA_P01
-
Fix Version/s: EE-3.3.0.GA_P02, 4.0
-
Component/s: Push Library
-
Labels:None
-
Environment:ICEpush
Description
Using ICEpush after letting it sit for awhile it seems that the pushes stop working eventually.
Activity
Jack Van Ooststroom
created issue -
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #38817 | Tue Nov 19 07:51:30 MST 2013 | jack.van.ooststroom | Fixed JIRA |
Files Changed | ||||
MODIFY
/icepush/trunk/icepush/core/src/main/java/org/icepush/LocalPushGroupManager.java
MODIFY /icepush/trunk/icepush/core/src/main/java/org/icepush/Group.java |
Jack Van Ooststroom
made changes -
Field | Original Value | New Value |
---|---|---|
Fix Version/s | EE-3.3.0.GA_P02 [ 11370 ] |
Jack Van Ooststroom
made changes -
Assignee | Jack Van Ooststroom [ jack.van.ooststroom ] |
Jack Van Ooststroom
made changes -
Fix Version/s | 4.0 [ 11383 ] | |
Fix Version/s | 4.0.BETA [ 10971 ] |
Jack Van Ooststroom
made changes -
Status | Open [ 1 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Ken Fyten
made changes -
Fix Version/s | EE-4.0.0.GA [ 11170 ] |
Ken Fyten
made changes -
Status | Resolved [ 5 ] | Closed [ 6 ] |
This one was quite tricky to understand why pushes stop working after awhile. It only seems to happen when multiple Groups and multiple Push-IDs are involved, and here is why:
Herein lies the problem. If the heartbeat interval is up to 45000 ms a double miss of the touch/discard logic due to the built-in cap into the scan(String[]) method can result in the discard of a Group. Even though listen.icepush requests are still being received containing Push-IDs that are a member of that Group. Once this Group has been removed, pushes to that Group no longer have an effect.
We should reconsider the implemented capping mechanism for the touch/discard logic. For now, moving the touch logic outside of the capped mechanism should suffice for an immediate fix of this issue.