[
https://issues.apache.org/jira/browse/IGNITE-20779?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Denis Chudov updated IGNITE-20779:
----------------------------------
Summary: Transaction operation might throw no exception on enlisting
attempt, while transaction is in FINISHING state (was: Transaction operation
might throw no exception, but is not be considered)
> Transaction operation might throw no exception on enlisting attempt, while
> transaction is in FINISHING state
> ------------------------------------------------------------------------------------------------------------
>
> Key: IGNITE-20779
> URL: https://issues.apache.org/jira/browse/IGNITE-20779
> Project: Ignite
> Issue Type: Bug
> Reporter: Vladislav Pyatkov
> Priority: Major
> Labels: ignite-3
>
> h3. Motivation
> The well-known pattern is used in ReadWriteTransactionImpl#finish and
> ReadWriteTransactionImpl#enlist, but it is violated. The code checks the
> transaction state, but it does not always change under the write lock to the
> final state (COMMITED, ABORTED). In general, we can change the transaction
> state to final or FINISHING.
> h3. Implementation note
> # Add checking the FINISHING state to the method
> ReadWriteTransactionImpl#checkEnlistReady
> # Add checking the FINISHING state to the method
> ReadWriteTransactionImpl#finish
--
This message was sent by Atlassian Jira
(v8.20.10#820010)