[
https://issues.apache.org/jira/browse/IGNITE-4014?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nikolay Tikhonov updated IGNITE-4014:
-------------------------------------
Description:
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}
was:
If entry processor implements Externalizable interface and inside of methods
writeTo() or readTo() throws exceptions then transaction hangs.
Hanged thread dump:
{code}
Thread
[name="test-runner-#217%continuous.CacheEntryProcessorExternalizableFailedTest%",
id=275, state=WAITING, blockCnt=0, waitCnt=6]
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}
> 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
>
> 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)