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