Steps to reproduce: These are not steps meant to be reproduced by a human, they are more a description of what happens internally. We assume that these steps happen currently in SecurityCacheStressIT on CI: 1. Thread 1 starts loading document A in version 1 from the database as it is missing in the document cache. The document is essentially completely but the hibernate store didn't return yet. 2. Thread 2 saves version 2 of document A and removes it from the cache (not really needed, but it does, anyway) 3. Thread 1 inserts version 1 into the cache. Expected result: Thread 1 doesn't insert version 1 of document A into the cache. Actual result: Thread 1 inserts version 1 of document A into the cache, subsequent loads of document A from the cache return version 1 instead of the new version 2. |