[
https://issues.apache.org/jira/browse/IGNITE-2797?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15201441#comment-15201441
]
Andrey Gura commented on IGNITE-2797:
-------------------------------------
Found on more place where lock can be created without timeout despite
transaction has timeout. It is {{IgniteTxLocalAdapter.putAsync0()}} method.
May be we should throw {{IgniteTxTimeoutCheckedException}} from all places
where {{remainingTime()}} or {{lockTimeout()}} methods invoke.
> Prepare and finish future never time out
> ----------------------------------------
>
> Key: IGNITE-2797
> URL: https://issues.apache.org/jira/browse/IGNITE-2797
> Project: Ignite
> Issue Type: Bug
> Components: cache
> Affects Versions: 1.5.0.final
> Reporter: Valentin Kulichenko
> Priority: Blocker
> Labels: community, customer, important
> Fix For: 1.6
>
> Attachments: TxTest2.java
>
>
> Even if transaction timeout is configured, transaction will not timeout if
> it's already in prepare state. It will be shown in log as pending transaction
> and can cause the whole cluster hang.
> We need to add a mechanism that will properly timeout prepare and (if
> possible) finish futures.
> Also we can create an event that will be fired if there is a transaction
> pending for a long time, showing which nodes we are waiting responses from.
> This will allow user to recover by stopping only these nodes instead of
> restarting the whole cluster.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)