You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ap...@apache.org on 2025/04/11 11:56:10 UTC
(ignite-3) branch main updated: IGNITE-25100 Fix flaky ItZoneTxFinishTest (#5609)
This is an automated email from the ASF dual-hosted git repository.
apolovtsev 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 adab5247d94 IGNITE-25100 Fix flaky ItZoneTxFinishTest (#5609)
adab5247d94 is described below
commit adab5247d94e37ce63ca5af51c60601a4b7bad33
Author: Alexander Polovtcev <al...@gmail.com>
AuthorDate: Fri Apr 11 14:56:04 2025 +0300
IGNITE-25100 Fix flaky ItZoneTxFinishTest (#5609)
---
.../partition/replicator/ItTransactionsVacuumTest.java | 3 ++-
.../internal/partition/replicator/ItZoneTxFinishTest.java | 14 +++++++-------
.../internal/partition/replicator/fixtures/Node.java | 2 +-
.../replicator/PartitionReplicaLifecycleManager.java | 4 ++--
4 files changed, 12 insertions(+), 11 deletions(-)
diff --git a/modules/partition-replicator/src/integrationTest/java/org/apache/ignite/internal/partition/replicator/ItTransactionsVacuumTest.java b/modules/partition-replicator/src/integrationTest/java/org/apache/ignite/internal/partition/replicator/ItTransactionsVacuumTest.java
index cdebe744153..991331c6007 100644
--- a/modules/partition-replicator/src/integrationTest/java/org/apache/ignite/internal/partition/replicator/ItTransactionsVacuumTest.java
+++ b/modules/partition-replicator/src/integrationTest/java/org/apache/ignite/internal/partition/replicator/ItTransactionsVacuumTest.java
@@ -17,6 +17,7 @@
package org.apache.ignite.internal.partition.replicator;
+import static java.util.Objects.requireNonNull;
import static org.apache.ignite.internal.TestWrappers.unwrapIgniteTransaction;
import static org.apache.ignite.internal.testframework.IgniteTestUtils.waitForCondition;
import static org.apache.ignite.internal.tx.impl.ResourceVacuumManager.RESOURCE_VACUUM_INTERVAL_MILLISECONDS_PROPERTY;
@@ -115,7 +116,7 @@ public class ItTransactionsVacuumTest extends ItAbstractColocationTest {
* @return Transaction meta.
*/
private static TransactionMeta persistentTxState(Node node, int zoneId, int partId, UUID txId) {
- return IgniteTestUtils.bypassingThreadAssertions(() -> node.txStatePartitionStorage(zoneId, partId).get(txId));
+ return IgniteTestUtils.bypassingThreadAssertions(() -> requireNonNull(node.txStatePartitionStorage(zoneId, partId)).get(txId));
}
/**
diff --git a/modules/partition-replicator/src/integrationTest/java/org/apache/ignite/internal/partition/replicator/ItZoneTxFinishTest.java b/modules/partition-replicator/src/integrationTest/java/org/apache/ignite/internal/partition/replicator/ItZoneTxFinishTest.java
index 5bc2f7a185c..dffe20f2486 100644
--- a/modules/partition-replicator/src/integrationTest/java/org/apache/ignite/internal/partition/replicator/ItZoneTxFinishTest.java
+++ b/modules/partition-replicator/src/integrationTest/java/org/apache/ignite/internal/partition/replicator/ItZoneTxFinishTest.java
@@ -17,6 +17,7 @@
package org.apache.ignite.internal.partition.replicator;
+import static java.util.Objects.requireNonNull;
import static java.util.concurrent.TimeUnit.SECONDS;
import static java.util.stream.Collectors.toList;
import static org.apache.ignite.internal.TestWrappers.unwrapTableImpl;
@@ -69,8 +70,6 @@ class ItZoneTxFinishTest extends AbstractZoneReplicationTest {
int tableId1 = createTable(TEST_ZONE_NAME, TEST_TABLE_NAME1);
int tableId2 = createTable(TEST_ZONE_NAME, TEST_TABLE_NAME2);
- var zonePartitionId = new ZonePartitionId(zoneId, 0);
-
Node node = cluster.get(0);
KeyValueView<Integer, Integer> kvView1 = node.tableManager.table(TEST_TABLE_NAME1).keyValueView(Integer.class, Integer.class);
@@ -86,10 +85,11 @@ class ItZoneTxFinishTest extends AbstractZoneReplicationTest {
}
for (Node currentNode : cluster) {
- assertTrue(waitForCondition(
- () -> !txStatesInPartitionStorage(currentNode.txStatePartitionStorage(zoneId, 0)).isEmpty(),
- SECONDS.toMillis(10)
- ));
+ assertTrue(waitForCondition(() -> {
+ TxStatePartitionStorage txStorage = currentNode.txStatePartitionStorage(zoneId, 0);
+
+ return txStorage != null && !txStatesInPartitionStorage(txStorage).isEmpty();
+ }, SECONDS.toMillis(10)));
}
List<Executable> assertions = new ArrayList<>();
@@ -99,7 +99,7 @@ class ItZoneTxFinishTest extends AbstractZoneReplicationTest {
assertions.add(() -> assertTxStateStorageAsExpected(
"Node " + finalI + " zone",
- currentNode.txStatePartitionStorage(zoneId, 0),
+ requireNonNull(currentNode.txStatePartitionStorage(zoneId, 0)),
1,
commit
));
diff --git a/modules/partition-replicator/src/integrationTest/java/org/apache/ignite/internal/partition/replicator/fixtures/Node.java b/modules/partition-replicator/src/integrationTest/java/org/apache/ignite/internal/partition/replicator/fixtures/Node.java
index e79bb817618..ab98769cbc0 100644
--- a/modules/partition-replicator/src/integrationTest/java/org/apache/ignite/internal/partition/replicator/fixtures/Node.java
+++ b/modules/partition-replicator/src/integrationTest/java/org/apache/ignite/internal/partition/replicator/fixtures/Node.java
@@ -947,7 +947,7 @@ public class Node {
}
}
- public TxStatePartitionStorage txStatePartitionStorage(int zoneId, int partitionId) {
+ public @Nullable TxStatePartitionStorage txStatePartitionStorage(int zoneId, int partitionId) {
return partitionReplicaLifecycleManager.txStatePartitionStorage(zoneId, partitionId);
}
diff --git a/modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/PartitionReplicaLifecycleManager.java b/modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/PartitionReplicaLifecycleManager.java
index e0ce0569674..dd8adce8777 100644
--- a/modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/PartitionReplicaLifecycleManager.java
+++ b/modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/PartitionReplicaLifecycleManager.java
@@ -1592,8 +1592,8 @@ public class PartitionReplicaLifecycleManager extends
}
@TestOnly
- public TxStatePartitionStorage txStatePartitionStorage(int zoneId, int partitionId) {
- return requireNonNull(zoneResourcesManager.txStatePartitionStorage(zoneId, partitionId));
+ public @Nullable TxStatePartitionStorage txStatePartitionStorage(int zoneId, int partitionId) {
+ return zoneResourcesManager.txStatePartitionStorage(zoneId, partitionId);
}
@TestOnly