Same issue as ISPN-3184, but for repl caches in Infinispan 5.2.x. (ISPN-3184 only fixed dist caches, since repl uses the same code in 5.3+). AtomicHashMap and FineGrainedAtomicHashMap, as well as custom DeltaAware implementations, use PutKeyValueCommands with the DELTA_WRITE flag to execute incremental updates. These commands need the previous value of the entry in order to work. If a node is joining and it receives a PutKeyValueCommand with the DELTA_WRITE flag before it has received the value of the affected key, it should do a remote get to retrieve the previous value and apply the change on top of that value, just like we do for conditional commands. Not doing so leads to data loss.
Test case: org/infinispan/atomic/ReplAtomicMapStateTransferTest
4 commits for this BZ: 13da8da7206dacf3daf82f3d449e59789e4bec45 5d7dab4cb154535be7d0d676f306f102950768f7 dc9bb74029c6f34206cce85ceaa2aa699b76529c baed5c6d5c2c9a37b286eac7d7fe141a7a790990
We do not see org/infinispan/atomic/ReplAtomicMapStateTransferTest failing, verified.
Retroactively bulk-closing issues from released EAP 6.4 cumulative patches.