KeyAffinityService#getKeyForAddress runs in a tight loop looking for keys: queue = address2key.get(address) while (result == null) result = queue.poll() KeyAffinityService#handleViewChange clears and resets the queue list on membership change: address2key.clear() for each address map.put(address, new queue) If a view change comes in after getKeyForAddress gets the queue, and the queue is empty, it will get stuck in a tight loop looking at the wrong queue forever while new keys are added to the new queue. This affects EAP 6 session clustering with <distributed-cache>.
Created attachment 1056437 [details] Test case
The test case run for about 10minutes and did not stop counting in contrast to old version: test case failed almost immediately with EAP version 6.2.0
Paul Ferraro <paul.ferraro> updated the status of jira WFLY-4942 to Closed
Here is the PR for 6.4.4: https://github.com/jbossas/jboss-eap/pull/2661
Forget the comment above. Wrong issue. If BZ was an real issue management system and not a toy, I could delete the comment - but I can't . Sorry.
Retroactively bulk-closing issues from released EAP 6.4 cumulative patches.