[
https://issues.apache.org/jira/browse/IGNITE-27411?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Denis Chudov updated IGNITE-27411:
----------------------------------
Description:
In some cases user may get something like this:
{code:java}
SQL query execution error Transaction is already finished
txId=[019b212c-5d7b-0000-399b-326d00000001, txState=FINISHING]{code}
*Scenario:*
* in case of transaction exception, post-enlist will rollback the transaction
on coordinator;
* transaction is transitioned into state FINISHING, rollback is in progress;
* parallel request (sql, data streamer, etc.) can't be made because of
finishing state and instantly fails with "Transaction is already finished"
exception, which is passed to the user and the original exception that caused
rollback is lost.
*Possible solution:*
in case of finishing state we should wait for completion of finish future. The
tx meta with final state should contain the information about original
exception (see IGNITE-27386 ), and this exception should be passed to the user.
was:
In some cases user may get something like this:
{code:java}
SQL query execution error Transaction is already finished
txId=[019b212c-5d7b-0000-399b-326d00000001, txState=FINISHING]{code}
*Scenario:*
* in case of transaction exception, post-enlist will rollback the transaction
on coordinator;
* transaction is transitioned into state FINISHING, rollback is in progress;
* parallel request (sql, data streamer, etc.) can't be made because of
finishing state and instantly fails with "Transaction is already finished"
exception, which is passed to the user and the original exception that caused
rollback is lost.
*Possible solution:*
in case of finishing state we should wait for completion of finish future. The
tx meta with final state should contain the information about original
exception (see IGNITE-27386 ), and this exception should be passed to the user.
> Transaction exception may be lost for user
> ------------------------------------------
>
> Key: IGNITE-27411
> URL: https://issues.apache.org/jira/browse/IGNITE-27411
> Project: Ignite
> Issue Type: Bug
> Reporter: Denis Chudov
> Priority: Major
> Labels: ignite-3
>
> In some cases user may get something like this:
> {code:java}
> SQL query execution error Transaction is already finished
> txId=[019b212c-5d7b-0000-399b-326d00000001, txState=FINISHING]{code}
> *Scenario:*
> * in case of transaction exception, post-enlist will rollback the
> transaction on coordinator;
> * transaction is transitioned into state FINISHING, rollback is in progress;
> * parallel request (sql, data streamer, etc.) can't be made because of
> finishing state and instantly fails with "Transaction is already finished"
> exception, which is passed to the user and the original exception that caused
> rollback is lost.
> *Possible solution:*
> in case of finishing state we should wait for completion of finish future.
> The tx meta with final state should contain the information about original
> exception (see IGNITE-27386 ), and this exception should be passed to the
> user.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)