-
Bug
-
Resolution: Done
-
Critical
-
9.4.20.Final
-
None
Prior version 12 of Infinispan the near cache implementation seems to allow stale values to be persisted in case of concurrent accesses. From version 12, the bloom filter feature seems to avoid this issue.
In more details, Infinispan use the InvalidatedNearRemoteCache class to manage near caching in the hotrod client. In case of concurrent read/write from T1 and T2 it is possible to have this trace:
- T1: read K -> V (from near cache or remote cache)
- T2: update K -> V to K -> V'
- T2: invalidate near cache key K
- T1: insert K -> V in near cache
At the end, the remote cache contains K -> V' and the near cache K -> V with no way to recover.
Since this seems to be a major issue, I was wondering if it was an Infinispan bug or a bad configuration on my part.