Vladislav Pyatkov created IGNITE-21290:
------------------------------------------

             Summary: Scan cursors do not close after being fully read in 
transactions
                 Key: IGNITE-21290
                 URL: https://issues.apache.org/jira/browse/IGNITE-21290
             Project: Ignite
          Issue Type: Bug
            Reporter: Vladislav Pyatkov


h3. Motivation
Open cursors require extra memory on the server side, so they should be closed 
as soon as they are no longer used. It is easy to understand on the coursor 
owner server when the coursor returns false for the hasNext invocation.
Despite the fact that all acquired transaction resources should be released 
after the transaction finalizes, it would be better to close usles coursorse 
faseter. Moreover, the agreement is fit for all types of transactions: RO, RW, 
and inplicit.


h3. Implementation notes
A course can be closed after the _isUpperBoundAchieved_ return is false.
Cover all variant scan operations in tests.
Get rid of the nonsensical message: _ScanCloseReplicaRequest_

h3. Definition of done
A cursor is closed on the server side when the client retrieves all data from 
it through any type of scan operation.



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

Reply via email to