Cyrill commented on code in PR #2679:
URL: https://github.com/apache/ignite-3/pull/2679#discussion_r1362093603
##########
modules/table/src/main/java/org/apache/ignite/internal/table/distributed/replicator/PartitionReplicaListener.java:
##########
@@ -3016,13 +3062,19 @@ private void scheduleTransactionRowAsyncCleanup(UUID
txId, RowId rowId, Transact
// Both normal cleanup and single row cleanup are using
txsPendingRowIds map to store write intents.
// So we don't need a separate method to handle single row case.
- txManager.executeCleanupAsync(() ->
- inBusyLock(busyLock, () ->
storageUpdateHandler.handleTransactionCleanup(txId, txState == COMMITED,
commitTimestamp))
- ).exceptionally(e -> {
- LOG.warn("Failed to complete transaction cleanup command [txId=" +
txId + ']', e);
+ CompletableFuture<?> future = rowCleanupMap.compute(rowId, (k, v) -> {
+ CompletableFuture<Void> rowCleanup =
txManager.executeCleanupAsync(() ->
+ inBusyLock(busyLock, () ->
storageUpdateHandler.handleTransactionCleanup(txId, txState == COMMITED,
commitTimestamp))
+ ).exceptionally(e -> {
+ LOG.warn("Failed to complete transaction cleanup command
[txId=" + txId + ']', e);
Review Comment:
Changed this part
--
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]