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

 Kirill Sizov commented on IGNITE-21411:
----------------------------------------

It might be required to add some kind of a read only transaction enlistment to 
track RO transaction state. This task will be reevaluated once IGNITE-17666 and 
all linked tasks are completed.

> Prohibit operations on the finished RO transactions
> ---------------------------------------------------
>
>                 Key: IGNITE-21411
>                 URL: https://issues.apache.org/jira/browse/IGNITE-21411
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Denis Chudov
>            Priority: Major
>              Labels: ignite-3
>
> *Motivation*
> For now we don't have any mechanism in RO transactions implementation to 
> prohibit further gets/scans after finishing this transaction. In the same 
> time, the ReadOnlyTransactionImpl#finish method updates the observable 
> timestamp tracker which is necessary for implicit RO transactions, and 
> completes the RO tx future which unblocks the low watermark in order to move 
> it forward.
> Cursors that were opened within a transaction should be also closed, but this 
> is out of scope of this ticket, see IGNITE-21291.
> *Definition of done*
> Any operations on the finished RO transactions are prohibited like it is done 
> on RW transactions.
> *Implementation notes*
> RW-lock is used to check and prohibit enlists to RW transactions, something 
> more simple can be used for RO transactions. There is a 
> ReadOnlyTransactionImpl#finishGuard - it may appear to be enough for the 
> purpose of locking the transaction for new operations.



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

Reply via email to