]
William Burns updated ISPN-5088:
--------------------------------
Fix Version/s: 7.1.0.Beta1
7.0.3.Final
Deleted entries from (FineGrained)AtomicMap reappear in subsequent
transaction
------------------------------------------------------------------------------
Key: ISPN-5088
URL:
https://issues.jboss.org/browse/ISPN-5088
Project: Infinispan
Issue Type: Bug
Components: Core
Affects Versions: 7.0.2.Final
Reporter: Sanne Grinovero
Assignee: William Burns
Priority: Critical
Labels: 7.0, for_OGM
Fix For: 7.1.0.Beta1, 7.0.3.Final
Attachments: Testcase-ISPN-5088.patch
After a {{FineGrainedAtomicMap}} containing some data is deleted in a transaction, but
then in the same transaction it's re-created, the next transaction will be able to
read the original data which it contained.
Some pseudocode:
{code}tx1.start();
am = AtomicMapLookup.getFineGrainedAtomicMap( cache, cacheKey, true );
am.put(k1, v1);
tx1.commit()
tx2.start();
am = AtomicMapLookup.getFineGrainedAtomicMap( cache, cacheKey, true );
am.put(k3, v3);
AtomicMapLookup.removeAtomicMap( cache, cacheKey );
am = AtomicMapLookup.getFineGrainedAtomicMap( cache, cacheKey, true );
am.put(k2,v2);
tx2.commit()
tx3.start();
am = AtomicMapLookup.getFineGrainedAtomicMap( cache, cacheKey, true );
am.contains(k1) == false; // FAILS!
tx3.commit();{code}
Also applies apparently to a normal AtomicMap if using DIST_SYNC.
I'm attaching a full test, which results in:
{noformat}
Failed tests:
RepeatableReadFineGrainedAtomicMapAPITest>BaseAtomicHashMapAPITest.testInsertDeleteInsertCycle:596
null
FineGrainedAtomicMapAPITest>BaseAtomicHashMapAPITest.testInsertDeleteInsertCycle:596
null
DistFineGrainedAtomicMapAPITest>BaseAtomicHashMapAPITest.testInsertDeleteInsertCycle:596
null
DistRepeatableReadFineGrainedAtomicMapAPITest>BaseAtomicHashMapAPITest.testInsertDeleteInsertCycle:596
null
DistRepeatableReadAtomicMapAPITest>BaseAtomicHashMapAPITest.testInsertDeleteInsertCycle:596
null
DistAtomicMapAPITest>BaseAtomicHashMapAPITest.testInsertDeleteInsertCycle:596 null
Tests run: 5636, Failures: 6, Errors: 0, Skipped: 0
{noformat}