-
Bug
-
Resolution: Done
-
Critical
-
22.0.0.Alpha1
-
None
-
Undefined
-
---
-
---
The HotRodSessionManager takes the same approach to session expiration as the InfinispanSessionManager, that is, sessions are scheduled for expiration locally.
On failover, the InfinispanSessionManager has sufficient context to handle failover such that sessions are always scheduled on one member.
Since the HotRodSessionManager lacks a mechanisms to communicate failover to other members, it has no way to reschedule expiration on behalf of a failed member.
This means that, when a cluster member crashes or shutsdown, any abandoned sessions exclusively handled by that member will never expire. This can cause orphaned entries to accumulate on the infinispan-server cluster - the only workaround for which is to set a conservative expiration threshold. However, these expired entries will not trigger HttpSessionListener.sessionDestroyed(...) events.
To solve this problem, the HotRodSessionManager should explore using expiration events from infinispan-server.
- is related to
-
WFLY-14236 HotRodSessionManager expiration listener thread applies unnecessary JNDI context
- Closed