Details
-
Bug
-
Resolution: Done
-
Major
-
None
-
None
Description
When batching is enabled, the clear() tries to suspend the running transaction but it ends leaking the internal transaction used in the batch.
public void testClearInBatch() { Cache<String, String> cache = createCache("testClearInBatch"); cache.put("k2", "value2"); cache.startBatch(); cache.clear(); cache.put("k1", "value1"); cache.endBatch(true); // the tx is leaked and it tries to execute the get() against a committed transaction. AssertJUnit.assertEquals(null, cache.get("k2")); AssertJUnit.assertEquals("value1", cache.get("k1")); }