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 43beb0e42d IGNITE-19343 Some of DistributionZoneAwaitDataNodesTest are 
enabled. (#2059)
43beb0e42d is described below

commit 43beb0e42ddfd2d3486cb6645c1f5b8a5ec39678
Author: Sergey Uttsel <[email protected]>
AuthorDate: Mon May 15 15:17:58 2023 +0300

    IGNITE-19343 Some of DistributionZoneAwaitDataNodesTest are enabled. (#2059)
    
    DistributedConfigurationStorage is used in BaseDistributionZoneManagerTest 
to fix an issue when metaStorageManager and zonesConfiguration use different 
storage and have different storage revisions.
---
 .../ignite/internal/baseline/BaselineManager.java  |   2 +-
 modules/distribution-zones/build.gradle            |   1 +
 .../distributionzones/DistributionZoneManager.java |   2 +-
 .../BaseDistributionZoneManagerTest.java           |  23 +-
 .../DistributionZoneAwaitDataNodesTest.java        | 162 ++++++---
 .../DistributionZoneManagerScaleUpTest.java        | 372 +++++++++++----------
 6 files changed, 326 insertions(+), 236 deletions(-)

diff --git 
a/modules/baseline/src/main/java/org/apache/ignite/internal/baseline/BaselineManager.java
 
b/modules/baseline/src/main/java/org/apache/ignite/internal/baseline/BaselineManager.java
index 6410bde415..a91ac69b71 100644
--- 
a/modules/baseline/src/main/java/org/apache/ignite/internal/baseline/BaselineManager.java
+++ 
b/modules/baseline/src/main/java/org/apache/ignite/internal/baseline/BaselineManager.java
@@ -28,7 +28,7 @@ import org.apache.ignite.network.ClusterService;
  * Baseline manager is responsible for handling baseline related logic.
  */
 // TODO: IGNITE-14586 Remove @SuppressWarnings when implementation provided.
-// TODO: https://issues.apache.org/jira/browse/IGNITE-18624
+// TODO: https://issues.apache.org/jira/browse/IGNITE-19425
 @SuppressWarnings({"FieldCanBeLocal", "unused"})
 public class BaselineManager implements IgniteComponent {
     /** Configuration manager in order to handle and listen baseline specific 
configuration. */
diff --git a/modules/distribution-zones/build.gradle 
b/modules/distribution-zones/build.gradle
index bea134fd09..9219929c8c 100644
--- a/modules/distribution-zones/build.gradle
+++ b/modules/distribution-zones/build.gradle
@@ -51,6 +51,7 @@ dependencies {
     testImplementation project(':ignite-network-api')
     testImplementation project(':ignite-metastorage-api')
     testImplementation project(':ignite-metastorage')
+    testImplementation project(':ignite-runner')
 
     testImplementation(testFixtures(project(':ignite-core')))
     testImplementation(testFixtures(project(':ignite-configuration')))
diff --git 
a/modules/distribution-zones/src/main/java/org/apache/ignite/internal/distributionzones/DistributionZoneManager.java
 
b/modules/distribution-zones/src/main/java/org/apache/ignite/internal/distributionzones/DistributionZoneManager.java
index b01a53ab29..594bfe3d21 100644
--- 
a/modules/distribution-zones/src/main/java/org/apache/ignite/internal/distributionzones/DistributionZoneManager.java
+++ 
b/modules/distribution-zones/src/main/java/org/apache/ignite/internal/distributionzones/DistributionZoneManager.java
@@ -311,7 +311,7 @@ public class DistributionZoneManager implements 
IgniteComponent {
      * Creates a new distribution zone with the given {@code name} 
asynchronously.
      *
      * @param distributionZoneCfg Distribution zone configuration.
-     * @return Future representing pending completion of the operation. Future 
can be completed with:
+     * @return Future with the id of the zone. Future can be completed with:
      *      {@link DistributionZoneAlreadyExistsException} if a zone with the 
given name already exists,
      *      {@link ConfigurationValidationException} if {@code 
distributionZoneCfg} is broken,
      *      {@link IllegalArgumentException} if distribution zone 
configuration is null
diff --git 
a/modules/distribution-zones/src/test/java/org/apache/ignite/internal/distributionzones/BaseDistributionZoneManagerTest.java
 
b/modules/distribution-zones/src/test/java/org/apache/ignite/internal/distributionzones/BaseDistributionZoneManagerTest.java
index d22e389390..b2d536e116 100644
--- 
a/modules/distribution-zones/src/test/java/org/apache/ignite/internal/distributionzones/BaseDistributionZoneManagerTest.java
+++ 
b/modules/distribution-zones/src/test/java/org/apache/ignite/internal/distributionzones/BaseDistributionZoneManagerTest.java
@@ -25,12 +25,17 @@ import static org.mockito.Mockito.when;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
+import java.util.Set;
 import 
org.apache.ignite.internal.cluster.management.ClusterManagementGroupManager;
 import org.apache.ignite.internal.cluster.management.raft.ClusterStateStorage;
 import 
org.apache.ignite.internal.cluster.management.raft.TestClusterStateStorage;
 import org.apache.ignite.internal.cluster.management.topology.LogicalTopology;
 import 
org.apache.ignite.internal.cluster.management.topology.LogicalTopologyImpl;
 import 
org.apache.ignite.internal.cluster.management.topology.LogicalTopologyServiceImpl;
+import org.apache.ignite.internal.configuration.ConfigurationManager;
+import org.apache.ignite.internal.configuration.ConfigurationRegistry;
+import org.apache.ignite.internal.configuration.storage.ConfigurationStorage;
+import 
org.apache.ignite.internal.configuration.storage.DistributedConfigurationStorage;
 import 
org.apache.ignite.internal.configuration.testframework.ConfigurationExtension;
 import 
org.apache.ignite.internal.configuration.testframework.InjectConfiguration;
 import 
org.apache.ignite.internal.distributionzones.configuration.DistributionZonesConfiguration;
@@ -39,6 +44,7 @@ import 
org.apache.ignite.internal.metastorage.MetaStorageManager;
 import 
org.apache.ignite.internal.metastorage.impl.StandaloneMetaStorageManager;
 import 
org.apache.ignite.internal.metastorage.server.SimpleInMemoryKeyValueStorage;
 import org.apache.ignite.internal.schema.configuration.TablesConfiguration;
+import 
org.apache.ignite.internal.storage.impl.TestPersistStorageConfigurationSchema;
 import org.apache.ignite.internal.testframework.BaseIgniteAbstractTest;
 import org.apache.ignite.internal.util.IgniteUtils;
 import org.apache.ignite.internal.vault.VaultManager;
@@ -55,7 +61,6 @@ public class BaseDistributionZoneManagerTest extends 
BaseIgniteAbstractTest {
     @InjectConfiguration
     private TablesConfiguration tablesConfiguration;
 
-    @InjectConfiguration
     protected DistributionZonesConfiguration zonesConfiguration;
 
     protected DistributionZoneManager distributionZoneManager;
@@ -84,6 +89,20 @@ public class BaseDistributionZoneManagerTest extends 
BaseIgniteAbstractTest {
 
         components.add(metaStorageManager);
 
+        ConfigurationStorage cfgStorage = new 
DistributedConfigurationStorage(metaStorageManager, vaultMgr);
+
+        ConfigurationManager cfgMgr = new ConfigurationManager(
+                List.of(DistributionZonesConfiguration.KEY),
+                Set.of(),
+                cfgStorage,
+                List.of(),
+                List.of(TestPersistStorageConfigurationSchema.class)
+        );
+
+        components.add(cfgMgr);
+
+        ConfigurationRegistry registry = cfgMgr.configurationRegistry();
+
         clusterStateStorage = new TestClusterStateStorage();
 
         components.add(clusterStateStorage);
@@ -94,6 +113,8 @@ public class BaseDistributionZoneManagerTest extends 
BaseIgniteAbstractTest {
 
         when(cmgManager.logicalTopology()).thenAnswer(invocation -> 
completedFuture(topology.getLogicalTopology()));
 
+        zonesConfiguration = 
registry.getConfiguration(DistributionZonesConfiguration.KEY);
+
         distributionZoneManager = new DistributionZoneManager(
                 zonesConfiguration,
                 tablesConfiguration,
diff --git 
a/modules/distribution-zones/src/test/java/org/apache/ignite/internal/distributionzones/DistributionZoneAwaitDataNodesTest.java
 
b/modules/distribution-zones/src/test/java/org/apache/ignite/internal/distributionzones/DistributionZoneAwaitDataNodesTest.java
index cff33f616b..925e77ce79 100644
--- 
a/modules/distribution-zones/src/test/java/org/apache/ignite/internal/distributionzones/DistributionZoneAwaitDataNodesTest.java
+++ 
b/modules/distribution-zones/src/test/java/org/apache/ignite/internal/distributionzones/DistributionZoneAwaitDataNodesTest.java
@@ -23,31 +23,42 @@ import static 
org.apache.ignite.internal.distributionzones.DistributionZoneManag
 import static 
org.apache.ignite.internal.distributionzones.DistributionZoneManager.DEFAULT_ZONE_NAME;
 import static 
org.apache.ignite.internal.distributionzones.DistributionZoneManager.IMMEDIATE_TIMER_VALUE;
 import static 
org.apache.ignite.internal.distributionzones.DistributionZoneManager.INFINITE_TIMER_VALUE;
+import static 
org.apache.ignite.internal.distributionzones.DistributionZonesUtil.zoneScaleDownChangeTriggerKey;
+import static 
org.apache.ignite.internal.distributionzones.DistributionZonesUtil.zoneScaleUpChangeTriggerKey;
 import static 
org.apache.ignite.internal.distributionzones.DistributionZonesUtil.zonesLogicalTopologyKey;
 import static 
org.apache.ignite.internal.distributionzones.DistributionZonesUtil.zonesLogicalTopologyVersionKey;
 import static 
org.apache.ignite.internal.distributionzones.util.DistributionZonesTestUtil.deployWatchesAndUpdateMetaStorageRevision;
 import static 
org.apache.ignite.internal.testframework.IgniteTestUtils.assertThrowsWithCause;
 import static 
org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.willBe;
 import static 
org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.willCompleteSuccessfully;
+import static 
org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.willSucceedIn;
 import static org.apache.ignite.internal.util.ByteUtils.longToBytes;
 import static org.apache.ignite.internal.util.ByteUtils.toBytes;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.doAnswer;
 
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.atomic.AtomicInteger;
 import org.apache.ignite.internal.cluster.management.topology.api.LogicalNode;
 import 
org.apache.ignite.internal.configuration.testframework.ConfigurationExtension;
+import 
org.apache.ignite.internal.distributionzones.DistributionZoneConfigurationParameters.Builder;
 import 
org.apache.ignite.internal.distributionzones.configuration.DistributionZoneConfigurationSchema;
+import 
org.apache.ignite.internal.distributionzones.exception.DistributionZoneNotFoundException;
 import 
org.apache.ignite.internal.distributionzones.exception.DistributionZoneWasRemovedException;
 import org.apache.ignite.internal.logger.IgniteLogger;
 import org.apache.ignite.internal.logger.Loggers;
 import org.apache.ignite.internal.metastorage.dsl.Conditions;
 import org.apache.ignite.internal.metastorage.dsl.Operations;
+import org.apache.ignite.internal.metastorage.server.If;
 import org.apache.ignite.lang.ByteArray;
 import org.apache.ignite.network.ClusterNode;
 import org.apache.ignite.network.NetworkAddress;
@@ -64,6 +75,12 @@ import org.junit.jupiter.api.extension.ExtendWith;
 public class DistributionZoneAwaitDataNodesTest extends 
BaseDistributionZoneManagerTest {
     private static final IgniteLogger LOG = 
Loggers.forClass(DistributionZoneAwaitDataNodesTest.class);
 
+    private static final String ZONE_NAME_0 = "zone0";
+
+    private static final String ZONE_NAME_1 = "zone1";
+
+    private static final String ZONE_NAME_2 = "zone2";
+
     /**
      * This test invokes {@link 
DistributionZoneManager#topologyVersionedDataNodes(int, long)} with default and 
non-default zone id and
      * different logical topology versions. Simulates new logical topology 
with new nodes and with removed nodes. Check that data nodes
@@ -74,24 +91,21 @@ public class DistributionZoneAwaitDataNodesTest extends 
BaseDistributionZoneMana
     void testSeveralScaleUpAndSeveralScaleDownThenScaleUpAndScaleDown() throws 
Exception {
         startZoneManager();
 
-        distributionZoneManager.createZone(
-                        new 
DistributionZoneConfigurationParameters.Builder("zone0")
+        int zoneId0 = distributionZoneManager.createZone(
+                        new 
DistributionZoneConfigurationParameters.Builder(ZONE_NAME_0)
                                 
.dataNodesAutoAdjustScaleUp(IMMEDIATE_TIMER_VALUE)
                                 
.dataNodesAutoAdjustScaleDown(IMMEDIATE_TIMER_VALUE)
                                 .build()
                 )
                 .get(3, SECONDS);
-        distributionZoneManager.createZone(
-                        new 
DistributionZoneConfigurationParameters.Builder("zone1")
+        int zoneId1 = distributionZoneManager.createZone(
+                        new 
DistributionZoneConfigurationParameters.Builder(ZONE_NAME_1)
                                 
.dataNodesAutoAdjustScaleUp(IMMEDIATE_TIMER_VALUE)
                                 
.dataNodesAutoAdjustScaleDown(IMMEDIATE_TIMER_VALUE)
                                 .build()
                 )
                 .get(3, SECONDS);
 
-        int zoneId0 = distributionZoneManager.getZoneId("zone0");
-        int zoneId1 = distributionZoneManager.getZoneId("zone1");
-
         LOG.info("Topology with added nodes.");
 
         CompletableFuture<Set<String>> dataNodesUpFut0 = 
distributionZoneManager.topologyVersionedDataNodes(DEFAULT_ZONE_ID, 1);
@@ -109,7 +123,7 @@ public class DistributionZoneAwaitDataNodesTest extends 
BaseDistributionZoneMana
 
         setLogicalTopologyInMetaStorage(threeNodes, topVer0);
 
-        assertEquals(threeNodes, dataNodesUpFut0.get(3, SECONDS));
+        assertEquals(threeNodes, dataNodesUpFut0.get(5, SECONDS));
         assertEquals(threeNodes, dataNodesUpFut1.get(3, SECONDS));
         assertEquals(threeNodes, dataNodesUpFut2.get(3, SECONDS));
 
@@ -201,16 +215,14 @@ public class DistributionZoneAwaitDataNodesTest extends 
BaseDistributionZoneMana
                         
.dataNodesAutoAdjustScaleUp(INFINITE_TIMER_VALUE).dataNodesAutoAdjustScaleDown(INFINITE_TIMER_VALUE).build())
                 .get(3, SECONDS);
 
-        distributionZoneManager.createZone(
-                        new 
DistributionZoneConfigurationParameters.Builder("zone1")
+        int zoneId = distributionZoneManager.createZone(
+                        new 
DistributionZoneConfigurationParameters.Builder(ZONE_NAME_1)
                                 
.dataNodesAutoAdjustScaleUp(IMMEDIATE_TIMER_VALUE)
                                 
.dataNodesAutoAdjustScaleDown(INFINITE_TIMER_VALUE)
                                 .build()
                 )
                 .get(3, SECONDS);
 
-        int zoneId = distributionZoneManager.getZoneId("zone1");
-
         CompletableFuture<Set<String>> dataNodesFut = 
distributionZoneManager.topologyVersionedDataNodes(zoneId, 1);
 
         Set<String> nodes0 = Set.of("node0", "node1");
@@ -241,34 +253,30 @@ public class DistributionZoneAwaitDataNodesTest extends 
BaseDistributionZoneMana
                         
.dataNodesAutoAdjustScaleUp(INFINITE_TIMER_VALUE).dataNodesAutoAdjustScaleDown(INFINITE_TIMER_VALUE).build())
                 .get(3, SECONDS);
 
-        distributionZoneManager.createZone(
-                        new 
DistributionZoneConfigurationParameters.Builder("zone0")
+        int zoneId0 = distributionZoneManager.createZone(
+                        new 
DistributionZoneConfigurationParameters.Builder(ZONE_NAME_0)
                                 
.dataNodesAutoAdjustScaleUp(INFINITE_TIMER_VALUE)
                                 
.dataNodesAutoAdjustScaleDown(INFINITE_TIMER_VALUE)
                                 .build()
                 )
                 .get(3, SECONDS);
 
-        distributionZoneManager.createZone(
-                        new 
DistributionZoneConfigurationParameters.Builder("zone1")
+        int zoneId1 = distributionZoneManager.createZone(
+                        new 
DistributionZoneConfigurationParameters.Builder(ZONE_NAME_1)
                                 
.dataNodesAutoAdjustScaleUp(IMMEDIATE_TIMER_VALUE)
                                 
.dataNodesAutoAdjustScaleDown(IMMEDIATE_TIMER_VALUE)
                                 .build()
                 )
                 .get(3, SECONDS);
 
-        distributionZoneManager.createZone(
-                        new 
DistributionZoneConfigurationParameters.Builder("zone2")
+        int zoneId2 = distributionZoneManager.createZone(
+                        new 
DistributionZoneConfigurationParameters.Builder(ZONE_NAME_2)
                                 
.dataNodesAutoAdjustScaleUp(INFINITE_TIMER_VALUE)
                                 
.dataNodesAutoAdjustScaleDown(INFINITE_TIMER_VALUE)
                                 .build()
                 )
                 .get(3, SECONDS);
 
-        int zoneId0 = distributionZoneManager.getZoneId("zone0");
-        int zoneId1 = distributionZoneManager.getZoneId("zone1");
-        int zoneId2 = distributionZoneManager.getZoneId("zone2");
-
         CompletableFuture<Set<String>> dataNodesFut = 
distributionZoneManager.topologyVersionedDataNodes(zoneId1, 1);
 
         Set<String> nodes0 = Set.of("node0", "node1");
@@ -287,7 +295,7 @@ public class DistributionZoneAwaitDataNodesTest extends 
BaseDistributionZoneMana
 
         Set<String> nodes1 = Set.of("node0");
 
-        distributionZoneManager.alterZone("zone1", new 
DistributionZoneConfigurationParameters.Builder("zone1")
+        distributionZoneManager.alterZone(ZONE_NAME_1, new 
DistributionZoneConfigurationParameters.Builder(ZONE_NAME_1)
                         
.dataNodesAutoAdjustScaleUp(INFINITE_TIMER_VALUE).dataNodesAutoAdjustScaleDown(IMMEDIATE_TIMER_VALUE).build())
                 .get(3, SECONDS);
 
@@ -318,16 +326,14 @@ public class DistributionZoneAwaitDataNodesTest extends 
BaseDistributionZoneMana
                         
.dataNodesAutoAdjustScaleUp(INFINITE_TIMER_VALUE).dataNodesAutoAdjustScaleDown(INFINITE_TIMER_VALUE).build())
                 .get(3, SECONDS);
 
-        distributionZoneManager.createZone(
-                        new 
DistributionZoneConfigurationParameters.Builder("zone1")
+        int zoneId = distributionZoneManager.createZone(
+                        new 
DistributionZoneConfigurationParameters.Builder(ZONE_NAME_1)
                                 
.dataNodesAutoAdjustScaleUp(INFINITE_TIMER_VALUE)
                                 
.dataNodesAutoAdjustScaleDown(INFINITE_TIMER_VALUE)
                                 .build()
                 )
                 .get(3, SECONDS);
 
-        int zoneId = distributionZoneManager.getZoneId("zone1");
-
         CompletableFuture<Set<String>> dataNodesFut = 
distributionZoneManager.topologyVersionedDataNodes(zoneId, 1);
 
         assertFalse(dataNodesFut.isDone());
@@ -342,45 +348,70 @@ public class DistributionZoneAwaitDataNodesTest extends 
BaseDistributionZoneMana
     /**
      * Test checks that data nodes futures are completed exceptionally if the 
zone was removed while data nodes awaiting.
      */
-    @Disabled("https://issues.apache.org/jira/browse/IGNITE-19255";)
     @Test
     void testRemoveZoneWhileAwaitingDataNodes() throws Exception {
         startZoneManager();
 
-        distributionZoneManager.createZone(
-                        new 
DistributionZoneConfigurationParameters.Builder("zone0")
+        int zoneId = distributionZoneManager.createZone(
+                        new 
DistributionZoneConfigurationParameters.Builder(ZONE_NAME_0)
                                 
.dataNodesAutoAdjustScaleUp(IMMEDIATE_TIMER_VALUE)
                                 
.dataNodesAutoAdjustScaleDown(IMMEDIATE_TIMER_VALUE)
                                 .build()
                 )
                 .get(3, SECONDS);
 
-        int zoneId = distributionZoneManager.getZoneId("zone0");
-
         CompletableFuture<Set<String>> dataNodesFut0 = 
distributionZoneManager.topologyVersionedDataNodes(zoneId, 5);
 
-        setLogicalTopologyInMetaStorage(Set.of("node0", "node1"), 100);
+        doAnswer(invocation -> {
+            If iif = invocation.getArgument(0);
+
+            byte[] key = zoneScaleUpChangeTriggerKey(zoneId).bytes();
+
+            if (Arrays.stream(iif.cond().keys()).anyMatch(k -> 
Arrays.equals(key, k))) {
+                //Drop the zone while dataNodesFut1 is awaiting a data nodes 
update.
+                assertThat(distributionZoneManager.dropZone(ZONE_NAME_0), 
willSucceedIn(3, SECONDS));
+            }
+
+            return invocation.callRealMethod();
+        }).when(keyValueStorage).invoke(any(), any());
+
+        setLogicalTopologyInMetaStorage(Set.of("node0"), 200);
 
         assertFalse(dataNodesFut0.isDone());
 
-        assertEquals(Set.of("node0", "node1"), dataNodesFut0.get(3, SECONDS));
+        assertThrowsWithCause(() -> dataNodesFut0.get(3, SECONDS), 
DistributionZoneWasRemovedException.class);
+    }
 
-        CompletableFuture<Set<String>> dataNodesFut1 = 
distributionZoneManager.topologyVersionedDataNodes(zoneId, 106);
+    /**
+     * Test checks that data nodes futures are completed exceptionally if the 
zone was removed while data nodes awaiting.
+     */
+    @Test
+    void testRemoveZoneWhileAwaitingTopologyVersion() throws Exception {
+        startZoneManager();
 
-        setLogicalTopologyInMetaStorage(Set.of("node0", "node2"), 200);
+        int zoneId = distributionZoneManager.createZone(
+                        new 
DistributionZoneConfigurationParameters.Builder(ZONE_NAME_0)
+                                
.dataNodesAutoAdjustScaleUp(IMMEDIATE_TIMER_VALUE)
+                                
.dataNodesAutoAdjustScaleDown(IMMEDIATE_TIMER_VALUE)
+                                .build()
+                )
+                .get(3, SECONDS);
 
-        assertFalse(dataNodesFut1.isDone());
+        CompletableFuture<Set<String>> dataNodesFut0 = 
distributionZoneManager.topologyVersionedDataNodes(zoneId, 5);
 
-        distributionZoneManager.dropZone("zone0").get();
+        assertThat(distributionZoneManager.dropZone(ZONE_NAME_0), 
willSucceedIn(3, SECONDS));
+
+        setLogicalTopologyInMetaStorage(Set.of("node0"), 200);
+
+        assertFalse(dataNodesFut0.isDone());
 
-        assertThrowsWithCause(() -> dataNodesFut1.get(3, SECONDS), 
DistributionZoneWasRemovedException.class);
+        assertThrowsWithCause(() -> dataNodesFut0.get(3, SECONDS), 
DistributionZoneNotFoundException.class);
     }
 
     /**
      * Test checks that data nodes futures are completed with old data nodes 
if dataNodesAutoAdjustScaleUp and dataNodesAutoAdjustScaleDown
      * timer increased to non-zero value.
      */
-    @Disabled("https://issues.apache.org/jira/browse/IGNITE-19255";)
     @Test
     void testScaleUpScaleDownAreChangedWhileAwaitingDataNodes() throws 
Exception {
         startZoneManager();
@@ -389,30 +420,53 @@ public class DistributionZoneAwaitDataNodesTest extends 
BaseDistributionZoneMana
 
         setLogicalTopologyInMetaStorage(nodes0, 1);
 
-        CompletableFuture<Set<String>> dataNodesFut = 
distributionZoneManager.topologyVersionedDataNodes(DEFAULT_ZONE_ID, 1);
+        CompletableFuture<Set<String>> dataNodesFut0 = 
distributionZoneManager.topologyVersionedDataNodes(DEFAULT_ZONE_ID, 1);
 
-        assertEquals(nodes0, dataNodesFut.get(3, SECONDS));
+        assertEquals(nodes0, dataNodesFut0.get(3, SECONDS));
 
         Set<String> nodes1 = Set.of("node0", "node2");
 
-        dataNodesFut = 
distributionZoneManager.topologyVersionedDataNodes(DEFAULT_ZONE_ID, 2);
+        CompletableFuture<Set<String>> dataNodesFut1 = 
distributionZoneManager.topologyVersionedDataNodes(DEFAULT_ZONE_ID, 2);
 
-        setLogicalTopologyInMetaStorage(nodes1, 2);
+        AtomicInteger scaleUpCount = new AtomicInteger();
+        AtomicInteger scaleDownCount = new AtomicInteger();
 
-        assertFalse(dataNodesFut.isDone());
+        CountDownLatch scaleUpLatch = new CountDownLatch(1);
+        CountDownLatch scaleDownLatch = new CountDownLatch(1);
 
-        //need to create new zone to fix assert invariant which is broken in 
this test environment.
-        distributionZoneManager.createZone(new 
DistributionZoneConfigurationParameters.Builder("zone0")
-                        
.dataNodesAutoAdjustScaleUp(1000).dataNodesAutoAdjustScaleDown(1000).build())
-                .get(3, SECONDS);
+        doAnswer(invocation -> {
+            If iif = invocation.getArgument(0);
 
-        assertFalse(dataNodesFut.isDone());
+            byte[] scaleUpKey = 
zoneScaleUpChangeTriggerKey(DEFAULT_ZONE_ID).bytes();
+            byte[] scaleDownKey = 
zoneScaleDownChangeTriggerKey(DEFAULT_ZONE_ID).bytes();
 
-        distributionZoneManager.alterZone(DEFAULT_ZONE_NAME, new 
DistributionZoneConfigurationParameters.Builder(DEFAULT_ZONE_NAME)
-                        
.dataNodesAutoAdjustScaleUp(1000).dataNodesAutoAdjustScaleDown(1000).build())
-                .get(3, SECONDS);
+            if (iif.andThen().update().operations().stream().anyMatch(op -> 
Arrays.equals(scaleUpKey, op.key()))
+                    && scaleUpCount.getAndIncrement() == 0) {
+                distributionZoneManager.alterZone(DEFAULT_ZONE_NAME, new 
Builder(DEFAULT_ZONE_NAME)
+                                .dataNodesAutoAdjustScaleUp(1000).build())
+                        .get(3, SECONDS);
 
-        assertEquals(nodes0, dataNodesFut.get(3, SECONDS));
+                scaleUpLatch.await(5, SECONDS);
+            }
+
+            if (iif.andThen().update().operations().stream().anyMatch(op -> 
Arrays.equals(scaleDownKey, op.key()))
+                    && scaleDownCount.getAndIncrement() == 0) {
+                distributionZoneManager.alterZone(DEFAULT_ZONE_NAME, new 
Builder(DEFAULT_ZONE_NAME)
+                                .dataNodesAutoAdjustScaleDown(1000).build())
+                        .get(3, SECONDS);
+
+                scaleDownLatch.await(5, SECONDS);
+            }
+
+            return invocation.callRealMethod();
+        }).when(keyValueStorage).invoke(any(), any());
+
+        setLogicalTopologyInMetaStorage(nodes1, 2);
+
+        assertEquals(nodes0, dataNodesFut1.get(5, SECONDS));
+
+        scaleUpLatch.countDown();
+        scaleDownLatch.countDown();
     }
 
     /**
diff --git 
a/modules/distribution-zones/src/test/java/org/apache/ignite/internal/distributionzones/DistributionZoneManagerScaleUpTest.java
 
b/modules/distribution-zones/src/test/java/org/apache/ignite/internal/distributionzones/DistributionZoneManagerScaleUpTest.java
index ac2788f51f..e86929d962 100644
--- 
a/modules/distribution-zones/src/test/java/org/apache/ignite/internal/distributionzones/DistributionZoneManagerScaleUpTest.java
+++ 
b/modules/distribution-zones/src/test/java/org/apache/ignite/internal/distributionzones/DistributionZoneManagerScaleUpTest.java
@@ -35,6 +35,7 @@ import static 
org.apache.ignite.internal.metastorage.dsl.Operations.put;
 import static 
org.apache.ignite.internal.testframework.IgniteTestUtils.waitForCondition;
 import static 
org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.willBe;
 import static 
org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.willCompleteSuccessfully;
+import static org.apache.ignite.internal.util.ByteUtils.bytesToLong;
 import static org.apache.ignite.internal.util.ByteUtils.longToBytes;
 import static org.apache.ignite.internal.util.ByteUtils.toBytes;
 import static org.hamcrest.MatcherAssert.assertThat;
@@ -56,6 +57,7 @@ import java.util.concurrent.ScheduledThreadPoolExecutor;
 import java.util.stream.Collectors;
 import org.apache.ignite.configuration.NamedConfigurationTree;
 import org.apache.ignite.internal.cluster.management.topology.api.LogicalNode;
+import 
org.apache.ignite.internal.distributionzones.DistributionZoneConfigurationParameters.Builder;
 import 
org.apache.ignite.internal.distributionzones.DistributionZoneManager.ZoneState;
 import 
org.apache.ignite.internal.distributionzones.configuration.DistributionZoneChange;
 import 
org.apache.ignite.internal.distributionzones.configuration.DistributionZoneConfiguration;
@@ -82,6 +84,8 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
 
     private static final LogicalNode NODE_3 = new LogicalNode("3", "C", new 
NetworkAddress("localhost", 123));
 
+    private long prerequisiteRevision;
+
     @Test
     @Disabled("https://issues.apache.org/jira/browse/IGNITE-19255";)
     void testDataNodesPropagationAfterScaleUpTriggered() throws Exception {
@@ -162,7 +166,7 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
                 new 
DistributionZoneConfigurationParameters.Builder(ZONE_NAME).dataNodesAutoAdjustScaleDown(IMMEDIATE_TIMER_VALUE).build()
         ).get();
 
-        assertZoneScaleDownChangeTriggerKey(1, 1, keyValueStorage);
+        assertZoneScaleDownChangeTriggerKey(5, 1, keyValueStorage);
 
         assertDataNodesForZone(1, 
clusterNodes2.stream().map(ClusterNode::name).collect(Collectors.toSet()), 
keyValueStorage);
     }
@@ -314,7 +318,7 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
                 zoneView,
                 Set.of("D"),
                 Set.of(),
-                2,
+                prerequisiteRevision + 1,
                 (zoneId, revision) -> {
                     try {
                         in1.await();
@@ -327,11 +331,11 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
                 (t1, t2) -> null
         );
 
-        // Assert that first task was run and event about adding node "D" with 
revision 2 was added
+        // Assert that first task was run and event about adding node "D" with 
revision {@code prerequisiteRevision + 1} was added
         // to the topologyAugmentationMap of the zone.
         assertTrue(
                 waitForCondition(
-                        () -> 
distributionZoneManager.zonesTimers().get(1).topologyAugmentationMap().containsKey(2L),
+                        () -> 
distributionZoneManager.zonesTimers().get(1).topologyAugmentationMap().containsKey(prerequisiteRevision
 + 1),
                         1000
                 )
         );
@@ -340,7 +344,7 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
                 zoneView,
                 Set.of("E"),
                 Set.of(),
-                3,
+                prerequisiteRevision + 2,
                 (zoneId, revision) -> {
                     try {
                         in2.await();
@@ -359,11 +363,11 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
                 (t1, t2) -> null
         );
 
-        // Assert that second task was run and event about adding node "E" 
with revision 3 was added
+        // Assert that second task was run and event about adding node "E" 
with revision {@code prerequisiteRevision + 2} was added
         // to the topologyAugmentationMap of the zone.
         assertTrue(
                 waitForCondition(
-                        () -> 
distributionZoneManager.zonesTimers().get(1).topologyAugmentationMap().containsKey(3L),
+                        () -> 
distributionZoneManager.zonesTimers().get(1).topologyAugmentationMap().containsKey(prerequisiteRevision
 + 2),
                         1000
                 )
         );
@@ -372,7 +376,7 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
         //Second task is propagating data nodes first.
         in2.countDown();
 
-        assertZoneScaleUpChangeTriggerKey(3, 1, keyValueStorage);
+        assertZoneScaleUpChangeTriggerKey(prerequisiteRevision + 2, 1, 
keyValueStorage);
 
         assertDataNodesForZone(1, Set.of("A", "B", "C", "D", "E"), 
keyValueStorage);
 
@@ -384,7 +388,7 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
         out1.countDown();
 
         // Assert that nothing has been changed.
-        assertZoneScaleUpChangeTriggerKey(3, 1, keyValueStorage);
+        assertZoneScaleUpChangeTriggerKey(prerequisiteRevision + 2, 1, 
keyValueStorage);
 
         assertDataNodesForZone(1, Set.of("A", "B", "C", "D", "E"), 
keyValueStorage);
     }
@@ -407,7 +411,7 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
                 zoneView,
                 Set.of(),
                 Set.of("B"),
-                2,
+                prerequisiteRevision + 1,
                 (t1, t2) -> null,
                 (zoneId, revision) -> {
                     try {
@@ -420,11 +424,11 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
                 }
         );
 
-        // Assert that first task was run and event about removing node "B" 
with revision 2 was added
+        // Assert that first task was run and event about removing node "B" 
with revision {@code prerequisiteRevision + 1} was added
         // to the topologyAugmentationMap of the zone.
         assertTrue(
                 waitForCondition(
-                        () -> 
distributionZoneManager.zonesTimers().get(1).topologyAugmentationMap().containsKey(2L),
+                        () -> 
distributionZoneManager.zonesTimers().get(1).topologyAugmentationMap().containsKey(prerequisiteRevision
 + 1),
                         1000
                 )
         );
@@ -433,7 +437,7 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
                 zoneView,
                 Set.of(),
                 Set.of("C"),
-                3,
+                prerequisiteRevision + 2,
                 (t1, t2) -> null,
                 (zoneId, revision) -> {
                     try {
@@ -452,11 +456,11 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
                 }
         );
 
-        // Assert that second task was run and event about removing node "C" 
with revision 3 was added
+        // Assert that second task was run and event about removing node "C" 
with revision {@code prerequisiteRevision + 2} was added
         // to the topologyAugmentationMap of the zone.
         assertTrue(
                 waitForCondition(
-                        () -> 
distributionZoneManager.zonesTimers().get(1).topologyAugmentationMap().containsKey(3L),
+                        () -> 
distributionZoneManager.zonesTimers().get(1).topologyAugmentationMap().containsKey(prerequisiteRevision
 + 2),
                         1000
                 )
         );
@@ -465,7 +469,7 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
         //Second task is propagating data nodes first.
         in2.countDown();
 
-        assertZoneScaleDownChangeTriggerKey(3, 1, keyValueStorage);
+        assertZoneScaleDownChangeTriggerKey(prerequisiteRevision + 2, 1, 
keyValueStorage);
 
         assertDataNodesForZone(1, Set.of("A"), keyValueStorage);
 
@@ -477,7 +481,7 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
         out1.countDown();
 
         // Assert that nothing has been changed.
-        assertZoneScaleDownChangeTriggerKey(3, 1, keyValueStorage);
+        assertZoneScaleDownChangeTriggerKey(prerequisiteRevision + 2, 1, 
keyValueStorage);
 
         assertDataNodesForZone(1, Set.of("A"), keyValueStorage);
     }
@@ -499,7 +503,7 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
                 zoneView,
                 Set.of("D"),
                 Set.of(),
-                2,
+                prerequisiteRevision + 1,
                 (zoneId, revision) -> {
                     in1.countDown();
 
@@ -522,7 +526,7 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
                 zoneView,
                 Set.of("E"),
                 Set.of(),
-                3,
+                prerequisiteRevision + 2,
                 (zoneId, revision) -> {
                     try {
                         in2.await();
@@ -535,23 +539,23 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
                 (t1, t2) -> null
         );
 
-        // Assert that second task was run and event about adding node "E" 
with revision 3 was added
+        // Assert that second task was run and event about adding node "E" 
with revision {@code prerequisiteRevision + 2} was added
         // to the topologyAugmentationMap of the zone.
         assertTrue(
                 waitForCondition(
-                        () -> 
distributionZoneManager.zonesTimers().get(1).topologyAugmentationMap().containsKey(3L),
+                        () -> 
distributionZoneManager.zonesTimers().get(1).topologyAugmentationMap().containsKey(prerequisiteRevision
 + 2),
                         1000
                 )
         );
 
-        assertZoneScaleUpChangeTriggerKey(2, 1, keyValueStorage);
+        assertZoneScaleUpChangeTriggerKey(prerequisiteRevision + 1, 1, 
keyValueStorage);
 
         assertDataNodesForZone(1, Set.of("A", "B", "C", "D"), keyValueStorage);
 
         // Second task is run and we await that data nodes will be changed 
from ["A", "B", "C", "D"] to ["A", "B", "C", "D", "E"]
         in2.countDown();
 
-        assertZoneScaleUpChangeTriggerKey(3, 1, keyValueStorage);
+        assertZoneScaleUpChangeTriggerKey(prerequisiteRevision + 2, 1, 
keyValueStorage);
 
         assertDataNodesForZone(1, Set.of("A", "B", "C", "D", "E"), 
keyValueStorage);
 
@@ -575,7 +579,7 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
                 zoneView,
                 Set.of(),
                 Set.of("B"),
-                2,
+                prerequisiteRevision + 1,
                 (t1, t2) -> null,
                 (zoneId, revision) -> {
                     in1.countDown();
@@ -598,7 +602,7 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
                 zoneView,
                 Set.of(),
                 Set.of("C"),
-                3,
+                prerequisiteRevision + 2,
                 (t1, t2) -> null,
                 (zoneId, revision) -> {
                     try {
@@ -611,23 +615,23 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
                 }
         );
 
-        // Assert that second task was run and event about removing node "C" 
with revision 3 was added
+        // Assert that second task was run and event about removing node "C" 
with revision {@code prerequisiteRevision + 2} was added
         // to the topologyAugmentationMap of the zone.
         assertTrue(
                 waitForCondition(
-                        () -> 
distributionZoneManager.zonesTimers().get(1).topologyAugmentationMap().containsKey(3L),
+                        () -> 
distributionZoneManager.zonesTimers().get(1).topologyAugmentationMap().containsKey(prerequisiteRevision
 + 2),
                         1000
                 )
         );
 
-        assertZoneScaleDownChangeTriggerKey(2, 1, keyValueStorage);
+        assertZoneScaleDownChangeTriggerKey(prerequisiteRevision + 1, 1, 
keyValueStorage);
 
         assertDataNodesForZone(1, Set.of("A", "C"), keyValueStorage);
 
         // Second task is run and we await that data nodes will be changed 
from ["A", "C"] to ["A"]
         in2.countDown();
 
-        assertZoneScaleDownChangeTriggerKey(3, 1, keyValueStorage);
+        assertZoneScaleDownChangeTriggerKey(prerequisiteRevision + 2, 1, 
keyValueStorage);
 
         assertDataNodesForZone(1, Set.of("A"), keyValueStorage);
 
@@ -646,7 +650,7 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
 
         assertDataNodesForZone(1, Set.of(), keyValueStorage);
 
-        assertZoneScaleDownChangeTriggerKey(1, 1, keyValueStorage);
+        assertZoneScaleDownChangeTriggerKey(3, 1, keyValueStorage);
 
         topology.putNode(NODE_1);
 
@@ -721,29 +725,29 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
 
         ZoneState zoneState = distributionZoneManager.zonesTimers().get(1);
 
-        zoneState.nodesToAddToDataNodes(Set.of("D"), 3);
-        zoneState.nodesToAddToDataNodes(Set.of("E"), 4);
-        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 7);
+        zoneState.nodesToAddToDataNodes(Set.of("D"), 1003);
+        zoneState.nodesToAddToDataNodes(Set.of("E"), 1004);
+        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 1007);
 
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 3);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 1003);
 
-        assertTrue(zoneState.topologyAugmentationMap().containsKey(3L));
-        assertTrue(zoneState.topologyAugmentationMap().containsKey(4L));
-        assertTrue(zoneState.topologyAugmentationMap().containsKey(7L));
+        assertTrue(zoneState.topologyAugmentationMap().containsKey(1003L));
+        assertTrue(zoneState.topologyAugmentationMap().containsKey(1004L));
+        assertTrue(zoneState.topologyAugmentationMap().containsKey(1007L));
 
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 4);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 1004);
 
-        assertTrue(zoneState.topologyAugmentationMap().containsKey(3L));
-        assertTrue(zoneState.topologyAugmentationMap().containsKey(4L));
-        assertTrue(zoneState.topologyAugmentationMap().containsKey(7L));
+        assertTrue(zoneState.topologyAugmentationMap().containsKey(1003L));
+        assertTrue(zoneState.topologyAugmentationMap().containsKey(1004L));
+        assertTrue(zoneState.topologyAugmentationMap().containsKey(1007L));
 
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 7);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 1007);
 
-        assertFalse(zoneState.topologyAugmentationMap().containsKey(3L));
-        assertFalse(zoneState.topologyAugmentationMap().containsKey(4L));
-        assertTrue(zoneState.topologyAugmentationMap().containsKey(7L));
+        assertFalse(zoneState.topologyAugmentationMap().containsKey(1003L));
+        assertFalse(zoneState.topologyAugmentationMap().containsKey(1004L));
+        assertTrue(zoneState.topologyAugmentationMap().containsKey(1007L));
 
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 15);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 1015);
 
         assertTrue(zoneState.topologyAugmentationMap().isEmpty());
         assertDataNodesForZone(1, Set.of("A", "B", "D", "E"), keyValueStorage);
@@ -761,16 +765,16 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
 
         assertDataNodesForZone(1, Set.of(), keyValueStorage);
 
-        assertZoneScaleDownChangeTriggerKey(1, 1, keyValueStorage);
-
-        topology.putNode(NODE_1);
-
-        assertLogicalTopology(Set.of(NODE_1), keyValueStorage);
+        assertZoneScaleDownChangeTriggerKey(3, 1, keyValueStorage);
 
         ZoneState zoneState = distributionZoneManager.zonesTimers().get(1);
 
         assertNull(zoneState.scaleUpTask());
 
+        topology.putNode(NODE_1);
+
+        assertLogicalTopology(Set.of(NODE_1), keyValueStorage);
+
         assertTrue(waitForCondition(() -> zoneState.scaleUpTask() != null, 
1000L));
 
         distributionZoneManager.alterZone(
@@ -797,7 +801,7 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
 
         assertDataNodesForZone(1, Set.of(NODE_1.name()), keyValueStorage);
 
-        assertZoneScaleDownChangeTriggerKey(1, 1, keyValueStorage);
+        assertZoneScaleDownChangeTriggerKey(4, 1, keyValueStorage);
 
         ZoneState zoneState = distributionZoneManager.zonesTimers().get(1);
 
@@ -827,7 +831,7 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
 
         assertDataNodesForZone(1, Set.of(), keyValueStorage);
 
-        assertZoneScaleDownChangeTriggerKey(1, 1, keyValueStorage);
+        assertZoneScaleDownChangeTriggerKey(3, 1, keyValueStorage);
 
         doAnswer(invocation -> {
             If iif = invocation.getArgument(0);
@@ -868,7 +872,7 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
 
         assertDataNodesForZone(1, Set.of(NODE_1.name()), keyValueStorage);
 
-        assertZoneScaleDownChangeTriggerKey(1, 1, keyValueStorage);
+        assertZoneScaleDownChangeTriggerKey(4, 1, keyValueStorage);
 
         doAnswer(invocation -> {
             If iif = invocation.getArgument(0);
@@ -897,11 +901,11 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
 
         ZoneState zoneState = distributionZoneManager.zonesTimers().get(1);
 
-        zoneState.nodesToAddToDataNodes(Set.of("D"), 3);
-        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 7);
+        zoneState.nodesToAddToDataNodes(Set.of("D"), 1003);
+        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 1007);
 
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 3);
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 7);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 1003);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 1007);
 
         assertDataNodesForZone(1, Set.of("A", "B", "D"), keyValueStorage);
     }
@@ -912,11 +916,11 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
 
         ZoneState zoneState = distributionZoneManager.zonesTimers().get(1);
 
-        zoneState.nodesToAddToDataNodes(Set.of("D"), 3);
-        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 7);
+        zoneState.nodesToAddToDataNodes(Set.of("D"), 1003);
+        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 1007);
 
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 7);
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 3);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 1007);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 1003);
 
         assertDataNodesForZone(1, Set.of("A", "B", "D"), keyValueStorage);
     }
@@ -927,11 +931,11 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
 
         ZoneState zoneState = distributionZoneManager.zonesTimers().get(1);
 
-        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 3);
-        zoneState.nodesToAddToDataNodes(Set.of("D"), 7);
+        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 1003);
+        zoneState.nodesToAddToDataNodes(Set.of("D"), 1007);
 
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 3);
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 7);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 1003);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 1007);
 
         assertDataNodesForZone(1, Set.of("A", "B", "D"), keyValueStorage);
     }
@@ -942,11 +946,11 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
 
         ZoneState zoneState = distributionZoneManager.zonesTimers().get(1);
 
-        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 3);
-        zoneState.nodesToAddToDataNodes(Set.of("D"), 7);
+        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 1003);
+        zoneState.nodesToAddToDataNodes(Set.of("D"), 1007);
 
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 7);
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 3);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 1007);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 1003);
 
         assertDataNodesForZone(1, Set.of("A", "B", "D"), keyValueStorage);
     }
@@ -957,12 +961,12 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
 
         ZoneState zoneState = distributionZoneManager.zonesTimers().get(1);
 
-        zoneState.nodesToAddToDataNodes(Set.of("D"), 3);
-        zoneState.nodesToRemoveFromDataNodes(Set.of("D"), 7);
+        zoneState.nodesToAddToDataNodes(Set.of("D"), 1003);
+        zoneState.nodesToRemoveFromDataNodes(Set.of("D"), 1007);
 
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 3);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 1003);
         assertDataNodesForZone(1, Set.of("A", "B", "C", "D"), keyValueStorage);
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 7);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 1007);
 
         assertDataNodesForZone(1, Set.of("A", "B", "C"), keyValueStorage);
     }
@@ -973,11 +977,11 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
 
         ZoneState zoneState = distributionZoneManager.zonesTimers().get(1);
 
-        zoneState.nodesToAddToDataNodes(Set.of("D"), 3);
-        zoneState.nodesToRemoveFromDataNodes(Set.of("D"), 7);
+        zoneState.nodesToAddToDataNodes(Set.of("D"), 1003);
+        zoneState.nodesToRemoveFromDataNodes(Set.of("D"), 1007);
 
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 7);
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 3);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 1007);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 1003);
 
         assertDataNodesForZone(1, Set.of("A", "B", "C"), keyValueStorage);
     }
@@ -988,11 +992,11 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
 
         ZoneState zoneState = distributionZoneManager.zonesTimers().get(1);
 
-        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 3);
-        zoneState.nodesToAddToDataNodes(Set.of("C"), 7);
+        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 1003);
+        zoneState.nodesToAddToDataNodes(Set.of("C"), 1007);
 
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 3);
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 7);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 1003);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 1007);
 
         assertDataNodesForZone(1, Set.of("A", "B", "C"), keyValueStorage);
     }
@@ -1003,11 +1007,11 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
 
         ZoneState zoneState = distributionZoneManager.zonesTimers().get(1);
 
-        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 3);
-        zoneState.nodesToAddToDataNodes(Set.of("C"), 7);
+        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 1003);
+        zoneState.nodesToAddToDataNodes(Set.of("C"), 1007);
 
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 7);
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 3);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 1007);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 1003);
 
         assertDataNodesForZone(1, Set.of("A", "B", "C"), keyValueStorage);
     }
@@ -1018,12 +1022,12 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
 
         ZoneState zoneState = distributionZoneManager.zonesTimers().get(1);
 
-        zoneState.nodesToAddToDataNodes(Set.of("D"), 3);
-        zoneState.nodesToRemoveFromDataNodes(Set.of("D"), 7);
-        zoneState.nodesToAddToDataNodes(Set.of("D"), 9);
+        zoneState.nodesToAddToDataNodes(Set.of("D"), 1003);
+        zoneState.nodesToRemoveFromDataNodes(Set.of("D"), 1007);
+        zoneState.nodesToAddToDataNodes(Set.of("D"), 1009);
 
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 9);
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 7);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 1009);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 1007);
 
         assertDataNodesForZone(1, Set.of("A", "B", "C", "D"), keyValueStorage);
     }
@@ -1034,12 +1038,12 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
 
         ZoneState zoneState = distributionZoneManager.zonesTimers().get(1);
 
-        zoneState.nodesToAddToDataNodes(Set.of("D"), 3);
-        zoneState.nodesToRemoveFromDataNodes(Set.of("D"), 7);
-        zoneState.nodesToAddToDataNodes(Set.of("D"), 9);
+        zoneState.nodesToAddToDataNodes(Set.of("D"), 1003);
+        zoneState.nodesToRemoveFromDataNodes(Set.of("D"), 1007);
+        zoneState.nodesToAddToDataNodes(Set.of("D"), 1009);
 
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 7);
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 9);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 1007);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 1009);
 
         assertDataNodesForZone(1, Set.of("A", "B", "C", "D"), keyValueStorage);
     }
@@ -1050,14 +1054,14 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
 
         ZoneState zoneState = distributionZoneManager.zonesTimers().get(1);
 
-        zoneState.nodesToAddToDataNodes(Set.of("D"), 3);
-        zoneState.nodesToRemoveFromDataNodes(Set.of("D"), 7);
+        zoneState.nodesToAddToDataNodes(Set.of("D"), 1003);
+        zoneState.nodesToRemoveFromDataNodes(Set.of("D"), 1007);
 
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 7);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 1007);
 
-        zoneState.nodesToAddToDataNodes(Set.of("D"), 9);
+        zoneState.nodesToAddToDataNodes(Set.of("D"), 1009);
 
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 9);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 1009);
 
         assertDataNodesForZone(1, Set.of("A", "B", "C", "D"), keyValueStorage);
     }
@@ -1068,12 +1072,12 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
 
         ZoneState zoneState = distributionZoneManager.zonesTimers().get(1);
 
-        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 3);
-        zoneState.nodesToAddToDataNodes(Set.of("C"), 7);
-        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 9);
+        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 1003);
+        zoneState.nodesToAddToDataNodes(Set.of("C"), 1007);
+        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 1009);
 
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 9);
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 7);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 1009);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 1007);
 
         assertDataNodesForZone(1, Set.of("A", "B"), keyValueStorage);
     }
@@ -1084,12 +1088,12 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
 
         ZoneState zoneState = distributionZoneManager.zonesTimers().get(1);
 
-        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 3);
-        zoneState.nodesToAddToDataNodes(Set.of("C"), 7);
-        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 9);
+        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 1003);
+        zoneState.nodesToAddToDataNodes(Set.of("C"), 1007);
+        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 1009);
 
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 7);
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 9);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 1007);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 1009);
 
         assertDataNodesForZone(1, Set.of("A", "B"), keyValueStorage);
     }
@@ -1100,12 +1104,12 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
 
         ZoneState zoneState = distributionZoneManager.zonesTimers().get(1);
 
-        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 3);
-        zoneState.nodesToAddToDataNodes(Set.of("C"), 7);
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 7);
+        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 1003);
+        zoneState.nodesToAddToDataNodes(Set.of("C"), 1007);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 1007);
 
-        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 9);
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 9);
+        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 1009);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 1009);
 
         assertDataNodesForZone(1, Set.of("A", "B"), keyValueStorage);
     }
@@ -1116,13 +1120,13 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
 
         ZoneState zoneState = distributionZoneManager.zonesTimers().get(1);
 
-        zoneState.nodesToAddToDataNodes(Set.of("D"), 3);
-        zoneState.nodesToRemoveFromDataNodes(Set.of("D"), 7);
-        zoneState.nodesToAddToDataNodes(Set.of("E"), 9);
+        zoneState.nodesToAddToDataNodes(Set.of("D"), 1003);
+        zoneState.nodesToRemoveFromDataNodes(Set.of("D"), 1007);
+        zoneState.nodesToAddToDataNodes(Set.of("E"), 1009);
 
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 9);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 1009);
 
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 7);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 1007);
 
         assertDataNodesForZone(1, Set.of("A", "B", "C", "E"), keyValueStorage);
     }
@@ -1133,12 +1137,12 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
 
         ZoneState zoneState = distributionZoneManager.zonesTimers().get(1);
 
-        zoneState.nodesToAddToDataNodes(Set.of("D"), 3);
-        zoneState.nodesToRemoveFromDataNodes(Set.of("D"), 7);
-        zoneState.nodesToAddToDataNodes(Set.of("E"), 9);
+        zoneState.nodesToAddToDataNodes(Set.of("D"), 1003);
+        zoneState.nodesToRemoveFromDataNodes(Set.of("D"), 1007);
+        zoneState.nodesToAddToDataNodes(Set.of("E"), 1009);
 
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 7);
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 9);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 1007);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 1009);
 
         assertDataNodesForZone(1, Set.of("A", "B", "C", "E"), keyValueStorage);
     }
@@ -1149,12 +1153,12 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
 
         ZoneState zoneState = distributionZoneManager.zonesTimers().get(1);
 
-        zoneState.nodesToAddToDataNodes(Set.of("D"), 3);
-        zoneState.nodesToRemoveFromDataNodes(Set.of("D"), 7);
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 7);
+        zoneState.nodesToAddToDataNodes(Set.of("D"), 1003);
+        zoneState.nodesToRemoveFromDataNodes(Set.of("D"), 1007);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 1007);
 
-        zoneState.nodesToAddToDataNodes(Set.of("E"), 9);
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 9);
+        zoneState.nodesToAddToDataNodes(Set.of("E"), 1009);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 1009);
 
         assertDataNodesForZone(1, Set.of("A", "B", "C", "E"), keyValueStorage);
     }
@@ -1165,12 +1169,12 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
 
         ZoneState zoneState = distributionZoneManager.zonesTimers().get(1);
 
-        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 3);
-        zoneState.nodesToAddToDataNodes(Set.of("C"), 7);
-        zoneState.nodesToRemoveFromDataNodes(Set.of("B"), 9);
+        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 1003);
+        zoneState.nodesToAddToDataNodes(Set.of("C"), 1007);
+        zoneState.nodesToRemoveFromDataNodes(Set.of("B"), 1009);
 
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 9);
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 7);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 1009);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 1007);
 
         assertDataNodesForZone(1, Set.of("A", "C"), keyValueStorage);
     }
@@ -1181,12 +1185,12 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
 
         ZoneState zoneState = distributionZoneManager.zonesTimers().get(1);
 
-        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 3);
-        zoneState.nodesToAddToDataNodes(Set.of("C"), 7);
-        zoneState.nodesToRemoveFromDataNodes(Set.of("B"), 9);
+        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 1003);
+        zoneState.nodesToAddToDataNodes(Set.of("C"), 1007);
+        zoneState.nodesToRemoveFromDataNodes(Set.of("B"), 1009);
 
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 7);
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 9);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 1007);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 1009);
 
         assertDataNodesForZone(1, Set.of("A", "C"), keyValueStorage);
     }
@@ -1197,12 +1201,12 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
 
         ZoneState zoneState = distributionZoneManager.zonesTimers().get(1);
 
-        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 3);
-        zoneState.nodesToAddToDataNodes(Set.of("C"), 7);
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 7);
+        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 1003);
+        zoneState.nodesToAddToDataNodes(Set.of("C"), 1007);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 1007);
 
-        zoneState.nodesToRemoveFromDataNodes(Set.of("B"), 9);
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 9);
+        zoneState.nodesToRemoveFromDataNodes(Set.of("B"), 1009);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 1009);
 
         assertDataNodesForZone(1, Set.of("A", "C"), keyValueStorage);
     }
@@ -1213,12 +1217,12 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
 
         ZoneState zoneState = distributionZoneManager.zonesTimers().get(1);
 
-        zoneState.nodesToAddToDataNodes(Set.of("D"), 3);
-        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 7);
-        zoneState.nodesToAddToDataNodes(Set.of("C"), 9);
+        zoneState.nodesToAddToDataNodes(Set.of("D"), 1003);
+        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 1007);
+        zoneState.nodesToAddToDataNodes(Set.of("C"), 1009);
 
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 9);
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 7);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 1009);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 1007);
 
         assertDataNodesForZone(1, Set.of("A", "B", "C", "D"), keyValueStorage);
     }
@@ -1229,12 +1233,12 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
 
         ZoneState zoneState = distributionZoneManager.zonesTimers().get(1);
 
-        zoneState.nodesToAddToDataNodes(Set.of("D"), 3);
-        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 7);
-        zoneState.nodesToAddToDataNodes(Set.of("C"), 9);
+        zoneState.nodesToAddToDataNodes(Set.of("D"), 1003);
+        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 1007);
+        zoneState.nodesToAddToDataNodes(Set.of("C"), 1009);
 
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 7);
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 9);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 1007);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 1009);
 
         assertDataNodesForZone(1, Set.of("A", "B", "C", "D"), keyValueStorage);
     }
@@ -1245,12 +1249,12 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
 
         ZoneState zoneState = distributionZoneManager.zonesTimers().get(1);
 
-        zoneState.nodesToAddToDataNodes(Set.of("D"), 3);
-        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 7);
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 7);
+        zoneState.nodesToAddToDataNodes(Set.of("D"), 1003);
+        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 1007);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 1007);
 
-        zoneState.nodesToAddToDataNodes(Set.of("C"), 9);
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 9);
+        zoneState.nodesToAddToDataNodes(Set.of("C"), 1009);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 1009);
 
         assertDataNodesForZone(1, Set.of("A", "B", "C", "D"), keyValueStorage);
     }
@@ -1261,12 +1265,12 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
 
         ZoneState zoneState = distributionZoneManager.zonesTimers().get(1);
 
-        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 3);
-        zoneState.nodesToAddToDataNodes(Set.of("D"), 7);
-        zoneState.nodesToRemoveFromDataNodes(Set.of("D"), 9);
+        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 1003);
+        zoneState.nodesToAddToDataNodes(Set.of("D"), 1007);
+        zoneState.nodesToRemoveFromDataNodes(Set.of("D"), 1009);
 
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 9);
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 7);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 1009);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 1007);
 
         assertDataNodesForZone(1, Set.of("A", "B"), keyValueStorage);
     }
@@ -1277,12 +1281,12 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
 
         ZoneState zoneState = distributionZoneManager.zonesTimers().get(1);
 
-        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 3);
-        zoneState.nodesToAddToDataNodes(Set.of("D"), 7);
-        zoneState.nodesToRemoveFromDataNodes(Set.of("D"), 9);
+        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 1003);
+        zoneState.nodesToAddToDataNodes(Set.of("D"), 1007);
+        zoneState.nodesToRemoveFromDataNodes(Set.of("D"), 1009);
 
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 7);
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 9);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 1007);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 1009);
 
         assertDataNodesForZone(1, Set.of("A", "B"), keyValueStorage);
     }
@@ -1293,12 +1297,12 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
 
         ZoneState zoneState = distributionZoneManager.zonesTimers().get(1);
 
-        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 3);
-        zoneState.nodesToAddToDataNodes(Set.of("D"), 7);
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 7);
+        zoneState.nodesToRemoveFromDataNodes(Set.of("C"), 1003);
+        zoneState.nodesToAddToDataNodes(Set.of("D"), 1007);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleUp(1, 1007);
 
-        zoneState.nodesToRemoveFromDataNodes(Set.of("D"), 9);
-        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 9);
+        zoneState.nodesToRemoveFromDataNodes(Set.of("D"), 1009);
+        distributionZoneManager.saveDataNodesToMetaStorageOnScaleDown(1, 1009);
 
         assertDataNodesForZone(1, Set.of("A", "B"), keyValueStorage);
     }
@@ -1343,7 +1347,7 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
         startDistributionZoneManager();
 
         distributionZoneManager.createZone(
-                new DistributionZoneConfigurationParameters.Builder(ZONE_NAME)
+                new Builder(ZONE_NAME)
                         .dataNodesAutoAdjustScaleUp(IMMEDIATE_TIMER_VALUE)
                         .dataNodesAutoAdjustScaleDown(IMMEDIATE_TIMER_VALUE)
                         .build()
@@ -1351,8 +1355,18 @@ public class DistributionZoneManagerScaleUpTest extends 
BaseDistributionZoneMana
 
         assertDataNodesForZone(1, clusterNodesNames, keyValueStorage);
 
-        assertZoneScaleUpChangeTriggerKey(1, 1, keyValueStorage);
-        assertZoneScaleDownChangeTriggerKey(1, 1, keyValueStorage);
+        long scaleUpChangeTriggerKey = bytesToLong(
+                
keyValueStorage.get(zoneScaleUpChangeTriggerKey(1).bytes()).value()
+        );
+
+        long scaleDownChangeTriggerKey = bytesToLong(
+                
keyValueStorage.get(zoneScaleDownChangeTriggerKey(1).bytes()).value()
+        );
+
+        assertEquals(scaleUpChangeTriggerKey, scaleDownChangeTriggerKey,
+                "zoneScaleUpChangeTriggerKey and zoneScaleDownChangeTriggerKey 
are not equal");
+
+        prerequisiteRevision = scaleUpChangeTriggerKey;
     }
 
     private CompletableFuture<Void> testSaveDataNodesOnScaleUp(int zoneId, 
long revision) {

Reply via email to