I'll note here that in DIST mode, when a node fails, sessions have their jvmRoute's adjusted to reside on other nodes as would be expected. But when the same node comes back and rehashing takes place, the jvmRoute's of sessions can be adjusted yet again, even no failure has occurred. This is a consequence of DistributedCacheManager.locate() choosing the jvmRoute based on the data locality of the session, which can change when a node comes back due to redistribution of sessions around the cluster.
I'll note here that in DIST mode, when a node fails, sessions have their jvmRoute's adjusted to reside on other nodes as would be expected. But when the same node comes back and rehashing takes place, the jvmRoute's of sessions can be adjusted yet again, even no failure has occurred. This is a consequence of DistributedCacheManager.locate() choosing the jvmRoute based on the data locality of the session, which can change when a node comes back due to redistribution of sessions around the cluster.