]
Tristan Tarrant updated ISPN-11567:
-----------------------------------
Fix Version/s: 11.0.0.Final
(was: 11.0.0.CR1)
Scattered caches with a single node expire entries immediately
--------------------------------------------------------------
Key: ISPN-11567
URL:
https://issues.redhat.com/browse/ISPN-11567
Project: Infinispan
Issue Type: Bug
Components: Core
Affects Versions: 10.1.5.Final, 11.0.0.Dev03
Reporter: Dan Berindei
Assignee: Dan Berindei
Priority: Major
Fix For: 11.0.0.Final
{{ClusterExpirationManager.checkExpiredMaxIdle()}} sends a {{TouchCommand}} to the other
owners and expires the entry locally if the touch was unsuccessful.
{{ScatteredTouchResponseCollector}} is stateless, and reports that the entry has not been
touched if it doesn't receive any {{true}} response. However, this is only correct if
at least one backup entry existing on another node, and that is not the always the case:
e.g. between the backup node leaving the cluster and another node becoming a backup, or
when the cluster has a single node.
Since {{ClusterExpirationManager.checkExpiredMaxIdle()}} is called on every read, before
the entry being expired on the local node, it means a transient entry in a scattered cache
with a single node will expire on the first read, immediately after being inserted.