[ 
https://issues.apache.org/jira/browse/IGNITE-2559?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15425278#comment-15425278
 ] 

Nikolay Tikhonov commented on IGNITE-2559:
------------------------------------------

Thank you for your review. I've fixed your notes except second. In case one 
phase commit we won't send finish request to near node. In current behavior 
that we're sending finish request on near node for OPC when only have near 
cache (GridNearTxFinishFuture#needFinishOnePhase). If remove the condition then 
hangs {{#testPessimisticOnePhaseCommitFullSync}} and 
{{#testPessimisticOnePhaseCommit}} tests.

> Transaction hangs if entry processor is not serializable
> --------------------------------------------------------
>
>                 Key: IGNITE-2559
>                 URL: https://issues.apache.org/jira/browse/IGNITE-2559
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Valentin Kulichenko
>            Assignee: Nikolay Tikhonov
>            Priority: Critical
>             Fix For: 1.8
>
>         Attachments: TxTest.java
>
>
> Test attached.
> If entry processor doesn't implement {{Serializable}}, the exception is 
> thrown, but transaction hangs forever. If you try to join more nodes after 
> this happens, they will not be able to do this as well.
> Hanged thread dump:
> {noformat}
> "main" #1 prio=5 os_prio=31 tid=0x00007f8b65800000 nid=0x1703 waiting on 
> condition [0x0000700000218000]
>    java.lang.Thread.State: WAITING (parking)
>       at sun.misc.Unsafe.park(Native Method)
>       - parking to wait for  <0x000000076ca274f8> (a 
> org.apache.ignite.internal.util.future.GridEmbeddedFuture)
>       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
>       at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
>       at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(AbstractQueuedSynchronizer.java:967)
>       at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(AbstractQueuedSynchronizer.java:1283)
>       at 
> org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:157)
>       at 
> org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:117)
>       at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter$24.op(GridCacheAdapter.java:2296)
>       at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter$24.op(GridCacheAdapter.java:2283)
>       at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.syncOp(GridCacheAdapter.java:4291)
>       at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.invoke0(GridCacheAdapter.java:2283)
>       at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.invoke(GridCacheAdapter.java:2261)
>       at 
> org.apache.ignite.internal.processors.cache.IgniteCacheProxy.invoke(IgniteCacheProxy.java:1518)
>       at TxTest.main(TxTest.java:27)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:483)
>       at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to