]
Radoslav Husar updated WFLY-6294:
---------------------------------
Fix Version/s: 10.1.0.Final
Session draining always takes maximum configured timeout
--------------------------------------------------------
Key: WFLY-6294
URL:
https://issues.jboss.org/browse/WFLY-6294
Project: WildFly
Issue Type: Bug
Components: Clustering
Affects Versions: 10.0.0.Final
Reporter: Aaron Ogburn
Assignee: Radoslav Husar
Priority: Blocker
Labels: downstream_dependency
Fix For: 10.1.0.Final
The mod_cluster session drain wait is not ending as expected. mod_cluster adds a session
listener to be notified of session destruction. That is fired appropriately, but when the
listener is invoked, the infinispan session manager still reports the session as active.
Thus, this drain loop doesn't end after the notify because it still sees the active
session:
{code}
while ((remainingSessions > 0) && (noTimeout || (timeout >
0))) {
ModClusterLogger.LOGGER.drainSessions(remainingSessions,
context.getHost(), context);
listener.wait(noTimeout ? 0 : timeout);
current = System.currentTimeMillis();
timeout = end - current;
remainingSessions = context.getActiveSessionCount();
}
{code}
Can the listeners be invoked when the session is fully removed and no longer considered
active?