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