[
https://issues.apache.org/jira/browse/IGNITE-257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14740330#comment-14740330
]
Denis Magda commented on IGNITE-257:
------------------------------------
In addition fixed cache clean up when a test is stopping its execution.
As a result both {{GridCacheLocalTxExceptionSelfTest}} and
{{GridCacheReplicatedTxExceptionSelfTest}} are fully green.
{{GridCacheColocatedTxExceptionSelfTest}} and
{{GridCacheNearTxExceptionSelfTest}} always fail. Muted them.
The reason of the failing:
{noformat}
junit.framework.AssertionFailedError: Unexpected entry for grid [i=0,
entry=GridDhtColocatedCacheEntry [super=GridDhtCacheEntry [rdrs=[],
locPart=GridDhtLocalPartition [id=1, mapPubSize=0, rmvQueue=GridCircularBuffer
[sizeMask=31, idxGen=1], state=OWNING, reservations=0, empty=false,
createTime=09/11/2015 09:49:36, mapPubSize=0], super=GridDistributedCacheEntry
[super=GridCacheMapEntry [key=KeyCacheObjectImpl [val=1, hasValBytes=true],
val=null, startVer=1441954176394, ver=GridCacheVersion [topVer=53434179,
nodeOrderDrId=1, globalTime=1441954184293, order=1441954178668],
hash=1364076727, extras=GridCacheMvccEntryExtras [mvcc=GridCacheMvcc
[locs=[GridCacheMvccCandidate [nodeId=001ff2e0-81b9-45ab-8b72-7a5265aa7000,
ver=GridCacheVersion [topVer=53434179, nodeOrderDrId=1,
globalTime=1441954184752, order=1441954179609], timeout=0, ts=1441954184746,
threadId=228, id=693, topVer=AffinityTopologyVersion [topVer=3, minorTopVer=0],
reentry=null, otherNodeId=001ff2e0-81b9-45ab-8b72-7a5265aa7000,
otherVer=GridCacheVersion [topVer=53434179, nodeOrderDrId=1,
globalTime=1441954184752, order=1441954179609], mappedDhtNodes=null,
mappedNearNodes=null, ownerVer=null, key=KeyCacheObjectImpl [val=1,
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=3]]]]]
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:393)
at
org.apache.ignite.internal.processors.cache.IgniteTxExceptionAbstractSelfTest.checkRemove(IgniteTxExceptionAbstractSelfTest.java:558)
at
org.apache.ignite.internal.processors.cache.IgniteTxExceptionAbstractSelfTest.testRemovePrimary(IgniteTxExceptionAbstractSelfTest.java:196)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at junit.framework.TestCase.runTest(TestCase.java:176)
at
org.apache.ignite.testframework.junits.GridAbstractTest.runTestInternal(GridAbstractTest.java:1665)
at
org.apache.ignite.testframework.junits.GridAbstractTest.access$000(GridAbstractTest.java:111)
at
org.apache.ignite.testframework.junits.GridAbstractTest$6.run(GridAbstractTest.java:1603)
{noformat}
When this assert happens the muted collocated tests hang during cleanup with
the following stack trace:
{noformat}
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000ec7fbc98> (a
org.apache.ignite.internal.util.future.GridFutureAdapter$ChainFuture)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(AbstractQueuedSynchronizer.java:967)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(AbstractQueuedSynchronizer.java:1283)
at
org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:155)
at
org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:115)
at
org.apache.ignite.internal.processors.cache.GridCacheAdapter$50.op(GridCacheAdapter.java:2934)
at
org.apache.ignite.internal.processors.cache.GridCacheAdapter$50.op(GridCacheAdapter.java:2932)
at
org.apache.ignite.internal.processors.cache.GridCacheAdapter.syncOp(GridCacheAdapter.java:4093)
at
org.apache.ignite.internal.processors.cache.GridCacheAdapter.remove(GridCacheAdapter.java:2932)
at
org.apache.ignite.internal.processors.cache.IgniteCacheProxy.remove(IgniteCacheProxy.java:1113)
at
org.apache.ignite.internal.processors.cache.IgniteTxExceptionAbstractSelfTest.afterTest(IgniteTxExceptionAbstractSelfTest.java:121)
at
org.apache.ignite.testframework.junits.GridAbstractTest.tearDown(GridAbstractTest.java:1320)
at
org.apache.ignite.testframework.junits.common.GridCommonAbstractTest.tearDown(GridCommonAbstractTest.java:382)
{noformat}
According to Semen this is some know issue. So the rest of the tests will be
fixed later.
Current changes are merged to 1.4 branch.
> Revisit heuristic transaction failure handling
> ----------------------------------------------
>
> Key: IGNITE-257
> URL: https://issues.apache.org/jira/browse/IGNITE-257
> Project: Ignite
> Issue Type: Bug
> Components: cache
> Affects Versions: sprint-1
> Reporter: Alexey Goncharuk
> Assignee: Denis Magda
>
> Current tests assume that all transaction entries are invalidated, even
> though it is not always possible. Need to revisit heuristic exception
> handling logic.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)