We noticed some unexpected behaviour when using Infinispan in invalidation mode. It occurs sometimes. Is this a race condition, or is cache remove() supposed to behave like this when it's setup in invalidation mode?
About 40% of the time remove() fails to return the removed value, and we get null instead.
A ticket was filed in the tracker to for this issue, and it contains a Java test.