This is an automated email from the ASF dual-hosted git repository.
zstan 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 f80db3d6139 IGNITE-25159 Sql. Align ALTER ZONE syntax (#5751)
f80db3d6139 is described below
commit f80db3d613932aae7948544d74bbc8f68d0089e1
Author: Evgeniy Stanilovskiy <[email protected]>
AuthorDate: Mon May 12 14:19:37 2025 +0300
IGNITE-25159 Sql. Align ALTER ZONE syntax (#5751)
---
...tDistributionZoneMetaStorageCompactionTest.java | 2 +-
.../ItDistributionZonesFiltersTest.java | 4 +-
.../rebalance/ItRebalanceRecoveryTest.java | 2 +-
.../rebalance/ItRebalanceTriggersRecoveryTest.java | 6 +-
.../internal/index/ItIndexAndRebalanceTest.java | 2 +-
...dexRegistrationAndRebalanceConcurrencyTest.java | 2 +-
.../runner/app/ItReplicaStateManagerTest.java | 2 +-
.../table/ItRebalanceWithPartitionReturnTest.java | 2 +-
.../ignite/internal/sql/engine/ItZoneDdlTest.java | 8 +-
.../engine/systemviews/ItZonesSystemViewTest.java | 8 +-
.../src/main/codegen/includes/parserImpls.ftl | 23 ++++++
.../prepare/ddl/DdlSqlToCommandConverter.java | 4 +-
.../sql/engine/sql/IgniteSqlAlterZoneSet.java | 9 ++-
.../DistributionZoneSqlToCommandConverterTest.java | 83 +++++++++++++------
...ributionZoneObsoleteSyntaxSqlDdlParserTest.java | 93 ++++++++++++++++++++++
.../sql/DistributionZoneSqlDdlParserTest.java | 76 +++++++++++++-----
.../ignite/internal/ItRaftFsyncOptionTest.java | 2 +-
.../partition/ItPartitionDestructionTest.java | 2 +-
...ilablePartitionsRecoveryByFilterUpdateTest.java | 2 +-
.../ItHighAvailablePartitionsRecoveryTest.java | 4 +-
.../disaster/ItDisasterRecoveryManagerTest.java | 2 +-
.../ItDisasterRecoveryReconfigurationTest.java | 28 +++----
.../ignite/internal/tx/ItTxTimeoutOneNodeTest.java | 2 +-
.../tx/readonly/ItReadOnlyTxInPastTest.java | 2 +-
24 files changed, 283 insertions(+), 87 deletions(-)
diff --git
a/modules/distribution-zones/src/integrationTest/java/org/apache/ignite/internal/distributionzones/ItDistributionZoneMetaStorageCompactionTest.java
b/modules/distribution-zones/src/integrationTest/java/org/apache/ignite/internal/distributionzones/ItDistributionZoneMetaStorageCompactionTest.java
index 8106978f4d1..b30192a4b2a 100644
---
a/modules/distribution-zones/src/integrationTest/java/org/apache/ignite/internal/distributionzones/ItDistributionZoneMetaStorageCompactionTest.java
+++
b/modules/distribution-zones/src/integrationTest/java/org/apache/ignite/internal/distributionzones/ItDistributionZoneMetaStorageCompactionTest.java
@@ -176,7 +176,7 @@ public class ItDistributionZoneMetaStorageCompactionTest
extends ClusterPerTestI
log.info("Test: created the zone with one replica. Changing replica
number to 2.");
// Triggering the rebalance.
- sql("alter zone " + ZONE_NAME + " set replicas=2");
+ sql("alter zone " + ZONE_NAME + " set (replicas 2)");
// Wait for the rebalancing to finish.
assertValueInStorage(
diff --git
a/modules/distribution-zones/src/integrationTest/java/org/apache/ignite/internal/distributionzones/ItDistributionZonesFiltersTest.java
b/modules/distribution-zones/src/integrationTest/java/org/apache/ignite/internal/distributionzones/ItDistributionZonesFiltersTest.java
index f2addbe053c..d13a123054f 100644
---
a/modules/distribution-zones/src/integrationTest/java/org/apache/ignite/internal/distributionzones/ItDistributionZonesFiltersTest.java
+++
b/modules/distribution-zones/src/integrationTest/java/org/apache/ignite/internal/distributionzones/ItDistributionZonesFiltersTest.java
@@ -480,11 +480,11 @@ public class ItDistributionZonesFiltersTest extends
ClusterPerTestIntegrationTes
}
private static String alterZoneSql(String filter) {
- return String.format("ALTER ZONE \"%s\" SET \"DATA_NODES_FILTER\" =
'%s'", ZONE_NAME, filter);
+ return String.format("ALTER ZONE \"%s\" SET (NODES FILTER '%s')",
ZONE_NAME, filter);
}
private static String alterZoneSql(int replicas) {
- return String.format("ALTER ZONE \"%s\" SET \"REPLICAS\" = %s",
ZONE_NAME, replicas);
+ return String.format("ALTER ZONE \"%s\" SET (REPLICAS %s)", ZONE_NAME,
replicas);
}
private static String createTableSql() {
diff --git
a/modules/distribution-zones/src/integrationTest/java/org/apache/ignite/internal/rebalance/ItRebalanceRecoveryTest.java
b/modules/distribution-zones/src/integrationTest/java/org/apache/ignite/internal/rebalance/ItRebalanceRecoveryTest.java
index 18ee1a9df94..a32d64067d8 100644
---
a/modules/distribution-zones/src/integrationTest/java/org/apache/ignite/internal/rebalance/ItRebalanceRecoveryTest.java
+++
b/modules/distribution-zones/src/integrationTest/java/org/apache/ignite/internal/rebalance/ItRebalanceRecoveryTest.java
@@ -69,7 +69,7 @@ public class ItRebalanceRecoveryTest extends
ClusterPerTestIntegrationTest {
// Change the number of replicas so that the table would get
replicated on both nodes.
cluster.doInSession(0, session -> {
- session.execute(null, "ALTER ZONE TEST_ZONE SET REPLICAS=2");
+ session.execute(null, "ALTER ZONE TEST_ZONE SET (REPLICAS 2)");
});
cluster.restartNode(1);
diff --git
a/modules/distribution-zones/src/integrationTest/java/org/apache/ignite/internal/rebalance/ItRebalanceTriggersRecoveryTest.java
b/modules/distribution-zones/src/integrationTest/java/org/apache/ignite/internal/rebalance/ItRebalanceTriggersRecoveryTest.java
index 28e096f0503..c40861ffa00 100644
---
a/modules/distribution-zones/src/integrationTest/java/org/apache/ignite/internal/rebalance/ItRebalanceTriggersRecoveryTest.java
+++
b/modules/distribution-zones/src/integrationTest/java/org/apache/ignite/internal/rebalance/ItRebalanceTriggersRecoveryTest.java
@@ -120,7 +120,7 @@ public class ItRebalanceTriggersRecoveryTest extends
ClusterPerTestIntegrationTe
WatchListenerInhibitor.metastorageEventsInhibitor(cluster.node(2)).startInhibit();
cluster.doInSession(0, session -> {
- session.execute(null, "ALTER ZONE " + ZONE_NAME + " SET
DATA_NODES_FILTER='$[?(@.zone == \"global\")]'");
+ session.execute(null, "ALTER ZONE " + ZONE_NAME + " SET (NODES
FILTER '$[?(@.zone == \"global\")]')");
});
// Check that metastore node schedule the rebalance procedure.
@@ -163,7 +163,7 @@ public class ItRebalanceTriggersRecoveryTest extends
ClusterPerTestIntegrationTe
WatchListenerInhibitor.metastorageEventsInhibitor(cluster.node(2)).startInhibit();
cluster.doInSession(0, session -> {
- session.execute(null, "ALTER ZONE " + ZONE_NAME + " SET
REPLICAS=2");
+ session.execute(null, "ALTER ZONE " + ZONE_NAME + " SET (REPLICAS
2)");
});
// Check that metastore node schedule the rebalance procedure.
@@ -206,7 +206,7 @@ public class ItRebalanceTriggersRecoveryTest extends
ClusterPerTestIntegrationTe
stopNode(3);
cluster.doInSession(0, session -> {
- session.execute(null, "ALTER ZONE " + ZONE_NAME + " SET
REPLICAS=2, DATA_NODES_FILTER='$[?(@.zone == \"global\")]'");
+ session.execute(null, "ALTER ZONE " + ZONE_NAME + " SET (REPLICAS
2, NODES FILTER '$[?(@.zone == \"global\")]')");
});
// Check that new replica from 'global' zone received the data and
rebalance really happened.
diff --git
a/modules/index/src/integrationTest/java/org/apache/ignite/internal/index/ItIndexAndRebalanceTest.java
b/modules/index/src/integrationTest/java/org/apache/ignite/internal/index/ItIndexAndRebalanceTest.java
index 08fc1c73057..a7173154715 100644
---
a/modules/index/src/integrationTest/java/org/apache/ignite/internal/index/ItIndexAndRebalanceTest.java
+++
b/modules/index/src/integrationTest/java/org/apache/ignite/internal/index/ItIndexAndRebalanceTest.java
@@ -87,7 +87,7 @@ public class ItIndexAndRebalanceTest extends
BaseSqlIntegrationTest {
}
private static void changeZoneReplicas(String zoneName, int replicas) {
- sql(format("ALTER ZONE {} SET REPLICAS={}", zoneName, replicas));
+ sql(format("ALTER ZONE {} SET (REPLICAS {})", zoneName, replicas));
}
private static void waitForStableAssignmentsChangeInMetastore(
diff --git
a/modules/index/src/integrationTest/java/org/apache/ignite/internal/index/ItIndexRegistrationAndRebalanceConcurrencyTest.java
b/modules/index/src/integrationTest/java/org/apache/ignite/internal/index/ItIndexRegistrationAndRebalanceConcurrencyTest.java
index fb17de29b4c..40faa93f900 100644
---
a/modules/index/src/integrationTest/java/org/apache/ignite/internal/index/ItIndexRegistrationAndRebalanceConcurrencyTest.java
+++
b/modules/index/src/integrationTest/java/org/apache/ignite/internal/index/ItIndexRegistrationAndRebalanceConcurrencyTest.java
@@ -56,6 +56,6 @@ class ItIndexRegistrationAndRebalanceConcurrencyTest extends
ClusterPerTestInteg
}
private static void initiateRebalanceOnTestZone(Ignite ignite) {
- ignite.sql().executeScript("ALTER ZONE " + TEST_ZONE_NAME + " SET
replicas=2");
+ ignite.sql().executeScript("ALTER ZONE " + TEST_ZONE_NAME + " SET
(replicas 2)");
}
}
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItReplicaStateManagerTest.java
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItReplicaStateManagerTest.java
index 1c286d9a48b..b8205a23ea1 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItReplicaStateManagerTest.java
+++
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItReplicaStateManagerTest.java
@@ -159,7 +159,7 @@ public class ItReplicaStateManagerTest extends
BaseIgniteRestartTest {
}
private static String alterZoneSql(String filter) {
- return String.format("ALTER ZONE \"%s\" SET \"DATA_NODES_FILTER\" =
'%s'", ZONE_NAME, filter);
+ return String.format("ALTER ZONE \"%s\" SET (NODES FILTER '%s')",
ZONE_NAME, filter);
}
private static String filterForNodes(List<IgniteImpl> nodes, @Nullable
UUID excludeId) {
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/table/ItRebalanceWithPartitionReturnTest.java
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/table/ItRebalanceWithPartitionReturnTest.java
index 3c199cd02f9..f198eee672b 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/table/ItRebalanceWithPartitionReturnTest.java
+++
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/table/ItRebalanceWithPartitionReturnTest.java
@@ -307,7 +307,7 @@ public class ItRebalanceWithPartitionReturnTest extends
ClusterPerTestIntegratio
}
private static String alterZoneSql(String filter) {
- return String.format("ALTER ZONE \"%s\" SET \"DATA_NODES_FILTER\" =
'%s'", ZONE_NAME, filter);
+ return String.format("ALTER ZONE \"%s\" SET (NODES FILTER '%s')",
ZONE_NAME, filter);
}
private static String createTableSql() {
diff --git
a/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItZoneDdlTest.java
b/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItZoneDdlTest.java
index 9a5242eeb4b..49de7657c36 100644
---
a/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItZoneDdlTest.java
+++
b/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItZoneDdlTest.java
@@ -178,7 +178,7 @@ public class ItZoneDdlTest extends
ClusterPerClassIntegrationTest {
sql(String.format("CREATE ZONE %s (PARTITIONS 11) STORAGE PROFILES
['%s']", ZONE_NAME, DEFAULT_STORAGE_PROFILE));
IgniteTestUtils.assertThrowsWithCause(
- () -> sql(String.format("ALTER ZONE %s SET PARTITIONS = 111",
ZONE_NAME)),
+ () -> sql(String.format("ALTER ZONE %s SET (PARTITIONS 111)",
ZONE_NAME)),
CatalogValidationException.class,
"Partitions number cannot be altered"
);
@@ -189,7 +189,7 @@ public class ItZoneDdlTest extends
ClusterPerClassIntegrationTest {
sql(String.format("CREATE ZONE %s STORAGE PROFILES ['%s']", ZONE_NAME,
DEFAULT_STORAGE_PROFILE));
IgniteTestUtils.assertThrowsWithCause(
- () -> sql(String.format("ALTER ZONE %s SET PARTITIONS = %s",
ZONE_NAME, DEFAULT_PARTITION_COUNT + 123)),
+ () -> sql(String.format("ALTER ZONE %s SET (PARTITIONS %s)",
ZONE_NAME, DEFAULT_PARTITION_COUNT + 123)),
CatalogValidationException.class,
"Partitions number cannot be altered"
);
@@ -200,7 +200,7 @@ public class ItZoneDdlTest extends
ClusterPerClassIntegrationTest {
sql(String.format("CREATE ZONE %s (PARTITIONS 11) STORAGE PROFILES
['%s']", ZONE_NAME, DEFAULT_STORAGE_PROFILE));
IgniteTestUtils.assertThrowsWithCause(
- () -> sql(String.format("ALTER ZONE %s SET PARTITIONS = 11",
ZONE_NAME)),
+ () -> sql(String.format("ALTER ZONE %s SET (PARTITIONS 11)",
ZONE_NAME)),
CatalogValidationException.class,
"Partitions number cannot be altered"
);
@@ -298,7 +298,7 @@ public class ItZoneDdlTest extends
ClusterPerClassIntegrationTest {
private static void tryToAlterZone(String zoneName, int
dataNodesAutoAdjust, boolean failIfNotExists) {
sql(String.format(
- "ALTER ZONE %s SET DATA_NODES_AUTO_ADJUST=%s",
+ "ALTER ZONE %s SET (AUTO ADJUST %s)",
failIfNotExists ? zoneName : "IF EXISTS " + zoneName,
dataNodesAutoAdjust
));
}
diff --git
a/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/systemviews/ItZonesSystemViewTest.java
b/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/systemviews/ItZonesSystemViewTest.java
index 80725d88aed..1beae275910 100644
---
a/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/systemviews/ItZonesSystemViewTest.java
+++
b/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/systemviews/ItZonesSystemViewTest.java
@@ -100,7 +100,7 @@ public class ItZonesSystemViewTest extends
AbstractSystemViewTest {
DEFAULT_CONSISTENCY_MODE.name()
).check();
- sql("ALTER ZONE " + ZONE_NAME + " SET REPLICAS = 100");
+ sql("ALTER ZONE " + ZONE_NAME + " SET (REPLICAS 100)");
assertQuery(selectFromZonesSystemView(ZONE_NAME)).returns(
ZONE_NAME,
@@ -177,7 +177,7 @@ public class ItZonesSystemViewTest extends
AbstractSystemViewTest {
ConsistencyMode.HIGH_AVAILABILITY.name()
).check();
- sql("ALTER ZONE " + ZONE_NAME + " SET REPLICAS = 100");
+ sql("ALTER ZONE " + ZONE_NAME + " SET (REPLICAS 100)");
assertQuery(selectFromZonesSystemView(ZONE_NAME)).returns(
ZONE_NAME,
@@ -210,8 +210,8 @@ public class ItZonesSystemViewTest extends
AbstractSystemViewTest {
assertThrows(
SqlException.class,
- () -> sql("ALTER ZONE " + ZONE_NAME + " SET CONSISTENCY_MODE =
'HIGH_AVAILABILITY'"),
- "CONSISTENCY_MODE");
+ () -> sql("ALTER ZONE " + ZONE_NAME + " SET (CONSISTENCY MODE
'HIGH_AVAILABILITY')"),
+ "CONSISTENCY MODE");
assertQuery(selectFromZonesSystemView(ZONE_NAME)).returns(
ZONE_NAME,
diff --git a/modules/sql-engine/src/main/codegen/includes/parserImpls.ftl
b/modules/sql-engine/src/main/codegen/includes/parserImpls.ftl
index 982c258f97a..61cf553345a 100644
--- a/modules/sql-engine/src/main/codegen/includes/parserImpls.ftl
+++ b/modules/sql-engine/src/main/codegen/includes/parserImpls.ftl
@@ -758,13 +758,36 @@ SqlNode SqlAlterZone() :
return new IgniteSqlAlterZoneSetDefault(s.end(this), zoneId,
ifExists);
}
|
+ LOOKAHEAD(2)
{ s.add(this); } optionList = AlterZoneOptions() {
return new IgniteSqlAlterZoneSet(s.end(this), zoneId, optionList,
ifExists);
}
+ |
+ { s.add(this); } optionList = ZoneOptionsList() {
+ return new IgniteSqlAlterZoneSet(s.end(this), zoneId, optionList,
ifExists);
+ }
+ |
+ optionList = ZoneOption()
+ {
+ return new IgniteSqlAlterZoneSet(s.end(this), zoneId, optionList,
ifExists);
+ }
)
)
}
+SqlNodeList ZoneOption() :
+{
+ List<SqlNode> zoneOptions = new ArrayList<SqlNode>();
+
+ final Span s = Span.of();
+}
+{
+ ZoneElement(zoneOptions)
+ {
+ return new SqlNodeList(zoneOptions, s.end(this));
+ }
+}
+
SqlNodeList AlterZoneOptions() :
{
List<SqlNode> list = new ArrayList<SqlNode>();
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/prepare/ddl/DdlSqlToCommandConverter.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/prepare/ddl/DdlSqlToCommandConverter.java
index 94319deb6a7..84795431af7 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/prepare/ddl/DdlSqlToCommandConverter.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/prepare/ddl/DdlSqlToCommandConverter.java
@@ -812,14 +812,14 @@ public class DdlSqlToCommandConverter {
if (!knownZoneOptionNames.contains(optionName)) {
throw unexpectedZoneOption(ctx, optionName);
} else if (!remainingKnownOptions.remove(optionName)) {
- throw duplicateZoneOption(ctx, optionName);
+ throw duplicateZoneOption(ctx,
ZoneOptionEnum.valueOf(optionName).sqlName);
}
ZoneOptionEnum zoneOption = ZoneOptionEnum.valueOf(optionName);
DdlOptionInfo<S, ?> zoneOptionInfo = optionInfos.get(zoneOption);
// Options infos doesn't contain REPLICAS, it's handled separately
- assert zoneOptionInfo != null || zoneOption == REPLICAS : optionName;
+ assert zoneOptionInfo != null || zoneOption == REPLICAS :
zoneOption.sqlName;
assert option.value() instanceof SqlLiteral : option.value();
SqlLiteral literal = (SqlLiteral) option.value();
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/sql/IgniteSqlAlterZoneSet.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/sql/IgniteSqlAlterZoneSet.java
index f3ba2d956a2..85e11e85c94 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/sql/IgniteSqlAlterZoneSet.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/sql/IgniteSqlAlterZoneSet.java
@@ -69,7 +69,14 @@ public class IgniteSqlAlterZoneSet extends
IgniteAbstractSqlAlterZone {
protected void unparseAlterZoneOperation(SqlWriter writer, int leftPrec,
int rightPrec) {
writer.keyword("SET");
- optionList.unparse(writer, 0, 0);
+ if (!optionList.isEmpty()) {
+ SqlWriter.Frame frame = writer.startList("(", ")");
+ for (SqlNode c : optionList) {
+ writer.sep(",");
+ c.unparse(writer, 0, 0);
+ }
+ writer.endList(frame);
+ }
}
/** The list of modification options. **/
diff --git
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/prepare/ddl/DistributionZoneSqlToCommandConverterTest.java
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/prepare/ddl/DistributionZoneSqlToCommandConverterTest.java
index c96b060997c..fde1083b0f3 100644
---
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/prepare/ddl/DistributionZoneSqlToCommandConverterTest.java
+++
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/prepare/ddl/DistributionZoneSqlToCommandConverterTest.java
@@ -332,9 +332,10 @@ public class DistributionZoneSqlToCommandConverterTest
extends AbstractDdlSqlToC
assertThat(zoneCmd.ifExists(), is(true));
}
- @Test
- public void testAlterZoneCommand() throws SqlParseException {
- SqlNode node = parse("ALTER ZONE test SET replicas=3");
+ @ParameterizedTest(name = "obsolete = {0}")
+ @ValueSource(booleans = {true, false})
+ public void testAlterZoneCommand(boolean obsolete) throws
SqlParseException {
+ SqlNode node = parse(obsolete ? "ALTER ZONE test SET replicas=3" :
"ALTER ZONE test SET (replicas 3)");
CatalogCommand cmd = converter.convert((SqlDdl) node, createContext());
assertThat(cmd, instanceOf(AlterZoneCommand.class));
@@ -353,9 +354,10 @@ public class DistributionZoneSqlToCommandConverterTest
extends AbstractDdlSqlToC
assertThat(((AlterZoneCommand) cmd).ifExists(), is(false));
}
- @Test
- public void testAlterZoneIfExistsCommand() throws SqlParseException {
- SqlNode node = parse("ALTER ZONE IF EXISTS test SET replicas=3");
+ @ParameterizedTest(name = "obsolete = {0}")
+ @ValueSource(booleans = {true, false})
+ public void testAlterZoneIfExistsCommand(boolean obsolete) throws
SqlParseException {
+ SqlNode node = parse(obsolete ? "ALTER ZONE IF EXISTS test SET
replicas=3" : "ALTER ZONE IF EXISTS test SET (replicas 3)");
CatalogCommand cmd = converter.convert((SqlDdl) node, createContext());
@@ -363,14 +365,22 @@ public class DistributionZoneSqlToCommandConverterTest
extends AbstractDdlSqlToC
assertThat(((AlterZoneCommand) cmd).ifExists(), is(true));
}
- @Test
- public void testAlterZoneSetCommand() throws SqlParseException {
+ @ParameterizedTest(name = "obsolete = {0}")
+ @ValueSource(booleans = {true, false})
+ public void testAlterZoneSetCommand(boolean obsolete) throws
SqlParseException {
// Check non-conflicting options.
{
- SqlNode node = parse("ALTER ZONE test SET "
- + "replicas=3, "
- + "data_nodes_filter='$[?(@.region == \"US\")]', "
- + "data_nodes_auto_adjust=300");
+ String sql = obsolete
+ ? "ALTER ZONE test SET "
+ + "replicas=3, "
+ + "data_nodes_filter='$[?(@.region == \"US\")]', "
+ + "data_nodes_auto_adjust=300"
+ : "ALTER ZONE test SET "
+ + "(replicas 3, "
+ + "nodes filter '$[?(@.region == \"US\")]', "
+ + "auto adjust 300)";
+
+ SqlNode node = parse(sql);
CatalogCommand cmd = converter.convert((SqlDdl) node,
createContext());
assertThat(cmd, instanceOf(AlterZoneCommand.class));
@@ -392,9 +402,15 @@ public class DistributionZoneSqlToCommandConverterTest
extends AbstractDdlSqlToC
// Check remaining options.
{
- SqlNode node = parse("ALTER ZONE test SET "
- + "data_nodes_auto_adjust_scale_up=100, "
- + "data_nodes_auto_adjust_scale_down=200");
+ String sql = obsolete
+ ? "ALTER ZONE test SET "
+ + "data_nodes_auto_adjust_scale_up=100, "
+ + "data_nodes_auto_adjust_scale_down=200"
+ : "ALTER ZONE test SET "
+ + "(auto scale up 100, "
+ + "auto scale down 200)";
+
+ SqlNode node = parse(sql);
CatalogCommand cmd = converter.convert((SqlDdl) node,
createContext());
assertThat(cmd, instanceOf(AlterZoneCommand.class));
@@ -414,9 +430,10 @@ public class DistributionZoneSqlToCommandConverterTest
extends AbstractDdlSqlToC
}
}
- @Test
- public void testAlterZoneReplicasAll() throws SqlParseException {
- SqlNode node = parse("ALTER ZONE test SET replicas=ALL");
+ @ParameterizedTest(name = "obsolete = {0}")
+ @ValueSource(booleans = {true, false})
+ public void testAlterZoneReplicasAll(boolean obsolete) throws
SqlParseException {
+ SqlNode node = parse(obsolete ? "ALTER ZONE test SET replicas=ALL" :
"ALTER ZONE test SET (replicas ALL)");
CatalogCommand cmd = converter.convert((SqlDdl) node, createContext());
assertThat(cmd, instanceOf(AlterZoneCommand.class));
@@ -459,18 +476,34 @@ public class DistributionZoneSqlToCommandConverterTest
extends AbstractDdlSqlToC
assertThat(((AlterZoneSetDefaultCommand) cmd).ifExists(), is(true));
}
- @Test
- public void testAlterZoneCommandWithInvalidOptions() throws
SqlParseException {
- expectOptionValidationError("ALTER ZONE test SET replicas=2,
data_nodes_auto_adjust=-100", "DATA_NODES_AUTO_ADJUST");
+ @ParameterizedTest(name = "obsolete = {0}, option = {1}")
+ @MethodSource("numericOptions")
+ public void testAlterZoneCommandWithInvalidOptions(boolean obsolete,
ZoneOptionEnum option) throws SqlParseException {
+ String sql = obsolete
+ ? "ALTER ZONE test SET replicas=2, data_nodes_auto_adjust=-100"
+ : "ALTER ZONE test SET ({} -100)";
+
+ if (obsolete) {
+ expectOptionValidationError(sql, "DATA_NODES_AUTO_ADJUST");
+ } else {
+ String sqlName = option.sqlName;
+ String prefix = "ALTER ZONE test SET (";
+ assertThrowsWithPos(format(sql, sqlName, "-100"), "-",
prefix.length() + sqlName.length() + 1 /* start pos*/
+ + 1 /* first symbol after bracket*/);
+ }
}
- @Test
- public void testAlterZoneCommandWithDuplicateOptions() throws
SqlParseException {
- SqlNode node = parse("ALTER ZONE test SET replicas=2,
data_nodes_auto_adjust=300, DATA_NODES_AUTO_ADJUST=400");
+ @ParameterizedTest(name = "obsolete = {0}")
+ @ValueSource(booleans = {true, false})
+ public void testAlterZoneCommandWithDuplicateOptions(boolean obsolete)
throws SqlParseException {
+ String sql = obsolete
+ ? "ALTER ZONE test SET replicas=2, data_nodes_auto_adjust=300,
DATA_NODES_AUTO_ADJUST=400"
+ : "ALTER ZONE test SET (replicas 2, auto adjust 300, AUTO
ADJUST 400)";
+ SqlNode node = parse(sql);
assertThat(node, instanceOf(SqlDdl.class));
- expectDuplicateOptionError((SqlDdl) node, "DATA_NODES_AUTO_ADJUST");
+ expectDuplicateOptionError((SqlDdl) node,
ZoneOptionEnum.DATA_NODES_AUTO_ADJUST.sqlName);
}
@Test
diff --git
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/sql/DistributionZoneObsoleteSyntaxSqlDdlParserTest.java
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/sql/DistributionZoneObsoleteSyntaxSqlDdlParserTest.java
index eb673e92002..cf51d88ea6a 100644
---
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/sql/DistributionZoneObsoleteSyntaxSqlDdlParserTest.java
+++
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/sql/DistributionZoneObsoleteSyntaxSqlDdlParserTest.java
@@ -18,11 +18,13 @@
package org.apache.ignite.internal.sql.engine.sql;
import static
org.apache.ignite.internal.sql.engine.sql.DistributionZoneSqlDdlParserTest.assertThatZoneOptionPresent;
+import static
org.apache.ignite.internal.sql.engine.util.SqlTestUtils.assertThrowsSqlException;
import static org.hamcrest.CoreMatchers.hasItems;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.not;
import static org.hamcrest.CoreMatchers.nullValue;
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.junit.jupiter.api.Assertions.assertInstanceOf;
import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -32,6 +34,7 @@ import java.util.List;
import org.apache.calcite.sql.SqlLiteral;
import org.apache.calcite.sql.SqlNode;
import org.apache.ignite.internal.sql.engine.prepare.ddl.ZoneOptionEnum;
+import org.apache.ignite.lang.ErrorGroups.Sql;
import org.junit.jupiter.api.Test;
/**
@@ -165,6 +168,87 @@ public class
DistributionZoneObsoleteSyntaxSqlDdlParserTest extends AbstractPars
expectUnparsed(createZone, "CREATE ZONE \"TEST_ZONE\" (REPLICAS ALL)");
}
+ /**
+ * Parsing ALTER ZONE SET statement.
+ */
+ @Test
+ public void alterZoneSet() {
+ IgniteSqlAlterZoneSet alterZoneSet = parseAlterZoneSet("alter zone
a.test_zone set replicas=2");
+ assertFalse(alterZoneSet.ifExists());
+
+ String expectedStmt = "ALTER ZONE \"A\".\"TEST_ZONE\" SET (REPLICAS
2)";
+ expectUnparsed(alterZoneSet, expectedStmt);
+ }
+
+ /**
+ * Parsing ALTER ZONE IF EXISTS SET statement.
+ */
+ @Test
+ public void alterZoneIfExistsSet() {
+ IgniteSqlAlterZoneSet alterZoneSet = parseAlterZoneSet("alter zone if
exists a.test_zone set replicas=2");
+ assertTrue(alterZoneSet.ifExists());
+
+ String expectedStmt = "ALTER ZONE IF EXISTS \"A\".\"TEST_ZONE\" SET
(REPLICAS 2)";
+ expectUnparsed(alterZoneSet, expectedStmt);
+ }
+
+ /**
+ * Parsing ALTER ZONE SET statement.
+ */
+ @Test
+ public void alterZoneSetOptions() {
+ IgniteSqlAlterZoneSet alterZoneSet = parseAlterZoneSet(
+ "alter zone a.test_zone set "
+ + "replicas=2, "
+ + "data_nodes_filter='(\"US\" || \"EU\") && \"SSD\"', "
+ + "data_nodes_auto_adjust=1, "
+ + "data_nodes_auto_adjust_scale_up=2, "
+ + "data_nodes_auto_adjust_scale_down=3"
+ );
+
+ assertEquals(List.of("A", "TEST_ZONE"), alterZoneSet.name().names);
+ assertNotNull(alterZoneSet.alterOptionsList());
+ assertFalse(alterZoneSet.ifExists());
+
+ List<SqlNode> optList = alterZoneSet.alterOptionsList().getList();
+
+ assertThatZoneOptionPresent(optList, ZoneOptionEnum.REPLICAS, 2);
+ assertThatZoneOptionPresent(optList, ZoneOptionEnum.DATA_NODES_FILTER,
"(\"US\" || \"EU\") && \"SSD\"");
+ assertThatZoneOptionPresent(optList,
ZoneOptionEnum.DATA_NODES_AUTO_ADJUST, 1);
+
+ String expectedStmt = "ALTER ZONE \"A\".\"TEST_ZONE\" SET ("
+ + "REPLICAS 2, "
+ + "NODES FILTER '(\"US\" || \"EU\") && \"SSD\"', "
+ + "AUTO ADJUST 1, "
+ + "AUTO SCALE UP 2, "
+ + "AUTO SCALE DOWN 3)";
+ expectUnparsed(alterZoneSet, expectedStmt);
+ }
+
+ /**
+ * Ensures that we cannot change zone parameters and set this zone as
default in the same request.
+ */
+ @Test
+ public void alterZoneSetDefaultWithOptionsIsIllegal() {
+ assertThrowsSqlException(
+ Sql.STMT_PARSE_ERR,
+ "Failed to parse query",
+ () -> parse("alter zone a.test_zone set replicas=2, default")
+ );
+
+ assertThrowsSqlException(
+ Sql.STMT_PARSE_ERR,
+ "Failed to parse query",
+ () -> parse("alter zone a.test_zone set default, replicas=2")
+ );
+
+ assertThrowsSqlException(
+ Sql.STMT_PARSE_ERR,
+ "Failed to parse query",
+ () -> parse("alter zone a.test_zone set default replicas=2")
+ );
+ }
+
/**
* Parse CREATE ZONE statement.
*
@@ -176,4 +260,13 @@ public class
DistributionZoneObsoleteSyntaxSqlDdlParserTest extends AbstractPars
return assertInstanceOf(IgniteSqlCreateZone.class, node);
}
+
+ /**
+ * Parse ALTER ZONE SET statement.
+ */
+ private static IgniteSqlAlterZoneSet parseAlterZoneSet(String stmt) {
+ SqlNode node = parse(stmt);
+
+ return assertInstanceOf(IgniteSqlAlterZoneSet.class, node);
+ }
}
diff --git
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/sql/DistributionZoneSqlDdlParserTest.java
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/sql/DistributionZoneSqlDdlParserTest.java
index 8692ae818c5..630f9d0903e 100644
---
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/sql/DistributionZoneSqlDdlParserTest.java
+++
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/sql/DistributionZoneSqlDdlParserTest.java
@@ -238,19 +238,31 @@ public class DistributionZoneSqlDdlParserTest extends
AbstractParserTest {
assertThrowsSqlException(
Sql.STMT_PARSE_ERR,
"Failed to parse query",
- () -> parse("alter zone a.test_zone set replicas=2, default")
+ () -> parse("alter zone a.test_zone set (replicas 2, default)")
);
assertThrowsSqlException(
Sql.STMT_PARSE_ERR,
"Failed to parse query",
- () -> parse("alter zone a.test_zone set default, replicas=2")
+ () -> parse("alter zone a.test_zone set (default, replicas 2)")
);
assertThrowsSqlException(
Sql.STMT_PARSE_ERR,
"Failed to parse query",
- () -> parse("alter zone a.test_zone set default replicas=2")
+ () -> parse("alter zone a.test_zone set (default replicas 2)")
+ );
+
+ assertThrowsSqlException(
+ Sql.STMT_PARSE_ERR,
+ "Failed to parse query",
+ () -> parse("alter zone a.test_zone set replicas 2 partitions
2")
+ );
+
+ assertThrowsSqlException(
+ Sql.STMT_PARSE_ERR,
+ "Failed to parse query",
+ () -> parse("alter zone a.test_zone set replicas 2, partitions
2")
);
}
@@ -266,12 +278,38 @@ public class DistributionZoneSqlDdlParserTest extends
AbstractParserTest {
* Parsing ALTER ZONE SET statement.
*/
@Test
- public void alterZoneSet() {
- IgniteSqlAlterZoneSet alterZoneSet = parseAlterZoneSet("alter zone
a.test_zone set replicas=2");
+ public void alterZoneSetReplicas() {
+ IgniteSqlAlterZoneSet alterZoneSet = parseAlterZone("alter zone
a.test_zone set (replicas 2)");
+ IgniteSqlAlterZoneSet alterZoneSetOneParam = parseAlterZone("alter
zone a.test_zone set replicas 2");
+ IgniteSqlAlterZoneSet alterZoneSetOneEqParam = parseAlterZone("alter
zone a.test_zone set replicas = 2");
assertFalse(alterZoneSet.ifExists());
- String expectedStmt = "ALTER ZONE \"A\".\"TEST_ZONE\" SET REPLICAS 2";
+ String expectedStmt = "ALTER ZONE \"A\".\"TEST_ZONE\" SET (REPLICAS
2)";
expectUnparsed(alterZoneSet, expectedStmt);
+ expectUnparsed(alterZoneSetOneParam, expectedStmt);
+ expectUnparsed(alterZoneSetOneEqParam, expectedStmt);
+ }
+
+ @Test
+ public void alterZoneSetNodesFilter() {
+ IgniteSqlAlterZoneSet alterZoneSet = parseAlterZone("alter zone
a.test_zone set (NODES FILTER '\"SSD\"')");
+ IgniteSqlAlterZoneSet alterZoneSetOneParam = parseAlterZone("alter
zone a.test_zone set NODES FILTER '\"SSD\"'");
+ assertFalse(alterZoneSet.ifExists());
+
+ String expectedStmt = "ALTER ZONE \"A\".\"TEST_ZONE\" SET (NODES
FILTER '\"SSD\"')";
+ expectUnparsed(alterZoneSet, expectedStmt);
+ expectUnparsed(alterZoneSetOneParam, expectedStmt);
+ }
+
+ @Test
+ public void alterZoneSetAutoScale() {
+ IgniteSqlAlterZoneSet alterZoneSet = parseAlterZone("alter zone
a.test_zone set (AUTO SCALE UP 2)");
+ IgniteSqlAlterZoneSet alterZoneSetOneParam = parseAlterZone("alter
zone a.test_zone set AUTO SCALE UP 2");
+ assertFalse(alterZoneSet.ifExists());
+
+ String expectedStmt = "ALTER ZONE \"A\".\"TEST_ZONE\" SET (AUTO SCALE
UP 2)";
+ expectUnparsed(alterZoneSet, expectedStmt);
+ expectUnparsed(alterZoneSetOneParam, expectedStmt);
}
/**
@@ -279,10 +317,10 @@ public class DistributionZoneSqlDdlParserTest extends
AbstractParserTest {
*/
@Test
public void alterZoneIfExistsSet() {
- IgniteSqlAlterZoneSet alterZoneSet = parseAlterZoneSet("alter zone if
exists a.test_zone set replicas=2");
+ IgniteSqlAlterZoneSet alterZoneSet = parseAlterZone("alter zone if
exists a.test_zone set (replicas 2)");
assertTrue(alterZoneSet.ifExists());
- String expectedStmt = "ALTER ZONE IF EXISTS \"A\".\"TEST_ZONE\" SET
REPLICAS 2";
+ String expectedStmt = "ALTER ZONE IF EXISTS \"A\".\"TEST_ZONE\" SET
(REPLICAS 2)";
expectUnparsed(alterZoneSet, expectedStmt);
}
@@ -291,13 +329,13 @@ public class DistributionZoneSqlDdlParserTest extends
AbstractParserTest {
*/
@Test
public void alterZoneSetOptions() {
- IgniteSqlAlterZoneSet alterZoneSet = parseAlterZoneSet(
- "alter zone a.test_zone set "
- + "replicas=2, "
- + "data_nodes_filter='(\"US\" || \"EU\") && \"SSD\"', "
- + "data_nodes_auto_adjust=1, "
- + "data_nodes_auto_adjust_scale_up=2, "
- + "data_nodes_auto_adjust_scale_down=3"
+ IgniteSqlAlterZoneSet alterZoneSet = parseAlterZone(
+ "alter zone a.test_zone set ("
+ + "REPLICAS 2, "
+ + "NODES FILTER '(\"US\" || \"EU\") && \"SSD\"', "
+ + "AUTO ADJUST 1, "
+ + "AUTO SCALE UP 2, "
+ + "AUTO SCALE DOWN 3)"
);
assertEquals(List.of("A", "TEST_ZONE"), alterZoneSet.name().names);
@@ -309,13 +347,15 @@ public class DistributionZoneSqlDdlParserTest extends
AbstractParserTest {
assertThatZoneOptionPresent(optList, ZoneOptionEnum.REPLICAS, 2);
assertThatZoneOptionPresent(optList, ZoneOptionEnum.DATA_NODES_FILTER,
"(\"US\" || \"EU\") && \"SSD\"");
assertThatZoneOptionPresent(optList,
ZoneOptionEnum.DATA_NODES_AUTO_ADJUST, 1);
+ assertThatZoneOptionPresent(optList,
ZoneOptionEnum.DATA_NODES_AUTO_ADJUST_SCALE_UP, 2);
+ assertThatZoneOptionPresent(optList,
ZoneOptionEnum.DATA_NODES_AUTO_ADJUST_SCALE_DOWN, 3);
String expectedStmt = "ALTER ZONE \"A\".\"TEST_ZONE\" SET "
- + "REPLICAS 2, "
+ + "(REPLICAS 2, "
+ "NODES FILTER '(\"US\" || \"EU\") && \"SSD\"', "
+ "AUTO ADJUST 1, "
+ "AUTO SCALE UP 2, "
- + "AUTO SCALE DOWN 3";
+ + "AUTO SCALE DOWN 3)";
expectUnparsed(alterZoneSet, expectedStmt);
}
@@ -342,7 +382,7 @@ public class DistributionZoneSqlDdlParserTest extends
AbstractParserTest {
/**
* Parse ALTER ZONE SET statement.
*/
- private static IgniteSqlAlterZoneSet parseAlterZoneSet(String stmt) {
+ private static IgniteSqlAlterZoneSet parseAlterZone(String stmt) {
SqlNode node = parse(stmt);
return assertInstanceOf(IgniteSqlAlterZoneSet.class, node);
diff --git
a/modules/table/src/integrationTest/java/org/apache/ignite/internal/ItRaftFsyncOptionTest.java
b/modules/table/src/integrationTest/java/org/apache/ignite/internal/ItRaftFsyncOptionTest.java
index a1499eb198d..c42b0ffe7e4 100644
---
a/modules/table/src/integrationTest/java/org/apache/ignite/internal/ItRaftFsyncOptionTest.java
+++
b/modules/table/src/integrationTest/java/org/apache/ignite/internal/ItRaftFsyncOptionTest.java
@@ -98,6 +98,6 @@ class ItRaftFsyncOptionTest extends
ClusterPerTestIntegrationTest {
CatalogManager catalogManager =
unwrapIgniteImpl(node(0)).catalogManager();
CatalogZoneDescriptor defaultZone =
CatalogTestUtils.awaitDefaultZoneCreation(catalogManager);
- node(0).sql().executeScript(String.format("ALTER ZONE \"%s\"SET
DATA_NODES_AUTO_ADJUST_SCALE_UP = 0", defaultZone.name()));
+ node(0).sql().executeScript(String.format("ALTER ZONE \"%s\"SET (AUTO
SCALE UP 0)", defaultZone.name()));
}
}
diff --git
a/modules/table/src/integrationTest/java/org/apache/ignite/internal/partition/ItPartitionDestructionTest.java
b/modules/table/src/integrationTest/java/org/apache/ignite/internal/partition/ItPartitionDestructionTest.java
index e776f74d46f..4eaf5d55253 100644
---
a/modules/table/src/integrationTest/java/org/apache/ignite/internal/partition/ItPartitionDestructionTest.java
+++
b/modules/table/src/integrationTest/java/org/apache/ignite/internal/partition/ItPartitionDestructionTest.java
@@ -238,7 +238,7 @@ class ItPartitionDestructionTest extends
ClusterPerTestIntegrationTest {
makeSurePartitionExistsOnDisk(ignite0, tableId, replicationGroupId);
makeSurePartitionExistsOnDisk(ignite1, tableId, replicationGroupId);
- executeUpdate("ALTER ZONE " + ZONE_NAME + " SET REPLICAS = 1");
+ executeUpdate("ALTER ZONE " + ZONE_NAME + " SET (REPLICAS 1)");
IgniteImpl notHostingIgnite =
nodeNotHostingPartition(replicationGroupId);
verifyPartitionGetsRemovedFromDisk(notHostingIgnite, tableId,
replicationGroupId);
diff --git
a/modules/table/src/integrationTest/java/org/apache/ignite/internal/table/distributed/disaster/ItHighAvailablePartitionsRecoveryByFilterUpdateTest.java
b/modules/table/src/integrationTest/java/org/apache/ignite/internal/table/distributed/disaster/ItHighAvailablePartitionsRecoveryByFilterUpdateTest.java
index c6c05e6ce55..6e079f4c66a 100644
---
a/modules/table/src/integrationTest/java/org/apache/ignite/internal/table/distributed/disaster/ItHighAvailablePartitionsRecoveryByFilterUpdateTest.java
+++
b/modules/table/src/integrationTest/java/org/apache/ignite/internal/table/distributed/disaster/ItHighAvailablePartitionsRecoveryByFilterUpdateTest.java
@@ -325,7 +325,7 @@ public class
ItHighAvailablePartitionsRecoveryByFilterUpdateTest extends Abstrac
}
private void alterZoneSql(String filter, String zoneName) {
- executeSql(String.format("ALTER ZONE \"%s\" SET \"DATA_NODES_FILTER\"
= '%s'", zoneName, filter));
+ executeSql(String.format("ALTER ZONE \"%s\" SET (\"DATA_NODES_FILTER\"
'%s')", zoneName, filter));
}
/**
diff --git
a/modules/table/src/integrationTest/java/org/apache/ignite/internal/table/distributed/disaster/ItHighAvailablePartitionsRecoveryTest.java
b/modules/table/src/integrationTest/java/org/apache/ignite/internal/table/distributed/disaster/ItHighAvailablePartitionsRecoveryTest.java
index 5cd210bef64..2d56d52bfdf 100644
---
a/modules/table/src/integrationTest/java/org/apache/ignite/internal/table/distributed/disaster/ItHighAvailablePartitionsRecoveryTest.java
+++
b/modules/table/src/integrationTest/java/org/apache/ignite/internal/table/distributed/disaster/ItHighAvailablePartitionsRecoveryTest.java
@@ -333,7 +333,7 @@ public class ItHighAvailablePartitionsRecoveryTest extends
AbstractHighAvailable
Set<String> fourNodes =
runningNodes().map(Ignite::name).collect(Collectors.toUnmodifiableSet());
- executeSql(format("ALTER ZONE %s SET REPLICAS=%d", HA_ZONE_NAME, 4));
+ executeSql(format("ALTER ZONE %s SET (REPLICAS %d)", HA_ZONE_NAME, 4));
waitAndAssertStableAssignmentsOfPartitionEqualTo(node, HA_TABLE_NAME,
PARTITION_IDS, fourNodes);
@@ -343,7 +343,7 @@ public class ItHighAvailablePartitionsRecoveryTest extends
AbstractHighAvailable
Set<String> threeNodes =
runningNodes().map(Ignite::name).collect(Collectors.toUnmodifiableSet());
- executeSql(format("ALTER ZONE %s SET
data_nodes_auto_adjust_scale_down=%d", HA_ZONE_NAME, 1));
+ executeSql(format("ALTER ZONE %s SET (auto scale down %d)",
HA_ZONE_NAME, 1));
waitAndAssertStableAssignmentsOfPartitionEqualTo(node, HA_TABLE_NAME,
PARTITION_IDS, threeNodes);
diff --git
a/modules/transactions/src/integrationTest/java/org/apache/ignite/internal/disaster/ItDisasterRecoveryManagerTest.java
b/modules/transactions/src/integrationTest/java/org/apache/ignite/internal/disaster/ItDisasterRecoveryManagerTest.java
index 5afd2824f61..db6c33d1488 100644
---
a/modules/transactions/src/integrationTest/java/org/apache/ignite/internal/disaster/ItDisasterRecoveryManagerTest.java
+++
b/modules/transactions/src/integrationTest/java/org/apache/ignite/internal/disaster/ItDisasterRecoveryManagerTest.java
@@ -343,6 +343,6 @@ public class ItDisasterRecoveryManagerTest extends
ClusterPerTestIntegrationTest
CatalogManager catalogManager =
unwrapIgniteImpl(node(0)).catalogManager();
CatalogZoneDescriptor defaultZone =
CatalogTestUtils.awaitDefaultZoneCreation(catalogManager);
- node(0).sql().executeScript(String.format("ALTER ZONE \"%s\"SET
DATA_NODES_AUTO_ADJUST_SCALE_UP = 0", defaultZone.name()));
+ node(0).sql().executeScript(String.format("ALTER ZONE \"%s\"SET (AUTO
SCALE UP 0)", defaultZone.name()));
}
}
diff --git
a/modules/transactions/src/integrationTest/java/org/apache/ignite/internal/disaster/ItDisasterRecoveryReconfigurationTest.java
b/modules/transactions/src/integrationTest/java/org/apache/ignite/internal/disaster/ItDisasterRecoveryReconfigurationTest.java
index 4a3fd943b68..03acec330e3 100644
---
a/modules/transactions/src/integrationTest/java/org/apache/ignite/internal/disaster/ItDisasterRecoveryReconfigurationTest.java
+++
b/modules/transactions/src/integrationTest/java/org/apache/ignite/internal/disaster/ItDisasterRecoveryReconfigurationTest.java
@@ -414,7 +414,7 @@ public class ItDisasterRecoveryReconfigurationTest extends
ClusterPerTestIntegra
void testManualRebalanceRecovery() throws Exception {
int partId = 0;
// Disable scale down to avoid unwanted rebalance.
- executeSql(format("ALTER ZONE %s SET
data_nodes_auto_adjust_scale_down=%d", zoneName, INFINITE_TIMER_VALUE));
+ executeSql(format("ALTER ZONE %s SET (auto scale down %d)", zoneName,
INFINITE_TIMER_VALUE));
IgniteImpl node0 = igniteImpl(0);
int catalogVersion = node0.catalogManager().latestCatalogVersion();
@@ -754,7 +754,7 @@ public class ItDisasterRecoveryReconfigurationTest extends
ClusterPerTestIntegra
@ZoneParams(nodes = 5, replicas = 3, partitions = 1)
public void testPlannedIsOverwritten() throws Exception {
// Disable scale down to avoid unwanted rebalance.
- executeSql(format("ALTER ZONE %s SET
data_nodes_auto_adjust_scale_down=%d", zoneName, INFINITE_TIMER_VALUE));
+ executeSql(format("ALTER ZONE %s SET (auto scale down %d)", zoneName,
INFINITE_TIMER_VALUE));
int partId = 0;
IgniteImpl node0 = igniteImpl(0);
@@ -796,7 +796,7 @@ public class ItDisasterRecoveryReconfigurationTest extends
ClusterPerTestIntegra
assertPlannedAssignments(node0, partId, assignmentsPlanned);
- executeSql(format("ALTER ZONE %s SET
data_nodes_auto_adjust_scale_down=%d", zoneName, 2));
+ executeSql(format("ALTER ZONE %s SET (auto scale down %d)", zoneName,
2));
Assignments assignmentsPlannedReplaced = Assignments.of(Set.of(
Assignment.forPeer(node(0).name()),
@@ -870,7 +870,7 @@ public class ItDisasterRecoveryReconfigurationTest extends
ClusterPerTestIntegra
IgniteImpl node1 = igniteImpl(1);
- executeSql(format("ALTER ZONE %s SET
data_nodes_auto_adjust_scale_down=%d", zoneName, INFINITE_TIMER_VALUE));
+ executeSql(format("ALTER ZONE %s SET (auto scale down %d)", zoneName,
INFINITE_TIMER_VALUE));
awaitPrimaryReplica(node0, partId);
@@ -942,7 +942,7 @@ public class ItDisasterRecoveryReconfigurationTest extends
ClusterPerTestIntegra
waitForPartitionState(node0, partId,
GlobalPartitionStateEnum.AVAILABLE);
- executeSql(format("ALTER ZONE %s SET
data_nodes_auto_adjust_scale_down=%d", zoneName, INFINITE_TIMER_VALUE));
+ executeSql(format("ALTER ZONE %s SET (auto scale down %d)", zoneName,
INFINITE_TIMER_VALUE));
stopNode(4);
@@ -1052,7 +1052,7 @@ public class ItDisasterRecoveryReconfigurationTest
extends ClusterPerTestIntegra
assertThat(errors, is(empty()));
// Disable scale down.
- executeSql(format("ALTER ZONE %s SET
data_nodes_auto_adjust_scale_down=%d", zoneName, INFINITE_TIMER_VALUE));
+ executeSql(format("ALTER ZONE %s SET (auto scale down %d)", zoneName,
INFINITE_TIMER_VALUE));
// Now followerNodes has 4 elements - without the leader and two
blocked nodes. Stop them all.
int[] nodesToStop = followerNodes.stream()
@@ -1091,7 +1091,7 @@ public class ItDisasterRecoveryReconfigurationTest
extends ClusterPerTestIntegra
assertPlannedAssignments(node0, partId, assignmentsPlanned);
// Wait for the new stable assignments to take effect.
- executeSql(format("ALTER ZONE %s SET replicas=%d", zoneName, 3));
+ executeSql(format("ALTER ZONE %s SET (replicas %d)", zoneName, 3));
waitForPartitionState(node0, partId,
GlobalPartitionStateEnum.AVAILABLE);
@@ -1180,7 +1180,7 @@ public class ItDisasterRecoveryReconfigurationTest
extends ClusterPerTestIntegra
assertThat(errors, is(empty()));
// Disable scale down.
- executeSql(format("ALTER ZONE %s SET
data_nodes_auto_adjust_scale_down=%d", zoneName, INFINITE_TIMER_VALUE));
+ executeSql(format("ALTER ZONE %s SET (auto scale down %d)", zoneName,
INFINITE_TIMER_VALUE));
List<String> nodeNamesToStop = new ArrayList<>(followerNodes);
// Make sure there are 4 elements in this list.
@@ -1223,7 +1223,7 @@ public class ItDisasterRecoveryReconfigurationTest
extends ClusterPerTestIntegra
assertPlannedAssignments(node0, partId, assignmentsPlanned);
// Wait for the new stable assignments to take effect.
- executeSql(format("ALTER ZONE %s SET replicas=%d", zoneName, 3));
+ executeSql(format("ALTER ZONE %s SET (replicas %d)", zoneName, 3));
waitForPartitionState(node0, partId,
GlobalPartitionStateEnum.AVAILABLE);
@@ -1336,7 +1336,7 @@ public class ItDisasterRecoveryReconfigurationTest
extends ClusterPerTestIntegra
assertIndexAndTermInLastChainLink(node0, partId);
// Disable scale down to avoid unwanted rebalance.
- executeSql(format("ALTER ZONE %s SET
data_nodes_auto_adjust_scale_down=%d", zoneName, INFINITE_TIMER_VALUE));
+ executeSql(format("ALTER ZONE %s SET (auto scale down %d)", zoneName,
INFINITE_TIMER_VALUE));
// Disable automatic rebalance since we want to restore replica factor.
setDistributionResetTimeout(node0, INFINITE_TIMER_VALUE);
@@ -1429,7 +1429,7 @@ public class ItDisasterRecoveryReconfigurationTest
extends ClusterPerTestIntegra
awaitPrimaryReplica(node0, partId);
// Disable scale down to avoid unwanted rebalance.
- executeSql(format("ALTER ZONE %s SET
data_nodes_auto_adjust_scale_down=%d", zoneName, INFINITE_TIMER_VALUE));
+ executeSql(format("ALTER ZONE %s SET (auto scale down %d)", zoneName,
INFINITE_TIMER_VALUE));
assertRealAssignments(node0, partId, 0, 1, 2, 3, 4, 5, 6);
@@ -1512,7 +1512,7 @@ public class ItDisasterRecoveryReconfigurationTest
extends ClusterPerTestIntegra
// Disable automatic reset since we want to check manual ones.
setDistributionResetTimeout(node0, INFINITE_TIMER_VALUE);
// Disable scale down to avoid unwanted rebalance.
- executeSql(format("ALTER ZONE %s SET
data_nodes_auto_adjust_scale_down=%d", zoneName, INFINITE_TIMER_VALUE));
+ executeSql(format("ALTER ZONE %s SET (auto scale down %d)", zoneName,
INFINITE_TIMER_VALUE));
assertRealAssignments(node0, partId, 0, 1, 2, 3, 4, 5, 6);
@@ -1603,7 +1603,7 @@ public class ItDisasterRecoveryReconfigurationTest
extends ClusterPerTestIntegra
// Disable automatic reset since we want to check manual ones.
setDistributionResetTimeout(node0, INFINITE_TIMER_VALUE);
// Disable scale down to avoid unwanted rebalance.
- executeSql(format("ALTER ZONE %s SET
data_nodes_auto_adjust_scale_down=%d", zoneName, INFINITE_TIMER_VALUE));
+ executeSql(format("ALTER ZONE %s SET (auto scale down %d)", zoneName,
INFINITE_TIMER_VALUE));
assertRealAssignments(node0, partId, 2, 3, 5);
@@ -1646,7 +1646,7 @@ public class ItDisasterRecoveryReconfigurationTest
extends ClusterPerTestIntegra
assertAssignmentsChain(node0, partId,
AssignmentsChain.of(initialAssignments, link2Assignments));
// Return back scale down.
- executeSql(format("ALTER ZONE %s SET
data_nodes_auto_adjust_scale_down=%d", zoneName, 1));
+ executeSql(format("ALTER ZONE %s SET (auto scale down %d)", zoneName,
1));
// Now stop one and check graceful rebalance.
logger().info("Stopping nodes [ids={}].", 1);
diff --git
a/modules/transactions/src/integrationTest/java/org/apache/ignite/internal/tx/ItTxTimeoutOneNodeTest.java
b/modules/transactions/src/integrationTest/java/org/apache/ignite/internal/tx/ItTxTimeoutOneNodeTest.java
index 27ac0b38677..ed79ea1594d 100644
---
a/modules/transactions/src/integrationTest/java/org/apache/ignite/internal/tx/ItTxTimeoutOneNodeTest.java
+++
b/modules/transactions/src/integrationTest/java/org/apache/ignite/internal/tx/ItTxTimeoutOneNodeTest.java
@@ -68,7 +68,7 @@ abstract class ItTxTimeoutOneNodeTest extends
ClusterPerTestIntegrationTest {
// Generally it's required to await default zone
dataNodesAutoAdjustScaleUp timeout in order to treat zone as ready one.
// In order to eliminate awaiting interval, default zone scaleUp
is altered to be immediate.
- node(0).sql().executeScript(String.format("ALTER ZONE \"%s\"SET
DATA_NODES_AUTO_ADJUST_SCALE_UP = 0", defaultZone.name()));
+ node(0).sql().executeScript(String.format("ALTER ZONE \"%s\"SET
(AUTO SCALE UP 0)", defaultZone.name()));
}
ignite().sql().executeScript("CREATE TABLE IF NOT EXISTS " +
TABLE_NAME + " (ID INT PRIMARY KEY, VAL VARCHAR)");
diff --git
a/modules/transactions/src/integrationTest/java/org/apache/ignite/internal/tx/readonly/ItReadOnlyTxInPastTest.java
b/modules/transactions/src/integrationTest/java/org/apache/ignite/internal/tx/readonly/ItReadOnlyTxInPastTest.java
index d06a8ad5e93..8f32cfca98e 100644
---
a/modules/transactions/src/integrationTest/java/org/apache/ignite/internal/tx/readonly/ItReadOnlyTxInPastTest.java
+++
b/modules/transactions/src/integrationTest/java/org/apache/ignite/internal/tx/readonly/ItReadOnlyTxInPastTest.java
@@ -116,7 +116,7 @@ class ItReadOnlyTxInPastTest extends
ClusterPerTestIntegrationTest {
CatalogManager catalogManager =
unwrapIgniteImpl(node(0)).catalogManager();
CatalogZoneDescriptor defaultZone =
CatalogTestUtils.awaitDefaultZoneCreation(catalogManager);
- node(0).sql().executeScript(String.format("ALTER ZONE \"%s\"SET
DATA_NODES_AUTO_ADJUST_SCALE_UP = 0", defaultZone.name()));
+ node(0).sql().executeScript(String.format("ALTER ZONE \"%s\"SET (AUTO
SCALE UP 0)", defaultZone.name()));
}
private static void awaitAssignmentsStabilization(Ignite node) throws
InterruptedException {