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

Transaction hangs if entry processor failed during serialization

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.7
    • None
    • cache
    • None
    • Important

    Description

      If entry processor implements Externalizable interface and inside of methods writeTo() or readTo() throws exceptions then transaction hangs.

      Hanged thread dump:

          Lock [object=o.a.i.i.processors.cache.distributed.near.GridNearTxFinishFuture@2575e80b, ownerName=null, ownerId=-1]
              at sun.misc.Unsafe.park(Native Method)
              at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
              at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834)
              at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(AbstractQueuedSynchronizer.java:964)
              at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(AbstractQueuedSynchronizer.java:1282)
              at o.a.i.i.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:157)
              at o.a.i.i.util.future.GridFutureAdapter.get(GridFutureAdapter.java:117)
              at o.a.i.i.processors.cache.distributed.dht.GridDhtTxLocalAdapter.rollback(GridDhtTxLocalAdapter.java:859)
              at o.a.i.i.processors.cache.transactions.IgniteTxAdapter.close(IgniteTxAdapter.java:903)
              at o.a.i.i.processors.cache.distributed.near.GridNearTxLocal.close(GridNearTxLocal.java:1306)
              at o.a.i.i.processors.cache.GridCacheSharedContext.endTx(GridCacheSharedContext.java:720)
              at o.a.i.i.processors.cache.transactions.TransactionProxyImpl.close(TransactionProxyImpl.java:276)
              at o.a.i.i.processors.cache.query.continuous.CacheEntryProcessorExternalizableFailedTest.doTestInvokeTest(CacheEntryProcessorExternalizableFailedTest.java:327)
              at o.a.i.i.processors.cache.query.continuous.CacheEntryProcessorExternalizableFailedTest.testOptimisticOnePhaseCommitFullSync(CacheEntryProcessorExternalizableFailedTest.java:233)
              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 o.a.i.testframework.junits.GridAbstractTest.runTestInternal(GridAbstractTest.java:1760)
              at o.a.i.testframework.junits.GridAbstractTest.access$000(GridAbstractTest.java:118)
              at o.a.i.testframework.junits.GridAbstractTest$4.run(GridAbstractTest.java:1698)
              at java.lang.Thread.run(Thread.java:745)
      

      Attachments

        Activity

          People

            ntikhonov Nikolay Tikhonov
            ntikhonov Nikolay Tikhonov
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: