denis-chudov commented on code in PR #6611:
URL: https://github.com/apache/ignite-3/pull/6611#discussion_r2382496060


##########
modules/table/src/main/java/org/apache/ignite/internal/table/distributed/storage/InternalTableImpl.java:
##########
@@ -2146,7 +2146,7 @@ public void onRequestBegin() {
 
         @Override
         public void onRequestEnd() {
-            transactionInflights.removeInflight(txId);
+            // No-op.

Review Comment:
   The reason of adding the inflights to RO txns is to have the correct cleanup 
of resources (cursors). Consider this (no inflights case):
   - there are nodes A and B, A is coordinator of RO txn, an SQL fragment is 
sent to B to open cursor there;
   - A reads some data, sending ScanRetrieveBatchReplicaRequests to B;
   - txn on A is finished and FinishedTransactionsBatchMessage is sent to B;
   - B closes the cursor;
   - PartitionReplicaListener on B receives another 
ScanRetrieveBatchReplicaRequest and opens cursor again, this cursor will never 
be closed.
   
   While having inflights, A will send FinishedTransactionsBatchMessage only 
when all ScanRetrieveBatchReplicaRequests that have been sent are processed on 
B.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to