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]