You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by tk...@apache.org on 2025/06/27 09:06:24 UTC
(ignite-3) 01/02: IGNITE-25732 wip
This is an automated email from the ASF dual-hosted git repository.
tkalkirill pushed a commit to branch ignite-25732
in repository https://gitbox.apache.org/repos/asf/ignite-3.git
commit 96558b47385c2ce52d7ea63ccd7eaf37377a5c63
Author: Kirill Tkalenko <tk...@yandex.ru>
AuthorDate: Fri Jun 27 12:00:36 2025 +0300
IGNITE-25732 wip
---
.../handlers/TxFinishReplicaRequestHandler.java | 4 ++--
.../network/PartitionReplicationMessageGroup.java | 14 ++++++++---
.../network/command/FinishTxCommand.java | 10 +-------
...FinishTxCommand.java => FinishTxCommandV1.java} | 26 +++++++-------------
...FinishTxCommand.java => FinishTxCommandV2.java} | 20 ++++------------
.../replicator/raft/ZonePartitionRaftListener.java | 2 +-
.../raft/handlers/FinishTxCommandHandler.java | 28 +++++++++++++++++++++-
.../raft/ZonePartitionRaftListenerTest.java | 4 ++--
.../table/distributed/raft/PartitionListener.java | 14 ++++++++---
.../PartitionRaftCommandsSerializationTest.java | 9 +++----
.../raft/PartitionCommandListenerTest.java | 4 ++--
.../PartitionCommandsMarshallerImplTest.java | 8 +++----
12 files changed, 79 insertions(+), 64 deletions(-)
diff --git a/modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/handlers/TxFinishReplicaRequestHandler.java b/modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/handlers/TxFinishReplicaRequestHandler.java
index 01fa170cddd..b94048df146 100644
--- a/modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/handlers/TxFinishReplicaRequestHandler.java
+++ b/modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/handlers/TxFinishReplicaRequestHandler.java
@@ -44,7 +44,7 @@ import org.apache.ignite.internal.partition.replicator.ReliableCatalogVersions;
import org.apache.ignite.internal.partition.replicator.ReplicaTxFinishMarker;
import org.apache.ignite.internal.partition.replicator.ReplicationRaftCommandApplicator;
import org.apache.ignite.internal.partition.replicator.network.PartitionReplicationMessagesFactory;
-import org.apache.ignite.internal.partition.replicator.network.command.FinishTxCommandBuilder;
+import org.apache.ignite.internal.partition.replicator.network.command.FinishTxCommandV2Builder;
import org.apache.ignite.internal.partition.replicator.raft.UnexpectedTransactionStateException;
import org.apache.ignite.internal.partition.replicator.schema.ValidationSchemasSource;
import org.apache.ignite.internal.partition.replicator.schemacompat.CompatValidationResult;
@@ -316,7 +316,7 @@ public class TxFinishReplicaRequestHandler {
List<EnlistedPartitionGroupMessage> enlistedPartitions
) {
HybridTimestamp now = clockService.now();
- FinishTxCommandBuilder finishTxCmdBldr = PARTITION_REPLICATION_MESSAGES_FACTORY.finishTxCommand()
+ FinishTxCommandV2Builder finishTxCmdBldr = PARTITION_REPLICATION_MESSAGES_FACTORY.finishTxCommandV2()
.txId(transactionId)
.commit(commit)
.initiatorTime(now)
diff --git a/modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/network/PartitionReplicationMessageGroup.java b/modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/network/PartitionReplicationMessageGroup.java
index 5c5dd673a04..87373e7e836 100644
--- a/modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/network/PartitionReplicationMessageGroup.java
+++ b/modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/network/PartitionReplicationMessageGroup.java
@@ -22,7 +22,8 @@ import static org.apache.ignite.internal.partition.replicator.network.PartitionR
import org.apache.ignite.internal.network.annotations.MessageGroup;
import org.apache.ignite.internal.partition.replicator.network.command.BuildIndexCommand;
import org.apache.ignite.internal.partition.replicator.network.command.BuildIndexCommandV2;
-import org.apache.ignite.internal.partition.replicator.network.command.FinishTxCommand;
+import org.apache.ignite.internal.partition.replicator.network.command.FinishTxCommandV1;
+import org.apache.ignite.internal.partition.replicator.network.command.FinishTxCommandV2;
import org.apache.ignite.internal.partition.replicator.network.command.TimedBinaryRowMessage;
import org.apache.ignite.internal.partition.replicator.network.command.UpdateAllCommand;
import org.apache.ignite.internal.partition.replicator.network.command.UpdateAllCommandV2;
@@ -220,8 +221,12 @@ public interface PartitionReplicationMessageGroup {
* <p>NOTE: Commands must be immutable because they will be stored in the replication log.</p>
*/
interface Commands {
- /** Message type for {@link FinishTxCommand}. */
- short FINISH_TX = 40;
+ /**
+ * Message type for {@link FinishTxCommandV1}.
+ *
+ * @see #FINISH_TX_V2
+ */
+ short FINISH_TX_V1 = 40;
/**
* Message type for {@link WriteIntentSwitchCommand} for non-collocated distribution zones.
@@ -265,6 +270,9 @@ public interface PartitionReplicationMessageGroup {
/** Message type for {@link BuildIndexCommandV2}. */
short BUILD_INDEX_V2 = 49;
+
+ /** Message type for {@link FinishTxCommandV2}. */
+ short FINISH_TX_V2 = 50;
}
/**
diff --git a/modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/network/command/FinishTxCommand.java b/modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/network/command/FinishTxCommand.java
index 8f57a4212b6..d698c4ee08d 100644
--- a/modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/network/command/FinishTxCommand.java
+++ b/modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/network/command/FinishTxCommand.java
@@ -17,17 +17,12 @@
package org.apache.ignite.internal.partition.replicator.network.command;
-import java.util.List;
import org.apache.ignite.internal.hlc.HybridTimestamp;
-import org.apache.ignite.internal.network.annotations.Transferable;
-import org.apache.ignite.internal.partition.replicator.network.PartitionReplicationMessageGroup;
-import org.apache.ignite.internal.tx.message.EnlistedPartitionGroupMessage;
import org.jetbrains.annotations.Nullable;
/**
- * State machine command to finish a transaction on a commit or a rollback.
+ * Base state machine command to finish a transaction on a commit or a rollback.
*/
-@Transferable(PartitionReplicationMessageGroup.Commands.FINISH_TX)
public interface FinishTxCommand extends PartitionCommand {
/**
* Returns a commit or a rollback state.
@@ -36,7 +31,4 @@ public interface FinishTxCommand extends PartitionCommand {
/** Transaction commit timestamp. */
@Nullable HybridTimestamp commitTimestamp();
-
- /** Returns ordered partitions. */
- List<EnlistedPartitionGroupMessage> partitions();
}
diff --git a/modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/network/command/FinishTxCommand.java b/modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/network/command/FinishTxCommandV1.java
similarity index 60%
copy from modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/network/command/FinishTxCommand.java
copy to modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/network/command/FinishTxCommandV1.java
index 8f57a4212b6..b01b603b2c6 100644
--- a/modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/network/command/FinishTxCommand.java
+++ b/modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/network/command/FinishTxCommandV1.java
@@ -18,25 +18,17 @@
package org.apache.ignite.internal.partition.replicator.network.command;
import java.util.List;
-import org.apache.ignite.internal.hlc.HybridTimestamp;
import org.apache.ignite.internal.network.annotations.Transferable;
-import org.apache.ignite.internal.partition.replicator.network.PartitionReplicationMessageGroup;
-import org.apache.ignite.internal.tx.message.EnlistedPartitionGroupMessage;
-import org.jetbrains.annotations.Nullable;
+import org.apache.ignite.internal.partition.replicator.network.PartitionReplicationMessageGroup.Commands;
+import org.apache.ignite.internal.replicator.message.TablePartitionIdMessage;
/**
- * State machine command to finish a transaction on a commit or a rollback.
+ * Extension of {@link FinishTxCommand} with old fields to support backward compatibility.
+ *
+ * <p>This command is replaced with {@link FinishTxCommandV2} and only exists in the source code for backward compatibility.</p>
*/
-@Transferable(PartitionReplicationMessageGroup.Commands.FINISH_TX)
-public interface FinishTxCommand extends PartitionCommand {
- /**
- * Returns a commit or a rollback state.
- */
- boolean commit();
-
- /** Transaction commit timestamp. */
- @Nullable HybridTimestamp commitTimestamp();
-
- /** Returns ordered partitions. */
- List<EnlistedPartitionGroupMessage> partitions();
+@Transferable(Commands.FINISH_TX_V1)
+public interface FinishTxCommandV1 extends FinishTxCommand {
+ /** Returns ordered replication groups IDs. */
+ List<TablePartitionIdMessage> partitionIds();
}
diff --git a/modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/network/command/FinishTxCommand.java b/modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/network/command/FinishTxCommandV2.java
similarity index 69%
copy from modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/network/command/FinishTxCommand.java
copy to modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/network/command/FinishTxCommandV2.java
index 8f57a4212b6..32d1c6818c8 100644
--- a/modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/network/command/FinishTxCommand.java
+++ b/modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/network/command/FinishTxCommandV2.java
@@ -18,25 +18,13 @@
package org.apache.ignite.internal.partition.replicator.network.command;
import java.util.List;
-import org.apache.ignite.internal.hlc.HybridTimestamp;
import org.apache.ignite.internal.network.annotations.Transferable;
-import org.apache.ignite.internal.partition.replicator.network.PartitionReplicationMessageGroup;
+import org.apache.ignite.internal.partition.replicator.network.PartitionReplicationMessageGroup.Commands;
import org.apache.ignite.internal.tx.message.EnlistedPartitionGroupMessage;
-import org.jetbrains.annotations.Nullable;
-
-/**
- * State machine command to finish a transaction on a commit or a rollback.
- */
-@Transferable(PartitionReplicationMessageGroup.Commands.FINISH_TX)
-public interface FinishTxCommand extends PartitionCommand {
- /**
- * Returns a commit or a rollback state.
- */
- boolean commit();
-
- /** Transaction commit timestamp. */
- @Nullable HybridTimestamp commitTimestamp();
+/** Extension of {@link FinishTxCommand} with new fields to support backward compatibility. */
+@Transferable(Commands.FINISH_TX_V2)
+public interface FinishTxCommandV2 extends FinishTxCommand {
/** Returns ordered partitions. */
List<EnlistedPartitionGroupMessage> partitions();
}
diff --git a/modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/raft/ZonePartitionRaftListener.java b/modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/raft/ZonePartitionRaftListener.java
index 4e969cda8e1..27a3609d4d0 100644
--- a/modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/raft/ZonePartitionRaftListener.java
+++ b/modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/raft/ZonePartitionRaftListener.java
@@ -133,7 +133,7 @@ public class ZonePartitionRaftListener implements RaftGroupListener {
this.commandHandlers = new CommandHandlers.Builder()
.addHandler(
PartitionReplicationMessageGroup.GROUP_TYPE,
- Commands.FINISH_TX,
+ Commands.FINISH_TX_V2,
new FinishTxCommandHandler(txStatePartitionStorage, zonePartitionId, txManager))
.addHandler(
PartitionReplicationMessageGroup.GROUP_TYPE,
diff --git a/modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/raft/handlers/FinishTxCommandHandler.java b/modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/raft/handlers/FinishTxCommandHandler.java
index e505a52f45a..69b808de47d 100644
--- a/modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/raft/handlers/FinishTxCommandHandler.java
+++ b/modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/raft/handlers/FinishTxCommandHandler.java
@@ -29,6 +29,8 @@ import org.apache.ignite.internal.lang.IgniteInternalException;
import org.apache.ignite.internal.logger.IgniteLogger;
import org.apache.ignite.internal.logger.Loggers;
import org.apache.ignite.internal.partition.replicator.network.command.FinishTxCommand;
+import org.apache.ignite.internal.partition.replicator.network.command.FinishTxCommandV1;
+import org.apache.ignite.internal.partition.replicator.network.command.FinishTxCommandV2;
import org.apache.ignite.internal.partition.replicator.raft.CommandResult;
import org.apache.ignite.internal.partition.replicator.raft.RaftTxFinishMarker;
import org.apache.ignite.internal.partition.replicator.raft.UnexpectedTransactionStateException;
@@ -71,6 +73,15 @@ public class FinishTxCommandHandler extends AbstractCommandHandler<FinishTxComma
long commandIndex,
long commandTerm,
@Nullable HybridTimestamp safeTimestamp
+ ) throws IgniteInternalException {
+ return handleInternally(command, commandIndex, commandTerm, enlistedPartitions(command));
+ }
+
+ private CommandResult handleInternally(
+ FinishTxCommand command,
+ long commandIndex,
+ long commandTerm,
+ List<EnlistedPartitionGroup> enlistedPartitions
) throws IgniteInternalException {
// Skips the write command because the storage has already executed it.
if (commandIndex <= txStatePartitionStorage.lastAppliedIndex()) {
@@ -83,7 +94,7 @@ public class FinishTxCommandHandler extends AbstractCommandHandler<FinishTxComma
TxMeta txMetaToSet = new TxMeta(
stateToSet,
- fromPartitionMessages(command.partitions()),
+ enlistedPartitions,
command.commitTimestamp()
);
@@ -140,4 +151,19 @@ public class FinishTxCommandHandler extends AbstractCommandHandler<FinishTxComma
throw stateChangeException;
}
+
+ private static List<EnlistedPartitionGroup> enlistedPartitions(FinishTxCommand command) {
+ if (command instanceof FinishTxCommandV2) {
+ return fromPartitionMessages(((FinishTxCommandV2) command).partitions());
+ } else if (command instanceof FinishTxCommandV1) {
+ return enlistedPartitions((FinishTxCommandV1) command);
+ }
+
+ throw new IllegalArgumentException("Unknown command: " + command);
+ }
+
+ private static List<EnlistedPartitionGroup> enlistedPartitions(FinishTxCommandV1 command) {
+ // TODO: IGNITE-25732 доедалть
+ return List.of();
+ }
}
diff --git a/modules/partition-replicator/src/test/java/org/apache/ignite/internal/partition/replicator/raft/ZonePartitionRaftListenerTest.java b/modules/partition-replicator/src/test/java/org/apache/ignite/internal/partition/replicator/raft/ZonePartitionRaftListenerTest.java
index 6b3a9344079..7d7ede21872 100644
--- a/modules/partition-replicator/src/test/java/org/apache/ignite/internal/partition/replicator/raft/ZonePartitionRaftListenerTest.java
+++ b/modules/partition-replicator/src/test/java/org/apache/ignite/internal/partition/replicator/raft/ZonePartitionRaftListenerTest.java
@@ -451,7 +451,7 @@ class ZonePartitionRaftListenerTest extends BaseIgniteAbstractTest {
FinishTxCommand finishTxCommand = mock(FinishTxCommand.class);
when(finishTxCommand.groupType()).thenReturn(PartitionReplicationMessageGroup.GROUP_TYPE);
- when(finishTxCommand.messageType()).thenReturn(Commands.FINISH_TX);
+ when(finishTxCommand.messageType()).thenReturn(Commands.FINISH_TX_V2);
PrimaryReplicaChangeCommand primaryReplicaChangeCommand = mock(PrimaryReplicaChangeCommand.class);
@@ -499,7 +499,7 @@ class ZonePartitionRaftListenerTest extends BaseIgniteAbstractTest {
void updatesLastAppliedForFinishTxCommands() {
safeTimeTracker.update(clock.now(), null);
- FinishTxCommand command = PARTITION_REPLICATION_MESSAGES_FACTORY.finishTxCommand()
+ FinishTxCommand command = PARTITION_REPLICATION_MESSAGES_FACTORY.finishTxCommandV2()
.txId(TestTransactionIds.newTransactionId())
.initiatorTime(clock.now())
.partitions(List.of())
diff --git a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/raft/PartitionListener.java b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/raft/PartitionListener.java
index d81549a8e20..da83a602324 100644
--- a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/raft/PartitionListener.java
+++ b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/raft/PartitionListener.java
@@ -21,7 +21,8 @@ import static java.lang.Math.max;
import static org.apache.ignite.internal.hlc.HybridTimestamp.NULL_HYBRID_TIMESTAMP;
import static org.apache.ignite.internal.partition.replicator.network.PartitionReplicationMessageGroup.Commands.BUILD_INDEX_V1;
import static org.apache.ignite.internal.partition.replicator.network.PartitionReplicationMessageGroup.Commands.BUILD_INDEX_V2;
-import static org.apache.ignite.internal.partition.replicator.network.PartitionReplicationMessageGroup.Commands.FINISH_TX;
+import static org.apache.ignite.internal.partition.replicator.network.PartitionReplicationMessageGroup.Commands.FINISH_TX_V1;
+import static org.apache.ignite.internal.partition.replicator.network.PartitionReplicationMessageGroup.Commands.FINISH_TX_V2;
import static org.apache.ignite.internal.partition.replicator.network.PartitionReplicationMessageGroup.Commands.UPDATE_MINIMUM_ACTIVE_TX_TIME_COMMAND;
import static org.apache.ignite.internal.partition.replicator.network.PartitionReplicationMessageGroup.GROUP_TYPE;
import static org.apache.ignite.internal.partition.replicator.raft.CommandResult.EMPTY_APPLIED_RESULT;
@@ -208,8 +209,15 @@ public class PartitionListener implements RaftGroupListener, RaftTableProcessor
if (!nodeProperties.colocationEnabled()) {
commandHandlersBuilder.addHandler(
GROUP_TYPE,
- FINISH_TX,
- new FinishTxCommandHandler(txStatePartitionStorage, tablePartitionId, txManager));
+ FINISH_TX_V1,
+ new FinishTxCommandHandler(txStatePartitionStorage, tablePartitionId, txManager)
+ );
+
+ commandHandlersBuilder.addHandler(
+ GROUP_TYPE,
+ FINISH_TX_V2,
+ new FinishTxCommandHandler(txStatePartitionStorage, tablePartitionId, txManager)
+ );
commandHandlersBuilder.addHandler(
TxMessageGroup.GROUP_TYPE,
diff --git a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/command/PartitionRaftCommandsSerializationTest.java b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/command/PartitionRaftCommandsSerializationTest.java
index 4841ab3cfd6..9601883cb39 100644
--- a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/command/PartitionRaftCommandsSerializationTest.java
+++ b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/command/PartitionRaftCommandsSerializationTest.java
@@ -36,6 +36,7 @@ import org.apache.ignite.internal.hlc.HybridTimestamp;
import org.apache.ignite.internal.partition.replicator.network.PartitionReplicationMessageGroup;
import org.apache.ignite.internal.partition.replicator.network.PartitionReplicationMessagesFactory;
import org.apache.ignite.internal.partition.replicator.network.command.FinishTxCommand;
+import org.apache.ignite.internal.partition.replicator.network.command.FinishTxCommandV2;
import org.apache.ignite.internal.partition.replicator.network.command.TimedBinaryRowMessage;
import org.apache.ignite.internal.partition.replicator.network.command.UpdateAllCommand;
import org.apache.ignite.internal.partition.replicator.network.command.UpdateAllCommandV2;
@@ -256,7 +257,7 @@ public class PartitionRaftCommandsSerializationTest extends IgniteAbstractTest {
.build());
}
- FinishTxCommand cmd = PARTITION_REPLICATION_MESSAGES_FACTORY.finishTxCommand()
+ FinishTxCommand cmd = PARTITION_REPLICATION_MESSAGES_FACTORY.finishTxCommandV2()
.txId(UUID.randomUUID())
.commit(true)
.commitTimestamp(clock.now())
@@ -281,10 +282,10 @@ public class PartitionRaftCommandsSerializationTest extends IgniteAbstractTest {
private <T extends Command> T copyCommand(T cmd) {
assertEquals(PartitionReplicationMessageGroup.GROUP_TYPE, cmd.groupType());
- if (cmd instanceof FinishTxCommand) {
- FinishTxCommand finishTxCommand = (FinishTxCommand) cmd;
+ if (cmd instanceof FinishTxCommandV2) {
+ FinishTxCommandV2 finishTxCommand = (FinishTxCommandV2) cmd;
- return (T) PARTITION_REPLICATION_MESSAGES_FACTORY.finishTxCommand()
+ return (T) PARTITION_REPLICATION_MESSAGES_FACTORY.finishTxCommandV2()
.txId(finishTxCommand.txId())
.commit(finishTxCommand.commit())
.partitions(finishTxCommand.partitions())
diff --git a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/raft/PartitionCommandListenerTest.java b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/raft/PartitionCommandListenerTest.java
index ccf7df5cf24..1f3ebd40a63 100644
--- a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/raft/PartitionCommandListenerTest.java
+++ b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/raft/PartitionCommandListenerTest.java
@@ -428,7 +428,7 @@ public class PartitionCommandListenerTest extends BaseIgniteAbstractTest {
SafeTimeSyncCommand safeTimeSyncCommand = mock(SafeTimeSyncCommand.class);
FinishTxCommand finishTxCommand = mock(FinishTxCommand.class);
when(finishTxCommand.groupType()).thenReturn(PartitionReplicationMessageGroup.GROUP_TYPE);
- when(finishTxCommand.messageType()).thenReturn(Commands.FINISH_TX);
+ when(finishTxCommand.messageType()).thenReturn(Commands.FINISH_TX_V2);
PrimaryReplicaChangeCommand primaryReplicaChangeCommand = mock(PrimaryReplicaChangeCommand.class);
@@ -639,7 +639,7 @@ public class PartitionCommandListenerTest extends BaseIgniteAbstractTest {
void updatesLastAppliedForFinishTxCommands() {
safeTimeTracker.update(hybridClock.now(), null);
- FinishTxCommand command = PARTITION_REPLICATION_MESSAGES_FACTORY.finishTxCommand()
+ FinishTxCommand command = PARTITION_REPLICATION_MESSAGES_FACTORY.finishTxCommandV2()
.txId(TestTransactionIds.newTransactionId())
.initiatorTime(hybridClock.now())
.partitions(List.of())
diff --git a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/schema/PartitionCommandsMarshallerImplTest.java b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/schema/PartitionCommandsMarshallerImplTest.java
index 3b309ab8d1e..81ab12949ac 100644
--- a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/schema/PartitionCommandsMarshallerImplTest.java
+++ b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/schema/PartitionCommandsMarshallerImplTest.java
@@ -33,7 +33,7 @@ import org.apache.ignite.internal.network.serialization.MessageSerializationRegi
import org.apache.ignite.internal.partition.replicator.network.PartitionReplicationMessageGroup;
import org.apache.ignite.internal.partition.replicator.network.PartitionReplicationMessagesFactory;
import org.apache.ignite.internal.partition.replicator.network.command.FinishTxCommand;
-import org.apache.ignite.internal.partition.replicator.network.command.FinishTxCommandSerializationFactory;
+import org.apache.ignite.internal.partition.replicator.network.command.FinishTxCommandV2SerializationFactory;
import org.apache.ignite.internal.raft.util.OptimizedMarshaller;
import org.apache.ignite.internal.replicator.command.SafeTimeSyncCommand;
import org.apache.ignite.internal.replicator.command.SafeTimeSyncCommandSerializationFactory;
@@ -51,8 +51,8 @@ class PartitionCommandsMarshallerImplTest {
// For a command that has required catalog version property.
registry.registerFactory(
PartitionReplicationMessageGroup.GROUP_TYPE,
- PartitionReplicationMessageGroup.Commands.FINISH_TX,
- new FinishTxCommandSerializationFactory(tableMessagesFactory)
+ PartitionReplicationMessageGroup.Commands.FINISH_TX_V2,
+ new FinishTxCommandV2SerializationFactory(tableMessagesFactory)
);
// For a command that does not have required catalog version property.
@@ -98,7 +98,7 @@ class PartitionCommandsMarshallerImplTest {
private FinishTxCommand commandWithRequiredCatalogVersion(int requiredCatalogVersion) {
long time = System.currentTimeMillis();
- return tableMessagesFactory.finishTxCommand()
+ return tableMessagesFactory.finishTxCommandV2()
.txId(UUID.randomUUID())
.partitions(List.of())
.initiatorTime(HybridTimestamp.hybridTimestamp(time))