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) {