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 8b705e01a1 IGNITE-22928 Fix testZoneReplicaListener (#4284)
8b705e01a1 is described below
commit 8b705e01a1aa3f600f208fafc2fdd07d5bbc603d
Author: Mikhail Efremov <[email protected]>
AuthorDate: Tue Aug 27 20:35:05 2024 +0600
IGNITE-22928 Fix testZoneReplicaListener (#4284)
---
.../replicator/ItReplicaLifecycleTest.java | 2 +-
.../replicator/utils/TestPlacementDriver.java | 21 +++++++++++++--------
2 files changed, 14 insertions(+), 9 deletions(-)
diff --git
a/modules/partition-replicator/src/integrationTest/java/org/apache/ignite/internal/partition/replicator/ItReplicaLifecycleTest.java
b/modules/partition-replicator/src/integrationTest/java/org/apache/ignite/internal/partition/replicator/ItReplicaLifecycleTest.java
index 1dfed72987..f2eadd5afe 100644
---
a/modules/partition-replicator/src/integrationTest/java/org/apache/ignite/internal/partition/replicator/ItReplicaLifecycleTest.java
+++
b/modules/partition-replicator/src/integrationTest/java/org/apache/ignite/internal/partition/replicator/ItReplicaLifecycleTest.java
@@ -209,6 +209,7 @@ import org.junit.jupiter.api.extension.ExtendWith;
*/
@ExtendWith({WorkDirectoryExtension.class, ConfigurationExtension.class})
@Timeout(60)
+@Disabled("https://issues.apache.org/jira/browse/IGNITE-23063")
// TODO: https://issues.apache.org/jira/browse/IGNITE-22522 remove this test
after the switching to zone-based replication
public class ItReplicaLifecycleTest extends BaseIgniteAbstractTest {
private static final IgniteLogger LOG =
Loggers.forClass(ItReplicaLifecycleTest.class);
@@ -360,7 +361,6 @@ public class ItReplicaLifecycleTest extends
BaseIgniteAbstractTest {
}
@Test
- @Disabled("https://issues.apache.org/jira/browse/IGNITE-22928")
public void testZoneReplicaListener(TestInfo testInfo) throws Exception {
startNodes(testInfo, 3);
diff --git
a/modules/partition-replicator/src/integrationTest/java/org/apache/ignite/internal/partition/replicator/utils/TestPlacementDriver.java
b/modules/partition-replicator/src/integrationTest/java/org/apache/ignite/internal/partition/replicator/utils/TestPlacementDriver.java
index fa70085543..e7a2cb4fd8 100644
---
a/modules/partition-replicator/src/integrationTest/java/org/apache/ignite/internal/partition/replicator/utils/TestPlacementDriver.java
+++
b/modules/partition-replicator/src/integrationTest/java/org/apache/ignite/internal/partition/replicator/utils/TestPlacementDriver.java
@@ -31,14 +31,16 @@ import
org.apache.ignite.internal.placementdriver.ReplicaMeta;
import org.apache.ignite.internal.placementdriver.event.PrimaryReplicaEvent;
import
org.apache.ignite.internal.placementdriver.event.PrimaryReplicaEventParameters;
import org.apache.ignite.internal.replicator.ReplicationGroupId;
+import org.apache.ignite.internal.replicator.ZonePartitionId;
import org.apache.ignite.network.ClusterNode;
/**
* Trivial placement driver for tests.
*/
// TODO: https://issues.apache.org/jira/browse/IGNITE-22522 remove this code
-public class TestPlacementDriver extends
AbstractEventProducer<PrimaryReplicaEvent, PrimaryReplicaEventParameters>
implements
- PlacementDriver {
+public class TestPlacementDriver extends
AbstractEventProducer<PrimaryReplicaEvent, PrimaryReplicaEventParameters>
+ implements PlacementDriver {
+ private static final int DEFAULT_ZONE_ID = 0;
private volatile ClusterNode primary;
@@ -54,18 +56,17 @@ public class TestPlacementDriver extends
AbstractEventProducer<PrimaryReplicaEve
@Override
public CompletableFuture<ReplicaMeta>
awaitPrimaryReplica(ReplicationGroupId groupId, HybridTimestamp timestamp, long
timeout,
TimeUnit unit) {
- return getPrimaryReplicaMeta();
+ return getPrimaryReplicaMeta(groupId);
}
@Override
public CompletableFuture<ReplicaMeta> getPrimaryReplica(ReplicationGroupId
replicationGroupId, HybridTimestamp timestamp) {
- return getPrimaryReplicaMeta();
+ return getPrimaryReplicaMeta(replicationGroupId);
}
@Override
- public ReplicaMeta getCurrentPrimaryReplica(ReplicationGroupId
replicationGroupId,
- HybridTimestamp timestamp) {
- return getPrimaryReplicaMeta().join();
+ public ReplicaMeta getCurrentPrimaryReplica(ReplicationGroupId
replicationGroupId, HybridTimestamp timestamp) {
+ return getPrimaryReplicaMeta(replicationGroupId).join();
}
@Override
@@ -81,7 +82,11 @@ public class TestPlacementDriver extends
AbstractEventProducer<PrimaryReplicaEve
return failedFuture(new
UnsupportedOperationException("getAssignments() is not supported in
FakePlacementDriver yet."));
}
- private CompletableFuture<ReplicaMeta> getPrimaryReplicaMeta() {
+ private CompletableFuture<ReplicaMeta>
getPrimaryReplicaMeta(ReplicationGroupId replicationGroupId) {
+ if (replicationGroupId instanceof ZonePartitionId &&
((ZonePartitionId) replicationGroupId).zoneId() == DEFAULT_ZONE_ID) {
+ return nullCompletedFuture();
+ }
+
if (primary == null) {
throw new IllegalStateException("Primary replica is not defined in
test PlacementDriver");
}