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 {

Reply via email to