[jira] [Commented] (IGNITE-4014) Transaction hangs if entry processor failed during serialization
[ https://issues.apache.org/jira/browse/IGNITE-4014?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15564736#comment-15564736 ] Semen Boikov commented on IGNITE-4014: -- Looks good. Thanks! > Transaction hangs if entry processor failed during serialization > > > Key: IGNITE-4014 > URL: https://issues.apache.org/jira/browse/IGNITE-4014 > Project: Ignite > Issue Type: Bug > Components: cache >Affects Versions: 1.7 >Reporter: Nikolay Tikhonov >Assignee: Nikolay Tikhonov > Attachments: CacheEntryProcessorExternalizableFailedTest.java > > > If entry processor implements Externalizable interface and inside of methods > writeTo() or readTo() throws exceptions then transaction hangs. > Hanged thread dump: > {code} > 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) > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (IGNITE-4014) Transaction hangs if entry processor failed during serialization
[ https://issues.apache.org/jira/browse/IGNITE-4014?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15562517#comment-15562517 ] Nikolay Tikhonov commented on IGNITE-4014: -- [~sboikov], Thank you for your review! I've added several methods into {{IgniteUtils}} class and replaced places where invokes {{Marshaller.marshal}} and {{Marshaller.unmarshal}}. > Transaction hangs if entry processor failed during serialization > > > Key: IGNITE-4014 > URL: https://issues.apache.org/jira/browse/IGNITE-4014 > Project: Ignite > Issue Type: Bug > Components: cache >Affects Versions: 1.7 >Reporter: Nikolay Tikhonov >Assignee: Nikolay Tikhonov > Attachments: CacheEntryProcessorExternalizableFailedTest.java > > > If entry processor implements Externalizable interface and inside of methods > writeTo() or readTo() throws exceptions then transaction hangs. > Hanged thread dump: > {code} > 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) > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (IGNITE-4014) Transaction hangs if entry processor failed during serialization
[ https://issues.apache.org/jira/browse/IGNITE-4014?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15549392#comment-15549392 ] Nikolay Tikhonov commented on IGNITE-4014: -- Fixed behaviour when exceptions which have been thrown from marshaller code not handled correctly. > Transaction hangs if entry processor failed during serialization > > > Key: IGNITE-4014 > URL: https://issues.apache.org/jira/browse/IGNITE-4014 > Project: Ignite > Issue Type: Bug > Components: cache >Affects Versions: 1.7 >Reporter: Nikolay Tikhonov >Assignee: Nikolay Tikhonov > Attachments: CacheEntryProcessorExternalizableFailedTest.java > > > If entry processor implements Externalizable interface and inside of methods > writeTo() or readTo() throws exceptions then transaction hangs. > Hanged thread dump: > {code} > 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) > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)