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

Reply via email to