[
https://issues.jboss.org/browse/WFLY-6294?page=com.atlassian.jira.plugin....
]
Radoslav Husar commented on WFLY-6294:
--------------------------------------
Awesome investigation [~aogburn], thanks. There is bunch of problems in the current
implementation that will be fixed:
1/ *all* sessions that are in the node will be subject to draining while we want to only
attempt to drain sessions for which given node is the primary owner (Jira TBD)
2/ passivated sessions are not accounted for session draining -- this will NOT be fixed as
the sessions are likely to be not used any more, but mainly this would mean we would bring
all the sessions out of passivation, trigger session activated events and other
undesirable side effects
3/ the notification schema does not work, since the notification will always happen BEFORE
the session is actually removed from the manager -- we will poll and wait with a smaller
timeouts -- submitted as fix for MODCLUSTER-478
4/ the server might look hang while draining, so we should log what is it going to attempt
to drain -- submitted as part of PR for MODCLUSTER-478
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: Minor
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?
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)