Details
-
Test
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
Test GridCacheNearTxExceptionSelfTest.testRemoveBackup fails periodically with different errors.
The first error is assertion failed:
junit.framework.AssertionFailedError: Unexpected entry for grid [i=2, entry=GridDhtCacheEntry [rdrs=[ReaderId [nodeId=107db664-5be5-4a03-a300-d5324058f001, msgId=6816762, txFut=null]], locPart=GridDhtLocalPartition [id=6, mapPubSize=1, rmvQueue=GridCircularBuffer [sizeMask=31, idxGen=1], state=OWNING, reservations=0, empty=false, createTime=11/02/2015 11:45:37, mapPubSize=1], super=GridDistributedCacheEntry [super=GridCacheMapEntry [key=KeyCacheObjectImpl [val=6, hasValBytes=true], val=CacheObjectImpl [val=1, hasValBytes=true], startVer=1446453938883, ver=GridCacheVersion [topVer=57933940, nodeOrderDrId=3, globalTime=1446453942485, order=1446453940025], hash=1558924552, extras=GridCacheMvccEntryExtras [mvcc=GridCacheMvcc [locs=[GridCacheMvccCandidate [nodeId=20a19a7c-90ad-4fd9-9c07-5fbbf1236002, ver=GridCacheVersion [topVer=57933940, nodeOrderDrId=3, globalTime=1446453942486, order=1446453940029], timeout=0, ts=1446453942476, threadId=67884, id=8917672, topVer=AffinityTopologyVersion [topVer=3, minorTopVer=0], reentry=null, otherNodeId=0025e259-fd0f-43e4-8bf1-c1249eac5000, otherVer=GridCacheVersion [topVer=57933940, nodeOrderDrId=1, globalTime=1446453942486, order=1446453940028], mappedDhtNodes=null, mappedNearNodes=null, ownerVer=null, serOrder=null, key=KeyCacheObjectImpl [val=6, hasValBytes=true], masks=local=1|owner=1|ready=1|reentry=0|used=0|tx=1|single_implicit=1|dht_local=1|near_local=0|removed=0, prevVer=null, nextVer=null]], rmts=null]], flags=2]]]] at junit.framework.Assert.fail(Assert.java:57) at junit.framework.Assert.assertTrue(Assert.java:22) at junit.framework.Assert.assertFalse(Assert.java:39) at junit.framework.TestCase.assertFalse(TestCase.java:210) at org.apache.ignite.internal.processors.cache.IgniteTxExceptionAbstractSelfTest.checkUnlocked(IgniteTxExceptionAbstractSelfTest.java:404) at org.apache.ignite.internal.processors.cache.IgniteTxExceptionAbstractSelfTest.checkRemove(IgniteTxExceptionAbstractSelfTest.java:561) at org.apache.ignite.internal.processors.cache.IgniteTxExceptionAbstractSelfTest.testRemoveBackup(IgniteTxExceptionAbstractSelfTest.java:207) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at junit.framework.TestCase.runTest(TestCase.java:176) at org.apache.ignite.testframework.junits.GridAbstractTest.runTestInternal(GridAbstractTest.java:1658) at org.apache.ignite.testframework.junits.GridAbstractTest.access$000(GridAbstractTest.java:112) at org.apache.ignite.testframework.junits.GridAbstractTest$4.run(GridAbstractTest.java:1596)
The second problem is exception:
[19:33:10,099][ERROR][main][root] Test failed. org.apache.ignite.internal.processors.cache.GridCacheEntryRemovedException at org.apache.ignite.internal.processors.cache.GridCacheMapEntry.checkObsolete(GridCacheMapEntry.java:2847) at org.apache.ignite.internal.processors.cache.GridCacheMapEntry.lockedByAny(GridCacheMapEntry.java:3285) at org.apache.ignite.internal.processors.cache.IgniteTxExceptionAbstractSelfTest.checkUnlocked(IgniteTxExceptionAbstractSelfTest.java:404) at org.apache.ignite.internal.processors.cache.IgniteTxExceptionAbstractSelfTest.checkRemove(IgniteTxExceptionAbstractSelfTest.java:561) at org.apache.ignite.internal.processors.cache.IgniteTxExceptionAbstractSelfTest.testRemoveBackup(IgniteTxExceptionAbstractSelfTest.java:205) at org.apache.ignite.internal.processors.cache.distributed.near.GridCacheNearTxExceptionSelfTest.testRemoveBackup(GridCacheNearTxExceptionSelfTest.java:41) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at junit.framework.TestCase.runTest(TestCase.java:176) at org.apache.ignite.testframework.junits.GridAbstractTest.runTestInternal(GridAbstractTest.java:1658) at org.apache.ignite.testframework.junits.GridAbstractTest.access$000(GridAbstractTest.java:112) at org.apache.ignite.testframework.junits.GridAbstractTest$4.run(GridAbstractTest.java:1596) org.apache.ignite.internal.processors.cache.GridCacheEntryRemovedException at org.apache.ignite.internal.processors.cache.GridCacheMapEntry.checkObsolete(GridCacheMapEntry.java:2847) at org.apache.ignite.internal.processors.cache.GridCacheMapEntry.lockedByAny(GridCacheMapEntry.java:3285) at org.apache.ignite.internal.processors.cache.IgniteTxExceptionAbstractSelfTest.checkUnlocked(IgniteTxExceptionAbstractSelfTest.java:404) at org.apache.ignite.internal.processors.cache.IgniteTxExceptionAbstractSelfTest.checkRemove(IgniteTxExceptionAbstractSelfTest.java:561) at org.apache.ignite.internal.processors.cache.IgniteTxExceptionAbstractSelfTest.testRemoveBackup(IgniteTxExceptionAbstractSelfTest.java:205) at org.apache.ignite.internal.processors.cache.distributed.near.GridCacheNearTxExceptionSelfTest.testRemoveBackup(GridCacheNearTxExceptionSelfTest.java:41) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at org.apache.ignite.testframework.junits.GridAbstractTest.runTestInternal(GridAbstractTest.java:1658) at org.apache.ignite.testframework.junits.GridAbstractTest.access$000(GridAbstractTest.java:112) at org.apache.ignite.testframework.junits.GridAbstractTest$4.run(GridAbstractTest.java:1596)
It seems there is race somewhere.
In the second case if repeat entryEx() call then no entry will be return. So entries will be removed eventually.