]
Tristan Tarrant updated ISPN-6051:
----------------------------------
Status: Resolved (was: Pull Request Sent)
Fix Version/s: 8.2.0.Final
Resolution: Done
ClusterExpirationManager missing locking
----------------------------------------
Key: ISPN-6051
URL:
https://issues.jboss.org/browse/ISPN-6051
Project: Infinispan
Issue Type: Bug
Components: Core
Affects Versions: 8.1.0.Final
Reporter: Dan Berindei
Assignee: William Burns
Fix For: 8.2.0.Beta2, 8.2.0.Final
Because {{ClusterExpirationManager.handleLifespanExpired()}} doesn't lock the entry
and the value is actually read in the async thread, the created {{RemoveExpiredCommand}}
sometimes uses a newer value written by another thread.
Could be fixed by using {{DataContainer.compute()}} to check expiration and create the
{{RemoveExpirationCommand}}.