ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Valentin Kulichenko (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (IGNITE-2797) Prepare and finish future never time out
Date Thu, 17 Mar 2016 06:50:33 GMT

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

Valentin Kulichenko commented on IGNITE-2797:
---------------------------------------------

I also noticed a bug in timeout logic for optimistic transactions. In {{IgniteTxManager.lockMultiple(...)}}
method we calculate remaining time incorrectly (see line 1399):
{code}
long remainingTime = U.currentTimeMillis() - (tx.startTime() + tx.timeout());
{code}
In most cases this value will be below zero, and transactions will be rolled back right away
even with a long timeout. I'm attaching test that reproduces the issue ({{TxTest2.java}}).

> 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
>
>
> 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)

Mime
View raw message