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

Vladislav Pyatkov commented on IGNITE-23980:
--------------------------------------------

Merged edc8066db31299a1f74bee7f5c097ecc015657ad

> Fail operations in completed RO transaction
> -------------------------------------------
>
>                 Key: IGNITE-23980
>                 URL: https://issues.apache.org/jira/browse/IGNITE-23980
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Roman Puchkovskiy
>            Assignee: Denis Chudov
>            Priority: Major
>              Labels: ignite-3
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> h3. Motivation
> We should not execute any operation if the transaction is finished. It is 
> true for RW transactions, but RO can be used after their state has been 
> finalized. Dispite internla transaction state is final 
> ({_}ReadOnlyTransactionImpl#finishGuard == true{_}) we do not check it in 
> operation (look into {_}InternalTableImpl#get(key, tx){_}).
> Any operation cannot be processed for a committed/rolled-back RW transaction 
> because we are checking the transaction state during enlist 
> ({_}ReadWriteTransactionImpl#enlist(){_}).
> h3. Definition of done
>  * We have to have similar behavior for RO as for RW.
>  * We ought to exclude process KV operations (get/getAll) in 
> committed/rolled-back RO in the single thread case at least.
>  * We need to reject SQL operations in committed/rolled-back RO.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to