This is an automated email from the ASF dual-hosted git repository.

vpyatkov pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


The following commit(s) were added to refs/heads/main by this push:
     new 78a976b112 IGNITE-22335 Add assertion in async 
TxCleanupMessageResponse handler (#3855)
78a976b112 is described below

commit 78a976b1129ab2039b1f1bc1e006a932a93cc293
Author: Cyrill <[email protected]>
AuthorDate: Fri May 31 17:12:39 2024 +0300

    IGNITE-22335 Add assertion in async TxCleanupMessageResponse handler (#3855)
---
 .../internal/tx/impl/TxCleanupRequestSender.java     | 20 +++++++-------------
 1 file changed, 7 insertions(+), 13 deletions(-)

diff --git 
a/modules/transactions/src/main/java/org/apache/ignite/internal/tx/impl/TxCleanupRequestSender.java
 
b/modules/transactions/src/main/java/org/apache/ignite/internal/tx/impl/TxCleanupRequestSender.java
index 3e434e9b28..e617d111f1 100644
--- 
a/modules/transactions/src/main/java/org/apache/ignite/internal/tx/impl/TxCleanupRequestSender.java
+++ 
b/modules/transactions/src/main/java/org/apache/ignite/internal/tx/impl/TxCleanupRequestSender.java
@@ -32,8 +32,6 @@ import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 import org.apache.ignite.internal.hlc.HybridTimestamp;
-import org.apache.ignite.internal.logger.IgniteLogger;
-import org.apache.ignite.internal.logger.Loggers;
 import org.apache.ignite.internal.replicator.ReplicationGroupId;
 import org.apache.ignite.internal.replicator.TablePartitionId;
 import org.apache.ignite.internal.tx.TxState;
@@ -50,9 +48,6 @@ import org.jetbrains.annotations.Nullable;
  * Sends TX Cleanup request.
  */
 public class TxCleanupRequestSender {
-    /** Logger. */
-    private static final IgniteLogger LOG = 
Loggers.forClass(TxCleanupRequestSender.class);
-
     /** Placement driver helper. */
     private final PlacementDriverHelper placementDriverHelper;
 
@@ -86,18 +81,17 @@ public class TxCleanupRequestSender {
      */
     public void start() {
         
txMessageSender.messagingService().addMessageHandler(TxMessageGroup.class, 
(msg, sender, correlationId) -> {
+            // correlationId == null means we get the second 
TxCleanupMessageResponse
+            // that gets sent when cleanup is replicated to the majority.
             if (msg instanceof TxCleanupMessageResponse && correlationId == 
null) {
-                CleanupReplicatedInfo result = ((TxCleanupMessageResponse) 
msg).result();
+                // The cleanup response is sent only in the success case, 
hence no error is expected.
+                assert !(msg instanceof TxCleanupMessageErrorResponse) : 
"Cleanup error response is not expected here.";
 
-                if (result != null) {
-                    onCleanupReplicated(result);
-                }
+                CleanupReplicatedInfo result = ((TxCleanupMessageResponse) 
msg).result();
 
-                if (msg instanceof TxCleanupMessageErrorResponse) {
-                    TxCleanupMessageErrorResponse response = 
(TxCleanupMessageErrorResponse) msg;
+                assert result != null : "Result for the cleanup response 
cannot be null.";
 
-                    LOG.warn("Exception happened during transaction cleanup 
[txId={}].", response.throwable(), response.txId());
-                }
+                onCleanupReplicated(result);
             }
         });
     }

Reply via email to