This is an automated email from the ASF dual-hosted git repository. sanpwc 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 3ecc2831af IGNITE-21503 Fix ItRebalanceDistributedTest#testRebalanceWithTheSameNodes (#3194) 3ecc2831af is described below commit 3ecc2831afd80418d15d14ef9e680ffe031a35bd Author: Alexander Lapin <lapin1...@gmail.com> AuthorDate: Fri Feb 9 16:39:57 2024 +0200 IGNITE-21503 Fix ItRebalanceDistributedTest#testRebalanceWithTheSameNodes (#3194) --- .../internal/rebalance/ItRebalanceDistributedTest.java | 12 +++++------- .../distributed/replicator/PartitionReplicaListener.java | 2 +- .../org/apache/ignite/internal/table/TxAbstractTest.java | 13 +++++++++++-- .../org/apache/ignite/internal/tx/impl/TxManagerImpl.java | 15 ++++++++------- 4 files changed, 25 insertions(+), 17 deletions(-) diff --git a/modules/table/src/integrationTest/java/org/apache/ignite/internal/rebalance/ItRebalanceDistributedTest.java b/modules/table/src/integrationTest/java/org/apache/ignite/internal/rebalance/ItRebalanceDistributedTest.java index c5671db508..d3ac1d1001 100644 --- a/modules/table/src/integrationTest/java/org/apache/ignite/internal/rebalance/ItRebalanceDistributedTest.java +++ b/modules/table/src/integrationTest/java/org/apache/ignite/internal/rebalance/ItRebalanceDistributedTest.java @@ -51,7 +51,6 @@ import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.timeout; -import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import java.io.IOException; @@ -304,7 +303,7 @@ public class ItRebalanceDistributedTest extends BaseIgniteAbstractTest { return logicalTopologyFuture.join().nodes().size() == NODE_COUNT; }, - 10_000 + AWAIT_TIMEOUT_MILLIS )); } @@ -766,11 +765,10 @@ public class ItRebalanceDistributedTest extends BaseIgniteAbstractTest { private void verifyThatRaftNodesAndReplicasWereStartedOnlyOnce() throws Exception { for (int i = 0; i < NODE_COUNT; i++) { - verify( - getNode(i).raftManager, - times(1)).startRaftGroupNodeWithoutService(any(), any(), any(), any(), any(RaftGroupOptions.class) - ); - verify(getNode(i).replicaManager, times(1)).startReplica(any(), any(), any(), any(), any()); + verify(getNode(i).raftManager, timeout(AWAIT_TIMEOUT_MILLIS).times(1)) + .startRaftGroupNodeWithoutService(any(), any(), any(), any(), any(RaftGroupOptions.class)); + verify(getNode(i).replicaManager, timeout(AWAIT_TIMEOUT_MILLIS).times(1)) + .startReplica(any(), any(), any(), any(), any()); } } diff --git a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/replicator/PartitionReplicaListener.java b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/replicator/PartitionReplicaListener.java index d756276491..5a5007737d 100644 --- a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/replicator/PartitionReplicaListener.java +++ b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/replicator/PartitionReplicaListener.java @@ -3328,7 +3328,7 @@ public class PartitionReplicaListener implements ReplicaListener { localNode.name(), null, localNode.id(), - primaryReplicaMeta.getLeaseholderId(), + null, enlistmentConsistencyToken, null, null diff --git a/modules/table/src/testFixtures/java/org/apache/ignite/internal/table/TxAbstractTest.java b/modules/table/src/testFixtures/java/org/apache/ignite/internal/table/TxAbstractTest.java index 4bd4cd0476..d56a8ea2c9 100644 --- a/modules/table/src/testFixtures/java/org/apache/ignite/internal/table/TxAbstractTest.java +++ b/modules/table/src/testFixtures/java/org/apache/ignite/internal/table/TxAbstractTest.java @@ -434,8 +434,11 @@ public abstract class TxAbstractTest extends IgniteAbstractTest { public void testDeleteUpsertAllRollback() throws TransactionException { deleteUpsertAll().rollback(); - assertEquals(100., accounts.recordView().get(null, makeKey(1)).doubleValue("balance")); - assertEquals(100., accounts.recordView().get(null, makeKey(2)).doubleValue("balance")); + var res1 = accounts.recordView().get(null, makeKey(1)); + assertEquals(100., res1.doubleValue("balance"), "tuple =[" + res1 + "]"); + + var res2 = accounts.recordView().get(null, makeKey(2)); + assertEquals(100., res2.doubleValue("balance"), "tuple =[" + res2 + "]"); } private InternalTransaction deleteUpsertAll() { @@ -445,6 +448,12 @@ public abstract class TxAbstractTest extends IgniteAbstractTest { accounts.recordView().upsertAll(null, tuples); + var res1 = accounts.recordView().get(null, makeKey(1)); + assertEquals(100., res1.doubleValue("balance"), "tuple =[" + res1 + "]"); + + var res2 = accounts.recordView().get(null, makeKey(2)); + assertEquals(100., res2.doubleValue("balance"), "tuple =[" + res2 + "]"); + InternalTransaction tx = (InternalTransaction) igniteTransactions.begin(); tuples.clear(); diff --git a/modules/transactions/src/main/java/org/apache/ignite/internal/tx/impl/TxManagerImpl.java b/modules/transactions/src/main/java/org/apache/ignite/internal/tx/impl/TxManagerImpl.java index 26d4f1c9ab..fe450b2b5c 100644 --- a/modules/transactions/src/main/java/org/apache/ignite/internal/tx/impl/TxManagerImpl.java +++ b/modules/transactions/src/main/java/org/apache/ignite/internal/tx/impl/TxManagerImpl.java @@ -162,11 +162,12 @@ public class TxManagerImpl implements TxManager, NetworkMessageHandler { * TODO: IGNITE-21440 Implement transaction metrics. */ private final AtomicInteger startedTxs = new AtomicInteger(); + /** - * Total number of fixed transaction. + * Total number of finished transaction. * TODO: IGNITE-21440 Implement transaction metrics. */ - private final AtomicInteger fixedTxs = new AtomicInteger(); + private final AtomicInteger finishedTxs = new AtomicInteger(); /** Busy lock to stop synchronously. */ @@ -366,7 +367,7 @@ public class TxManagerImpl implements TxManager, NetworkMessageHandler { public void finishFull(HybridTimestampTracker timestampTracker, UUID txId, boolean commit) { TxState finalState; - fixedTxs.incrementAndGet(); + finishedTxs.incrementAndGet(); if (commit) { timestampTracker.update(clock.now()); @@ -395,7 +396,7 @@ public class TxManagerImpl implements TxManager, NetworkMessageHandler { ) { LOG.debug("Finish [commit={}, txId={}, groups={}].", commitIntent, txId, enlistedGroups); - fixedTxs.incrementAndGet(); + finishedTxs.incrementAndGet(); assert enlistedGroups != null; @@ -657,12 +658,12 @@ public class TxManagerImpl implements TxManager, NetworkMessageHandler { @Override public int finished() { - return fixedTxs.get(); + return finishedTxs.get(); } @Override public int pending() { - return startedTxs.get() - fixedTxs.get(); + return startedTxs.get() - finishedTxs.get(); } @Override @@ -734,7 +735,7 @@ public class TxManagerImpl implements TxManager, NetworkMessageHandler { } CompletableFuture<Void> completeReadOnlyTransactionFuture(TxIdAndTimestamp txIdAndTimestamp) { - fixedTxs.incrementAndGet(); + finishedTxs.incrementAndGet(); CompletableFuture<Void> readOnlyTxFuture = readOnlyTxFutureById.remove(txIdAndTimestamp);