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);
}
});
}