Description
Reproducer: IgnitePdsContinuousRestartTest.testRebalancingDuringLoad_8000_8000_8_16
Root cause: MVCC version is not passed during recovery process, as a result we cannot commit transaction properly.
Stack trace:
[2017-12-26 17:44:03,011][ERROR][sys-stripe-5-#216%persistence.IgnitePdsContinuousRestartTest3%][G] Failed to execute runnable. java.lang.AssertionError: Mvcc is not initialized: GridDhtTxRemote [nearNodeId=5213f13a-541e-41e0-ac30-c0cdc9d00000, rmtFutId=ea4b6a39061-cf384028-0bcb-46d8-92e1-3c898390d074, nearXidVer=GridCacheVersion [topVer=125779403, order=1514300484265, nodeOrder=1], storeWriteThrough=false, super=GridDistributedTxRemoteAdapter [explicitVers=null, started=true, commitAllowed=1, txState=IgniteTxRemoteStateImpl [readMap={}, writeMap={IgniteTxKey [key=KeyCacheObjectImpl [part=113, val=2545, hasValBytes=true], cacheId=-1368047377]=IgniteTxEntry [key=KeyCacheObjectImpl [part=113, val=2545, hasValBytes=true], cacheId=-1368047377, txKey=IgniteTxKey [key=KeyCacheObjectImpl [part=113, val=2545, hasValBytes=true], cacheId=-1368047377], val=[op=CREATE, val=CacheObjectImpl [val=null, hasValBytes=true]], prevVal=[op=NOOP, val=null], oldVal=[op=NOOP, val=null], entryProcessorsCol=null, ttl=-1, conflictExpireTime=-1, conflictVer=null, explicitVer=null, dhtVer=null, filters=[], filtersPassed=false, filtersSet=false, entry=GridDhtCacheEntry [rdrs=[], part=113, super=GridDistributedCacheEntry [super=GridCacheMapEntry [key=KeyCacheObjectImpl [part=113, val=2545, hasValBytes=true], val=CacheObjectImpl [val=null, hasValBytes=true], startVer=1514300484409, ver=GridCacheVersion [topVer=125779403, order=1514300455870, nodeOrder=2], hash=2545, extras=GridCacheMvccEntryExtras [mvcc=GridCacheMvcc [locs=null, rmts=[GridCacheMvccCandidate [nodeId=91bcaf65-b816-41e9-a74e-ca58c8200001, ver=GridCacheVersion [topVer=125779403, order=1514300484266, nodeOrder=2], threadId=285, id=1158826, topVer=AffinityTopologyVersion [topVer=-1, minorTopVer=0], reentry=null, otherNodeId=5213f13a-541e-41e0-ac30-c0cdc9d00000, otherVer=null, mappedDhtNodes=null, mappedNearNodes=null, ownerVer=null, serOrder=null, key=KeyCacheObjectImpl [part=113, val=2545, hasValBytes=true], masks=local=0|owner=1|ready=0|reentry=0|used=1|tx=1|single_implicit=0|dht_local=0|near_local=0|removed=0|read=0, prevVer=null, nextVer=null]]]], flags=2]]], prepared=1, locked=false, nodeId=null, locMapped=false, expiryPlc=null, transferExpiryPlc=false, flags=0, partUpdateCntr=0, serReadVer=null, xidVer=null], IgniteTxKey [key=KeyCacheObjectImpl [part=17, val=3089, hasValBytes=true], cacheId=-1368047377]=IgniteTxEntry [key=KeyCacheObjectImpl [part=17, val=3089, hasValBytes=true], cacheId=-1368047377, txKey=IgniteTxKey [key=KeyCacheObjectImpl [part=17, val=3089, hasValBytes=true], cacheId=-1368047377], val=[op=CREATE, val=CacheObjectImpl [val=null, hasValBytes=true]], prevVal=[op=NOOP, val=null], oldVal=[op=NOOP, val=null], entryProcessorsCol=null, ttl=-1, conflictExpireTime=-1, conflictVer=null, explicitVer=null, dhtVer=null, filters=[], filtersPassed=false, filtersSet=false, entry=GridDhtCacheEntry [rdrs=[], part=17, super=GridDistributedCacheEntry [super=GridCacheMapEntry [key=KeyCacheObjectImpl [part=17, val=3089, hasValBytes=true], val=CacheObjectImpl [val=null, hasValBytes=true], startVer=1514300484410, ver=GridCacheVersion [topVer=125779403, order=1514300459131, nodeOrder=2], hash=3089, extras=GridCacheMvccEntryExtras [mvcc=GridCacheMvcc [locs=null, rmts=[GridCacheMvccCandidate [nodeId=91bcaf65-b816-41e9-a74e-ca58c8200001, ver=GridCacheVersion [topVer=125779403, order=1514300484266, nodeOrder=2], threadId=285, id=1158827, topVer=AffinityTopologyVersion [topVer=-1, minorTopVer=0], reentry=null, otherNodeId=5213f13a-541e-41e0-ac30-c0cdc9d00000, otherVer=null, mappedDhtNodes=null, mappedNearNodes=null, ownerVer=null, serOrder=null, key=KeyCacheObjectImpl [part=17, val=3089, hasValBytes=true], masks=local=0|owner=1|ready=0|reentry=0|used=1|tx=1|single_implicit=0|dht_local=0|near_local=0|removed=0|read=0, prevVer=null, nextVer=null]]]], flags=2]]], prepared=1, locked=false, nodeId=null, locMapped=false, expiryPlc=null, transferExpiryPlc=false, flags=0, partUpdateCntr=0, serReadVer=null, xidVer=null], IgniteTxKey [key=KeyCacheObjectImpl [part=35, val=5155, hasValBytes=true], cacheId=-1368047377]=IgniteTxEntry [key=KeyCacheObjectImpl [part=35, val=5155, hasValBytes=true], cacheId=-1368047377, txKey=IgniteTxKey [key=KeyCacheObjectImpl [part=35, val=5155, hasValBytes=true], cacheId=-1368047377], val=[op=CREATE, val=CacheObjectImpl [val=null, hasValBytes=true]], prevVal=[op=NOOP, val=null], oldVal=[op=NOOP, val=null], entryProcessorsCol=null, ttl=-1, conflictExpireTime=-1, conflictVer=null, explicitVer=null, dhtVer=null, filters=[], filtersPassed=false, filtersSet=false, entry=GridDhtCacheEntry [rdrs=[], part=35, super=GridDistributedCacheEntry [super=GridCacheMapEntry [key=KeyCacheObjectImpl [part=35, val=5155, hasValBytes=true], val=CacheObjectImpl [val=null, hasValBytes=true], startVer=1514300484411, ver=GridCacheVersion [topVer=125779403, order=1514300450383, nodeOrder=2], hash=5155, extras=GridCacheMvccEntryExtras [mvcc=GridCacheMvcc [locs=null, rmts=[GridCacheMvccCandidate [nodeId=91bcaf65-b816-41e9-a74e-ca58c8200001, ver=GridCacheVersion [topVer=125779403, order=1514300484266, nodeOrder=2], threadId=285, id=1158828, topVer=AffinityTopologyVersion [topVer=-1, minorTopVer=0], reentry=null, otherNodeId=5213f13a-541e-41e0-ac30-c0cdc9d00000, otherVer=null, mappedDhtNodes=null, mappedNearNodes=null, ownerVer=null, serOrder=null, key=KeyCacheObjectImpl [part=35, val=5155, hasValBytes=true], masks=local=0|owner=1|ready=0|reentry=0|used=1|tx=1|single_implicit=0|dht_local=0|near_local=0|removed=0|read=0, prevVer=null, nextVer=null]]]], flags=2]]], prepared=1, locked=false, nodeId=null, locMapped=false, expiryPlc=null, transferExpiryPlc=false, flags=0, partUpdateCntr=0, serReadVer=null, xidVer=null]}], super=IgniteTxAdapter [xidVer=GridCacheVersion [topVer=125779403, order=1514300484266, nodeOrder=2], writeVer=GridCacheVersion [topVer=125779403, order=1514300484390, nodeOrder=2], implicit=false, loc=false, threadId=285, startTime=1514299442060, nodeId=91bcaf65-b816-41e9-a74e-ca58c8200001, startVer=GridCacheVersion [topVer=125779403, order=1514300484408, nodeOrder=6], endVer=null, isolation=READ_COMMITTED, concurrency=OPTIMISTIC, timeout=0, sysInvalidate=false, sys=false, plc=2, commitVer=null, finalizing=RECOVERY_FINISH, invalidParts=null, state=COMMITTING, timedOut=false, topVer=AffinityTopologyVersion [topVer=6, minorTopVer=1], duration=888ms, onePhaseCommit=false]]] at org.apache.ignite.internal.processors.cache.distributed.GridDistributedTxRemoteAdapter.commitIfLocked(GridDistributedTxRemoteAdapter.java:477) at org.apache.ignite.internal.processors.cache.distributed.GridDistributedTxRemoteAdapter.commitRemoteTx(GridDistributedTxRemoteAdapter.java:805) at org.apache.ignite.internal.processors.cache.distributed.GridDistributedTxRemoteAdapter.commitAsync(GridDistributedTxRemoteAdapter.java:820) at org.apache.ignite.internal.processors.cache.transactions.IgniteTxManager.finishTxOnRecovery(IgniteTxManager.java:1981) at org.apache.ignite.internal.processors.cache.distributed.GridCacheTxRecoveryFuture.onDone(GridCacheTxRecoveryFuture.java:501) at org.apache.ignite.internal.processors.cache.distributed.GridCacheTxRecoveryFuture.onDone(GridCacheTxRecoveryFuture.java:51) at org.apache.ignite.internal.util.future.GridFutureAdapter.onDone(GridFutureAdapter.java:451) at org.apache.ignite.internal.util.future.GridCompoundFuture.checkComplete(GridCompoundFuture.java:285) at org.apache.ignite.internal.util.future.GridCompoundFuture.apply(GridCompoundFuture.java:144) at org.apache.ignite.internal.util.future.GridCompoundFuture.apply(GridCompoundFuture.java:45) at org.apache.ignite.internal.util.future.GridFutureAdapter.notifyListener(GridFutureAdapter.java:383) at org.apache.ignite.internal.util.future.GridFutureAdapter.unblock(GridFutureAdapter.java:347) at org.apache.ignite.internal.util.future.GridFutureAdapter.unblockAll(GridFutureAdapter.java:335) at org.apache.ignite.internal.util.future.GridFutureAdapter.onDone(GridFutureAdapter.java:495) at org.apache.ignite.internal.util.future.GridFutureAdapter.onDone(GridFutureAdapter.java:474) at org.apache.ignite.internal.util.future.GridFutureAdapter.onDone(GridFutureAdapter.java:451) at org.apache.ignite.internal.processors.cache.distributed.GridCacheTxRecoveryFuture$MiniFuture.onResult(GridCacheTxRecoveryFuture.java:616) at org.apache.ignite.internal.processors.cache.distributed.GridCacheTxRecoveryFuture$MiniFuture.access$700(GridCacheTxRecoveryFuture.java:548) at org.apache.ignite.internal.processors.cache.distributed.GridCacheTxRecoveryFuture.onResult(GridCacheTxRecoveryFuture.java:398) at org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.processCheckPreparedTxResponse(IgniteTxHandler.java:1908) at org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler$11.apply(IgniteTxHandler.java:239) at org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler$11.apply(IgniteTxHandler.java:237) at org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1060) at org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:579) at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:378) at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:304) at org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:99) at org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:293) at org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1567) at org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1195) at org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:128) at org.apache.ignite.internal.managers.communication.GridIoManager$9.run(GridIoManager.java:1092) at org.apache.ignite.internal.util.StripedExecutor$Stripe.run(StripedExecutor.java:499) at java.lang.Thread.run(Thread.java:748)
Attachments
Issue Links
- duplicates
-
IGNITE-5935 MVCC TX: Tx recovery protocol
- Resolved
- Is contained by
-
IGNITE-4191 SQL: support transactions
- Resolved