Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-7313

Recovery process doesn't propagate MVCC version

    XMLWordPrintableJSON

Details

    • Task
    • Status: Resolved
    • Major
    • Resolution: Duplicate
    • None
    • 2.7
    • cache, mvcc
    • None

    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

          Activity

            People

              gvvinblade Igor Seliverstov
              vozerov Vladimir Ozerov
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: