[ 
https://issues.apache.org/jira/browse/IGNITE-21411?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Denis Chudov updated IGNITE-21411:
----------------------------------
    Description: 
*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.

*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 this 
purpose.

  was:
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.

*Definition of done*

Any operations on the finished RO transactions are prohibited like it is done 
on RW transactions.


> 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.
> *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 this 
> purpose.



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

Reply via email to