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

Reply via email to