Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: EE-2.0.0.Beta1
-
Fix Version/s: EE-2.0.0
-
Component/s: Enterprise Push Server
-
Labels:None
-
Environment:ICEpush, cluster
Description
When an application is running against a cluster, a single browser may connect to multiple different server nodes with the blocking connection. In order to automatically garbage collect unused PUSHIDs, it is therefore necessary to periodically broadcast active PUSHIDs within the cluster.
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
In order to make the garbage collection of PUSHIDs cluster-aware ICEpush has been expanded with a PushGroupListener in order for EPS to be able to be notified of when a PUSHID is being touched. As EPS is build on ICEpush, it now can add itself as a listener to the LocalPushGroupManager. Upon notification of a PUSHID being touched EPS will now broadcast a PushIDTouched message to all other EPS instances within the cluster. Each EPS instance are therefore now in sync with each other regarding touched PUSHIDs. The already present logic regarding PUSHID clean-up can still do its normal work, but now this will happen in sync on all the EPS instances. To avoid excessive messaging between the EPS instances, this logic currently relies on the build-in concatenation logic of the Message Service Client to effectively reducing the number of messages being send. However, additional improvements might prove necessary in the future to ensure scalability.
Marking this one as FIXED.