This is an automated email from the ASF dual-hosted git repository.

mpochatkin 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 27b58ff2ae9 IGNITE-25632 Fix configuration compatibility (#6014)
27b58ff2ae9 is described below

commit 27b58ff2ae9c1e607da9f570b81b2ce29655d6f4
Author: Vadim Pakhnushev <[email protected]>
AuthorDate: Wed Jun 11 14:54:38 2025 +0300

    IGNITE-25632 Fix configuration compatibility (#6014)
---
 .../SchemaSynchronizationConfigurationSchema.java  |  3 ++
 .../ClientConnectorConfigurationSchema.java        |  3 ++
 .../DeploymentConfigurationSchema.java             |  2 +
 .../configuration/ComputeConfigurationSchema.java  |  6 +++
 ...ma.java => MetaStorageConfigurationSchema.java} | 19 ++++-----
 .../SystemDistributedConfigurationModule.java      | 15 ++++++++
 .../SystemDistributedConfigurationSchema.java      |  4 +-
 ...temDistributedExtensionConfigurationSchema.java |  4 ++
 .../SystemLocalConfigurationModule.java            | 26 +++++++++++++
 .../SystemLocalExtensionConfigurationSchema.java   |  5 +++
 .../FailureProcessorConfigurationSchema.java       |  2 +
 .../OtlpExporterConfigurationSchema.java           |  2 +
 .../LogPushExporterConfigurationSchema.java        |  2 +
 .../ClusterMembershipConfigurationSchema.java      |  3 ++
 .../FileTransferConfigurationSchema.java           |  3 ++
 .../MulticastNodeFinderConfigurationSchema.java    |  2 +
 .../configuration/NetworkConfigurationSchema.java  |  3 ++
 .../ScaleCubeConfigurationSchema.java              |  3 ++
 .../PageMemoryCheckpointConfigurationSchema.java   |  5 +++
 ...istentPageMemoryProfileConfigurationSchema.java |  2 +
 ...latilePageMemoryProfileConfigurationSchema.java |  3 ++
 .../configuration/RaftConfigurationSchema.java     |  5 +++
 .../ReplicationConfigurationModule.java            | 15 ++++++++
 .../ReplicationConfigurationSchema.java            | 11 +++++-
 .../ReplicationExtensionConfigurationSchema.java   |  4 ++
 .../StorageUpdateConfigurationSchema.java}         | 19 +++++----
 .../LowWatermarkConfigurationSchema.java           |  3 ++
 .../SqlPlannerDistributedConfigurationSchema.java  |  2 +
 ...PageMemoryStorageEngineConfigurationSchema.java |  2 +
 ...PageMemoryStorageEngineConfigurationSchema.java |  2 +
 .../schema/RocksDbProfileConfigurationSchema.java  |  3 ++
 ...adlockPreventionPolicyConfigurationSchema.java} | 16 ++++----
 .../TransactionConfigurationSchema.java            | 45 ++++++++++++++++++++++
 .../CriticalWorkersConfigurationSchema.java        | 14 +++++--
 34 files changed, 225 insertions(+), 33 deletions(-)

diff --git 
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/configuration/SchemaSynchronizationConfigurationSchema.java
 
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/configuration/SchemaSynchronizationConfigurationSchema.java
index 64e414cd151..b8a9004dbdc 100644
--- 
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/configuration/SchemaSynchronizationConfigurationSchema.java
+++ 
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/configuration/SchemaSynchronizationConfigurationSchema.java
@@ -18,6 +18,7 @@
 package org.apache.ignite.internal.catalog.configuration;
 
 import org.apache.ignite.configuration.annotation.Config;
+import org.apache.ignite.configuration.annotation.PublicName;
 import org.apache.ignite.configuration.annotation.Value;
 import org.apache.ignite.configuration.validation.Immutable;
 import org.apache.ignite.configuration.validation.Range;
@@ -33,6 +34,7 @@ public class SchemaSynchronizationConfigurationSchema {
     @Value(hasDefault = true)
     @Range(min = 1)
     @Immutable
+    @PublicName(legacyNames = "delayDuration")
     public long delayDurationMillis = 500;
 
     /**
@@ -42,5 +44,6 @@ public class SchemaSynchronizationConfigurationSchema {
     @Value(hasDefault = true)
     @Range(min = 1)
     @Immutable
+    @PublicName(legacyNames = "maxClockSkew")
     public long maxClockSkewMillis = 500;
 }
diff --git 
a/modules/client-handler/src/main/java/org/apache/ignite/client/handler/configuration/ClientConnectorConfigurationSchema.java
 
b/modules/client-handler/src/main/java/org/apache/ignite/client/handler/configuration/ClientConnectorConfigurationSchema.java
index 566627e52dd..4d1cb5a44da 100644
--- 
a/modules/client-handler/src/main/java/org/apache/ignite/client/handler/configuration/ClientConnectorConfigurationSchema.java
+++ 
b/modules/client-handler/src/main/java/org/apache/ignite/client/handler/configuration/ClientConnectorConfigurationSchema.java
@@ -19,6 +19,7 @@ package org.apache.ignite.client.handler.configuration;
 
 import org.apache.ignite.configuration.annotation.Config;
 import org.apache.ignite.configuration.annotation.ConfigValue;
+import org.apache.ignite.configuration.annotation.PublicName;
 import org.apache.ignite.configuration.annotation.Value;
 import org.apache.ignite.configuration.validation.Range;
 import org.apache.ignite.internal.network.configuration.SslConfigurationSchema;
@@ -41,11 +42,13 @@ public class ClientConnectorConfigurationSchema {
     /** Connect timeout. */
     @Range(min = 0)
     @Value(hasDefault = true)
+    @PublicName(legacyNames = "connectTimeout")
     public final int connectTimeoutMillis = 5000;
 
     /** Idle timeout. */
     @Range(min = 0)
     @Value(hasDefault = true)
+    @PublicName(legacyNames = "idleTimeout")
     public final long idleTimeoutMillis = 0;
 
     /** Server exception stack trace visibility. */
diff --git 
a/modules/code-deployment/src/main/java/org/apache/ignite/internal/deployunit/configuration/DeploymentConfigurationSchema.java
 
b/modules/code-deployment/src/main/java/org/apache/ignite/internal/deployunit/configuration/DeploymentConfigurationSchema.java
index 21381d275cc..929a9612671 100644
--- 
a/modules/code-deployment/src/main/java/org/apache/ignite/internal/deployunit/configuration/DeploymentConfigurationSchema.java
+++ 
b/modules/code-deployment/src/main/java/org/apache/ignite/internal/deployunit/configuration/DeploymentConfigurationSchema.java
@@ -18,6 +18,7 @@
 package org.apache.ignite.internal.deployunit.configuration;
 
 import org.apache.ignite.configuration.annotation.Config;
+import org.apache.ignite.configuration.annotation.PublicName;
 import org.apache.ignite.configuration.annotation.Value;
 
 /**
@@ -29,5 +30,6 @@ public class DeploymentConfigurationSchema {
      * Relative path to folder in node working directory where will store all 
deployment units content.
      */
     @Value(hasDefault = true)
+    @PublicName(legacyNames = "deploymentLocation")
     public final String location = "deployment";
 }
diff --git 
a/modules/compute/src/main/java/org/apache/ignite/internal/compute/configuration/ComputeConfigurationSchema.java
 
b/modules/compute/src/main/java/org/apache/ignite/internal/compute/configuration/ComputeConfigurationSchema.java
index d2d944ee755..33f5ec7f15f 100644
--- 
a/modules/compute/src/main/java/org/apache/ignite/internal/compute/configuration/ComputeConfigurationSchema.java
+++ 
b/modules/compute/src/main/java/org/apache/ignite/internal/compute/configuration/ComputeConfigurationSchema.java
@@ -34,6 +34,12 @@ public class ComputeConfigurationSchema {
     @Value(hasDefault = true)
     public final int threadPoolSize = 
max(Runtime.getRuntime().availableProcessors(), 8);
 
+    /** Job thread pool stop timeout (milliseconds). */
+    @Range(min = 1)
+    @Value(hasDefault = true)
+    @Deprecated
+    public final long threadPoolStopTimeoutMillis = 10_000;
+
     /**
      * Job queue max size.
      */
diff --git 
a/modules/configuration-system/src/main/java/org/apache/ignite/internal/configuration/SystemDistributedConfigurationSchema.java
 
b/modules/configuration-system/src/main/java/org/apache/ignite/internal/configuration/MetaStorageConfigurationSchema.java
similarity index 74%
copy from 
modules/configuration-system/src/main/java/org/apache/ignite/internal/configuration/SystemDistributedConfigurationSchema.java
copy to 
modules/configuration-system/src/main/java/org/apache/ignite/internal/configuration/MetaStorageConfigurationSchema.java
index 9097edf1255..01c40b31e8c 100644
--- 
a/modules/configuration-system/src/main/java/org/apache/ignite/internal/configuration/SystemDistributedConfigurationSchema.java
+++ 
b/modules/configuration-system/src/main/java/org/apache/ignite/internal/configuration/MetaStorageConfigurationSchema.java
@@ -17,17 +17,19 @@
 
 package org.apache.ignite.internal.configuration;
 
+import static 
org.apache.ignite.internal.configuration.SystemDistributedConfigurationSchema.DEFAULT_IDLE_SAFE_TIME_SYNC_INTERVAL_MILLIS;
+
 import org.apache.ignite.configuration.annotation.Config;
-import org.apache.ignite.configuration.annotation.NamedConfigValue;
 import org.apache.ignite.configuration.annotation.Value;
-import org.apache.ignite.configuration.validation.CamelCaseKeys;
 import org.apache.ignite.configuration.validation.Range;
 
-/** Distributed system configuration schema. */
+/**
+ * Configuration schema for the Meta Storage module.
+ */
 @Config
-public class SystemDistributedConfigurationSchema {
+public class MetaStorageConfigurationSchema {
     /**
-     * Duration (in milliseconds) used to determine how often to issue safe 
time sync commands when the Meta Storage is idle
+     * Duration (in milliseconds) used to determine how often to issue time 
sync commands when the Meta Storage is idle
      * (no writes are being issued).
      *
      * <p>Making this value too small increases the network load, while making 
this value too large can lead to increased latency of
@@ -35,10 +37,5 @@ public class SystemDistributedConfigurationSchema {
      */
     @Value(hasDefault = true)
     @Range(min = 1)
-    public long idleSafeTimeSyncIntervalMillis = 250;
-
-    /** System properties. */
-    @CamelCaseKeys
-    @NamedConfigValue
-    public SystemPropertyConfigurationSchema properties;
+    public long idleSyncTimeInterval = 
DEFAULT_IDLE_SAFE_TIME_SYNC_INTERVAL_MILLIS;
 }
diff --git 
a/modules/configuration-system/src/main/java/org/apache/ignite/internal/configuration/SystemDistributedConfigurationModule.java
 
b/modules/configuration-system/src/main/java/org/apache/ignite/internal/configuration/SystemDistributedConfigurationModule.java
index 89178ac52dd..076d34d0d5b 100644
--- 
a/modules/configuration-system/src/main/java/org/apache/ignite/internal/configuration/SystemDistributedConfigurationModule.java
+++ 
b/modules/configuration-system/src/main/java/org/apache/ignite/internal/configuration/SystemDistributedConfigurationModule.java
@@ -17,10 +17,13 @@
 
 package org.apache.ignite.internal.configuration;
 
+import static 
org.apache.ignite.internal.configuration.SystemDistributedConfigurationSchema.DEFAULT_IDLE_SAFE_TIME_SYNC_INTERVAL_MILLIS;
+
 import com.google.auto.service.AutoService;
 import java.util.Collection;
 import java.util.List;
 import org.apache.ignite.configuration.ConfigurationModule;
+import org.apache.ignite.configuration.SuperRootChange;
 import org.apache.ignite.configuration.annotation.ConfigurationType;
 
 /** {@link ConfigurationModule} for cluster-wide system configuration. */
@@ -35,4 +38,16 @@ public class SystemDistributedConfigurationModule implements 
ConfigurationModule
     public Collection<Class<?>> schemaExtensions() {
         return List.of(SystemDistributedExtensionConfigurationSchema.class);
     }
+
+    @Override
+    public void migrateDeprecatedConfigurations(SuperRootChange 
superRootChange) {
+        var rootView = (SystemDistributedExtensionView) 
superRootChange.viewRoot(SystemDistributedExtensionConfiguration.KEY);
+        var rootChange = (SystemDistributedExtensionChange) 
superRootChange.changeRoot(SystemDistributedExtensionConfiguration.KEY);
+
+        MetaStorageView metaStorageView = rootView.metaStorage();
+
+        if (metaStorageView.idleSyncTimeInterval() != 
DEFAULT_IDLE_SAFE_TIME_SYNC_INTERVAL_MILLIS) {
+            
rootChange.changeSystem().changeIdleSafeTimeSyncIntervalMillis(metaStorageView.idleSyncTimeInterval());
+        }
+    }
 }
diff --git 
a/modules/configuration-system/src/main/java/org/apache/ignite/internal/configuration/SystemDistributedConfigurationSchema.java
 
b/modules/configuration-system/src/main/java/org/apache/ignite/internal/configuration/SystemDistributedConfigurationSchema.java
index 9097edf1255..5848b4b0789 100644
--- 
a/modules/configuration-system/src/main/java/org/apache/ignite/internal/configuration/SystemDistributedConfigurationSchema.java
+++ 
b/modules/configuration-system/src/main/java/org/apache/ignite/internal/configuration/SystemDistributedConfigurationSchema.java
@@ -26,6 +26,8 @@ import org.apache.ignite.configuration.validation.Range;
 /** Distributed system configuration schema. */
 @Config
 public class SystemDistributedConfigurationSchema {
+    static final int DEFAULT_IDLE_SAFE_TIME_SYNC_INTERVAL_MILLIS = 250;
+
     /**
      * Duration (in milliseconds) used to determine how often to issue safe 
time sync commands when the Meta Storage is idle
      * (no writes are being issued).
@@ -35,7 +37,7 @@ public class SystemDistributedConfigurationSchema {
      */
     @Value(hasDefault = true)
     @Range(min = 1)
-    public long idleSafeTimeSyncIntervalMillis = 250;
+    public long idleSafeTimeSyncIntervalMillis = 
DEFAULT_IDLE_SAFE_TIME_SYNC_INTERVAL_MILLIS;
 
     /** System properties. */
     @CamelCaseKeys
diff --git 
a/modules/configuration-system/src/main/java/org/apache/ignite/internal/configuration/SystemDistributedExtensionConfigurationSchema.java
 
b/modules/configuration-system/src/main/java/org/apache/ignite/internal/configuration/SystemDistributedExtensionConfigurationSchema.java
index e8783980b89..fea54802ba5 100644
--- 
a/modules/configuration-system/src/main/java/org/apache/ignite/internal/configuration/SystemDistributedExtensionConfigurationSchema.java
+++ 
b/modules/configuration-system/src/main/java/org/apache/ignite/internal/configuration/SystemDistributedExtensionConfigurationSchema.java
@@ -25,4 +25,8 @@ import 
org.apache.ignite.configuration.annotation.ConfigurationExtension;
 public class SystemDistributedExtensionConfigurationSchema extends 
ClusterConfigurationSchema {
     @ConfigValue
     public SystemDistributedConfigurationSchema system;
+
+    @ConfigValue
+    @Deprecated
+    public MetaStorageConfigurationSchema metaStorage;
 }
diff --git 
a/modules/configuration-system/src/main/java/org/apache/ignite/internal/configuration/SystemLocalConfigurationModule.java
 
b/modules/configuration-system/src/main/java/org/apache/ignite/internal/configuration/SystemLocalConfigurationModule.java
index c4f37b166d4..5ef5bce749a 100644
--- 
a/modules/configuration-system/src/main/java/org/apache/ignite/internal/configuration/SystemLocalConfigurationModule.java
+++ 
b/modules/configuration-system/src/main/java/org/apache/ignite/internal/configuration/SystemLocalConfigurationModule.java
@@ -17,11 +17,18 @@
 
 package org.apache.ignite.internal.configuration;
 
+import static 
org.apache.ignite.internal.worker.configuration.CriticalWorkersConfigurationSchema.DEFAULT_LIVENESS_CHECK_INTERVAL_MILLIS;
+import static 
org.apache.ignite.internal.worker.configuration.CriticalWorkersConfigurationSchema.DEFAULT_MAX_ALLOWED_LAG_MILLIS;
+import static 
org.apache.ignite.internal.worker.configuration.CriticalWorkersConfigurationSchema.DEFAULT_NETTY_THREADS_HEARTBEAT_INTERVAL_MILLIS;
+
 import com.google.auto.service.AutoService;
 import java.util.Collection;
 import java.util.List;
 import org.apache.ignite.configuration.ConfigurationModule;
+import org.apache.ignite.configuration.SuperRootChange;
 import org.apache.ignite.configuration.annotation.ConfigurationType;
+import org.apache.ignite.internal.worker.configuration.CriticalWorkersChange;
+import org.apache.ignite.internal.worker.configuration.CriticalWorkersView;
 
 /** {@link ConfigurationModule} for node-local system configuration. */
 @AutoService(ConfigurationModule.class)
@@ -35,4 +42,23 @@ public class SystemLocalConfigurationModule implements 
ConfigurationModule {
     public Collection<Class<?>> schemaExtensions() {
         return List.of(SystemLocalExtensionConfigurationSchema.class);
     }
+
+    @Override
+    public void migrateDeprecatedConfigurations(SuperRootChange 
superRootChange) {
+        var rootView = (SystemLocalExtensionView) 
superRootChange.viewRoot(SystemLocalExtensionConfiguration.KEY);
+        var rootChange = (SystemLocalExtensionChange) 
superRootChange.changeRoot(SystemLocalExtensionConfiguration.KEY);
+
+        CriticalWorkersView criticalWorkersView = rootView.criticalWorkers();
+        CriticalWorkersChange criticalWorkersChange = 
rootChange.changeSystem().changeCriticalWorkers();
+
+        if (criticalWorkersView.livenessCheckIntervalMillis() != 
DEFAULT_LIVENESS_CHECK_INTERVAL_MILLIS) {
+            
criticalWorkersChange.changeLivenessCheckIntervalMillis(criticalWorkersView.livenessCheckIntervalMillis());
+        }
+        if (criticalWorkersView.maxAllowedLagMillis() != 
DEFAULT_MAX_ALLOWED_LAG_MILLIS) {
+            
criticalWorkersChange.changeMaxAllowedLagMillis(criticalWorkersView.maxAllowedLagMillis());
+        }
+        if (criticalWorkersView.nettyThreadsHeartbeatIntervalMillis() != 
DEFAULT_NETTY_THREADS_HEARTBEAT_INTERVAL_MILLIS) {
+            
criticalWorkersChange.changeNettyThreadsHeartbeatIntervalMillis(criticalWorkersView.nettyThreadsHeartbeatIntervalMillis());
+        }
+    }
 }
diff --git 
a/modules/configuration-system/src/main/java/org/apache/ignite/internal/configuration/SystemLocalExtensionConfigurationSchema.java
 
b/modules/configuration-system/src/main/java/org/apache/ignite/internal/configuration/SystemLocalExtensionConfigurationSchema.java
index 25aacbc1965..17cbc0f92b6 100644
--- 
a/modules/configuration-system/src/main/java/org/apache/ignite/internal/configuration/SystemLocalExtensionConfigurationSchema.java
+++ 
b/modules/configuration-system/src/main/java/org/apache/ignite/internal/configuration/SystemLocalExtensionConfigurationSchema.java
@@ -19,10 +19,15 @@ package org.apache.ignite.internal.configuration;
 
 import org.apache.ignite.configuration.annotation.ConfigValue;
 import org.apache.ignite.configuration.annotation.ConfigurationExtension;
+import 
org.apache.ignite.internal.worker.configuration.CriticalWorkersConfigurationSchema;
 
 /** Extension for local system configuration schema. */
 @ConfigurationExtension
 public class SystemLocalExtensionConfigurationSchema extends 
NodeConfigurationSchema {
     @ConfigValue
     public SystemLocalConfigurationSchema system;
+
+    @ConfigValue
+    @Deprecated
+    public CriticalWorkersConfigurationSchema criticalWorkers;
 }
diff --git 
a/modules/failure-handler/src/main/java/org/apache/ignite/internal/failure/configuration/FailureProcessorConfigurationSchema.java
 
b/modules/failure-handler/src/main/java/org/apache/ignite/internal/failure/configuration/FailureProcessorConfigurationSchema.java
index 6677aecc05d..9f4c83b763c 100755
--- 
a/modules/failure-handler/src/main/java/org/apache/ignite/internal/failure/configuration/FailureProcessorConfigurationSchema.java
+++ 
b/modules/failure-handler/src/main/java/org/apache/ignite/internal/failure/configuration/FailureProcessorConfigurationSchema.java
@@ -19,6 +19,7 @@ package org.apache.ignite.internal.failure.configuration;
 
 import org.apache.ignite.configuration.annotation.Config;
 import org.apache.ignite.configuration.annotation.ConfigValue;
+import org.apache.ignite.configuration.annotation.PublicName;
 import org.apache.ignite.configuration.annotation.Value;
 import org.apache.ignite.configuration.validation.Range;
 import 
org.apache.ignite.internal.failure.handlers.configuration.FailureHandlerConfigurationSchema;
@@ -34,6 +35,7 @@ public class FailureProcessorConfigurationSchema {
      */
     @Value(hasDefault = true)
     @Range(min = 0)
+    @PublicName(legacyNames = "oomBufferSizeBites")
     public int oomBufferSizeBytes = 16 * 1024;
 
     /** Enables threads dumping on critical node failure. */
diff --git 
a/modules/metrics-exporter-otlp/src/main/java/org/apache/ignite/internal/metrics/exporters/configuration/OtlpExporterConfigurationSchema.java
 
b/modules/metrics-exporter-otlp/src/main/java/org/apache/ignite/internal/metrics/exporters/configuration/OtlpExporterConfigurationSchema.java
index ea7b02c8a25..2461e075551 100644
--- 
a/modules/metrics-exporter-otlp/src/main/java/org/apache/ignite/internal/metrics/exporters/configuration/OtlpExporterConfigurationSchema.java
+++ 
b/modules/metrics-exporter-otlp/src/main/java/org/apache/ignite/internal/metrics/exporters/configuration/OtlpExporterConfigurationSchema.java
@@ -23,6 +23,7 @@ import static 
io.opentelemetry.exporter.otlp.internal.OtlpConfigUtil.PROTOCOL_HT
 import org.apache.ignite.configuration.annotation.ConfigValue;
 import org.apache.ignite.configuration.annotation.NamedConfigValue;
 import org.apache.ignite.configuration.annotation.PolymorphicConfigInstance;
+import org.apache.ignite.configuration.annotation.PublicName;
 import org.apache.ignite.configuration.annotation.Value;
 import org.apache.ignite.configuration.validation.Endpoint;
 import org.apache.ignite.configuration.validation.OneOf;
@@ -37,6 +38,7 @@ import 
org.apache.ignite.internal.network.configuration.SslConfigurationValidato
 public class OtlpExporterConfigurationSchema extends 
ExporterConfigurationSchema {
     /** Export period, in milliseconds. */
     @Value(hasDefault = true)
+    @PublicName(legacyNames = "period")
     public long periodMillis = 30_000;
 
     /** String in "host:port" format. */
diff --git 
a/modules/metrics/src/main/java/org/apache/ignite/internal/metrics/exporters/configuration/LogPushExporterConfigurationSchema.java
 
b/modules/metrics/src/main/java/org/apache/ignite/internal/metrics/exporters/configuration/LogPushExporterConfigurationSchema.java
index 01ba248e237..ed4ab567666 100644
--- 
a/modules/metrics/src/main/java/org/apache/ignite/internal/metrics/exporters/configuration/LogPushExporterConfigurationSchema.java
+++ 
b/modules/metrics/src/main/java/org/apache/ignite/internal/metrics/exporters/configuration/LogPushExporterConfigurationSchema.java
@@ -18,6 +18,7 @@
 package org.apache.ignite.internal.metrics.exporters.configuration;
 
 import org.apache.ignite.configuration.annotation.PolymorphicConfigInstance;
+import org.apache.ignite.configuration.annotation.PublicName;
 import org.apache.ignite.configuration.annotation.Value;
 import org.apache.ignite.internal.metrics.exporters.log.LogPushExporter;
 
@@ -28,5 +29,6 @@ import 
org.apache.ignite.internal.metrics.exporters.log.LogPushExporter;
 public class LogPushExporterConfigurationSchema extends 
ExporterConfigurationSchema {
     /** Export period, in milliseconds. */
     @Value(hasDefault = true)
+    @PublicName(legacyNames = "period")
     public long periodMillis = 30_000;
 }
diff --git 
a/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/ClusterMembershipConfigurationSchema.java
 
b/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/ClusterMembershipConfigurationSchema.java
index f88bee3191b..88673328dc2 100644
--- 
a/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/ClusterMembershipConfigurationSchema.java
+++ 
b/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/ClusterMembershipConfigurationSchema.java
@@ -19,6 +19,7 @@ package org.apache.ignite.internal.network.configuration;
 
 import org.apache.ignite.configuration.annotation.Config;
 import org.apache.ignite.configuration.annotation.ConfigValue;
+import org.apache.ignite.configuration.annotation.PublicName;
 import org.apache.ignite.configuration.annotation.Value;
 
 /**
@@ -28,10 +29,12 @@ import org.apache.ignite.configuration.annotation.Value;
 public class ClusterMembershipConfigurationSchema {
     /** Periodic membership data sync interval. */
     @Value(hasDefault = true)
+    @PublicName(legacyNames = "membershipSyncInterval")
     public final int membershipSyncIntervalMillis = 30_000;
 
     /** Failure detector ping interval. */
     @Value(hasDefault = true)
+    @PublicName(legacyNames = "failurePingInterval")
     public final int failurePingIntervalMillis = 2_000;
 
     /** ScaleCube-specific configuration. */
diff --git 
a/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/FileTransferConfigurationSchema.java
 
b/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/FileTransferConfigurationSchema.java
index 7143506a54f..1c7bd4fc472 100644
--- 
a/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/FileTransferConfigurationSchema.java
+++ 
b/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/FileTransferConfigurationSchema.java
@@ -18,6 +18,7 @@
 package org.apache.ignite.internal.network.configuration;
 
 import org.apache.ignite.configuration.annotation.Config;
+import org.apache.ignite.configuration.annotation.PublicName;
 import org.apache.ignite.configuration.annotation.Value;
 import org.apache.ignite.configuration.validation.Range;
 
@@ -28,11 +29,13 @@ import org.apache.ignite.configuration.validation.Range;
 public class FileTransferConfigurationSchema {
     @Range(min = 0)
     @Value(hasDefault = true)
+    @PublicName(legacyNames = "responseTimeout")
     public final long responseTimeoutMillis = 10_000;
 
     /** Chunk size in bytes. */
     @Range(min = 1)
     @Value(hasDefault = true)
+    @PublicName(legacyNames = "chunkSize")
     public final int chunkSizeBytes = 1024 * 1024;
 
     /** File sender thread pool size. */
diff --git 
a/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/MulticastNodeFinderConfigurationSchema.java
 
b/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/MulticastNodeFinderConfigurationSchema.java
index e3475438820..be6c578a11c 100644
--- 
a/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/MulticastNodeFinderConfigurationSchema.java
+++ 
b/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/MulticastNodeFinderConfigurationSchema.java
@@ -21,6 +21,7 @@ import static 
org.apache.ignite.internal.network.MulticastNodeFinder.MAX_TTL;
 import static 
org.apache.ignite.internal.network.MulticastNodeFinder.UNSPECIFIED_TTL;
 
 import org.apache.ignite.configuration.annotation.PolymorphicConfigInstance;
+import org.apache.ignite.configuration.annotation.PublicName;
 import org.apache.ignite.configuration.annotation.Value;
 import org.apache.ignite.configuration.validation.Range;
 import org.apache.ignite.internal.network.MulticastNodeFinder;
@@ -43,6 +44,7 @@ public class MulticastNodeFinderConfigurationSchema extends 
NodeFinderConfigurat
     /** Time to wait for multicast responses. */
     @Value(hasDefault = true)
     @Range(min = 0)
+    @PublicName(legacyNames = "resultWaitTime")
     public int resultWaitTimeMillis = 1000;
 
     /** Time to live for multicast packets. Value {@link 
MulticastNodeFinder#UNSPECIFIED_TTL} corresponds to system default value. */
diff --git 
a/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/NetworkConfigurationSchema.java
 
b/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/NetworkConfigurationSchema.java
index 4ab05512a25..9911fc3dda6 100644
--- 
a/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/NetworkConfigurationSchema.java
+++ 
b/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/NetworkConfigurationSchema.java
@@ -19,6 +19,7 @@ package org.apache.ignite.internal.network.configuration;
 
 import org.apache.ignite.configuration.annotation.Config;
 import org.apache.ignite.configuration.annotation.ConfigValue;
+import org.apache.ignite.configuration.annotation.PublicName;
 import org.apache.ignite.configuration.annotation.Value;
 import org.apache.ignite.configuration.validation.Range;
 
@@ -46,6 +47,7 @@ public class NetworkConfigurationSchema {
      */
     @Range(min = 0)
     @Value(hasDefault = true)
+    @PublicName(legacyNames = "shutdownQuietPeriod")
     public final long shutdownQuietPeriodMillis = 0;
 
     /**
@@ -54,6 +56,7 @@ public class NetworkConfigurationSchema {
      */
     @Range(min = 0)
     @Value(hasDefault = true)
+    @PublicName(legacyNames = "shutdownTimeout")
     public final long shutdownTimeoutMillis = 15_000;
 
     /** Inbound (TCP server) configuration. */
diff --git 
a/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/ScaleCubeConfigurationSchema.java
 
b/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/ScaleCubeConfigurationSchema.java
index f4bc7ff761a..7d6b0b1f927 100644
--- 
a/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/ScaleCubeConfigurationSchema.java
+++ 
b/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/ScaleCubeConfigurationSchema.java
@@ -18,6 +18,7 @@
 package org.apache.ignite.internal.network.configuration;
 
 import org.apache.ignite.configuration.annotation.Config;
+import org.apache.ignite.configuration.annotation.PublicName;
 import org.apache.ignite.configuration.annotation.Value;
 
 /**
@@ -44,6 +45,7 @@ public class ScaleCubeConfigurationSchema {
      * @see <a href="https://en.wikipedia.org/wiki/Gossip_protocol";>Gossip 
Protocol</a>
      */
     @Value(hasDefault = true)
+    @PublicName(legacyNames = "gossipInterval")
     public final int gossipIntervalMillis = 200;
 
     /**
@@ -59,5 +61,6 @@ public class ScaleCubeConfigurationSchema {
      * another node).
      */
     @Value(hasDefault = true)
+    @PublicName(legacyNames = "metadataTimeout")
     public final int metadataTimeoutMillis = 3_000;
 }
diff --git 
a/modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/configuration/schema/PageMemoryCheckpointConfigurationSchema.java
 
b/modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/configuration/schema/PageMemoryCheckpointConfigurationSchema.java
index c7447f026da..31c93db7c6e 100644
--- 
a/modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/configuration/schema/PageMemoryCheckpointConfigurationSchema.java
+++ 
b/modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/configuration/schema/PageMemoryCheckpointConfigurationSchema.java
@@ -18,6 +18,7 @@
 package org.apache.ignite.internal.pagememory.configuration.schema;
 
 import org.apache.ignite.configuration.annotation.Config;
+import org.apache.ignite.configuration.annotation.PublicName;
 import org.apache.ignite.configuration.annotation.Value;
 import org.apache.ignite.configuration.validation.Range;
 
@@ -29,6 +30,7 @@ public class PageMemoryCheckpointConfigurationSchema {
     /** Interval between checkpoints in milliseconds. */
     @Range(min = 0)
     @Value(hasDefault = true)
+    @PublicName(legacyNames = "interval")
     public long intervalMillis = 180_000;
 
     /**
@@ -37,6 +39,7 @@ public class PageMemoryCheckpointConfigurationSchema {
      */
     @Range(min = 0, max = 100)
     @Value(hasDefault = true)
+    @PublicName(legacyNames = "intervalDeviation")
     public int intervalDeviationPercent = 40;
 
     /** Delay before executing a checkpoint triggered by RAFT. */
@@ -57,11 +60,13 @@ public class PageMemoryCheckpointConfigurationSchema {
     /** Timeout for checkpoint read lock acquisition in milliseconds. */
     @Range(min = 0)
     @Value(hasDefault = true)
+    @PublicName(legacyNames = "readLockTimeout")
     public long readLockTimeoutMillis = 10_000;
 
     /** Threshold for logging (if greater than zero) read lock holders in 
milliseconds. */
     @Range(min = 0)
     @Value(hasDefault = true)
+    @PublicName(legacyNames = "logReadLockThresholdTimeout")
     public long logReadLockThresholdTimeoutMillis = 0;
 
     /** Use an asynchronous file I/O operations provider. */
diff --git 
a/modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/configuration/schema/PersistentPageMemoryProfileConfigurationSchema.java
 
b/modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/configuration/schema/PersistentPageMemoryProfileConfigurationSchema.java
index a0c594a09e3..ef79bbf3aa0 100644
--- 
a/modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/configuration/schema/PersistentPageMemoryProfileConfigurationSchema.java
+++ 
b/modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/configuration/schema/PersistentPageMemoryProfileConfigurationSchema.java
@@ -18,6 +18,7 @@
 package org.apache.ignite.internal.pagememory.configuration.schema;
 
 import org.apache.ignite.configuration.annotation.PolymorphicConfigInstance;
+import org.apache.ignite.configuration.annotation.PublicName;
 import org.apache.ignite.configuration.annotation.Value;
 import org.apache.ignite.configuration.validation.OneOf;
 import 
org.apache.ignite.internal.storage.configurations.StorageProfileConfigurationSchema;
@@ -42,6 +43,7 @@ public class PersistentPageMemoryProfileConfigurationSchema 
extends StorageProfi
      * <p>When set to {@link #UNSPECIFIED_SIZE}, its value will be equal to a 
maximum between 256 MiB and 20% of the total physical memory.
      */
     @Value(hasDefault = true)
+    @PublicName(legacyNames = "size")
     public long sizeBytes = UNSPECIFIED_SIZE;
 
     /** Memory pages replacement mode. */
diff --git 
a/modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/configuration/schema/VolatilePageMemoryProfileConfigurationSchema.java
 
b/modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/configuration/schema/VolatilePageMemoryProfileConfigurationSchema.java
index 2a71060c1fe..28e1504a77f 100644
--- 
a/modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/configuration/schema/VolatilePageMemoryProfileConfigurationSchema.java
+++ 
b/modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/configuration/schema/VolatilePageMemoryProfileConfigurationSchema.java
@@ -18,6 +18,7 @@
 package org.apache.ignite.internal.pagememory.configuration.schema;
 
 import org.apache.ignite.configuration.annotation.PolymorphicConfigInstance;
+import org.apache.ignite.configuration.annotation.PublicName;
 import org.apache.ignite.configuration.annotation.Value;
 import 
org.apache.ignite.internal.storage.configurations.StorageProfileConfigurationSchema;
 
@@ -34,6 +35,7 @@ public class VolatilePageMemoryProfileConfigurationSchema 
extends StorageProfile
      * <p>When set to {@link #UNSPECIFIED_SIZE}, its value will be equal to 
{@link #maxSizeBytes}.
      */
     @Value(hasDefault = true)
+    @PublicName(legacyNames = "initSize")
     public long initSizeBytes = UNSPECIFIED_SIZE;
 
     /**
@@ -42,5 +44,6 @@ public class VolatilePageMemoryProfileConfigurationSchema 
extends StorageProfile
      * <p>When set to {@link #UNSPECIFIED_SIZE}, its value will be equal to a 
maximum between 256 MiB and 20% of the total physical memory.
      */
     @Value(hasDefault = true)
+    @PublicName(legacyNames = "maxSize")
     public long maxSizeBytes = UNSPECIFIED_SIZE;
 }
diff --git 
a/modules/raft-api/src/main/java/org/apache/ignite/internal/raft/configuration/RaftConfigurationSchema.java
 
b/modules/raft-api/src/main/java/org/apache/ignite/internal/raft/configuration/RaftConfigurationSchema.java
index 9bdc9f912d6..9c87352fc0d 100644
--- 
a/modules/raft-api/src/main/java/org/apache/ignite/internal/raft/configuration/RaftConfigurationSchema.java
+++ 
b/modules/raft-api/src/main/java/org/apache/ignite/internal/raft/configuration/RaftConfigurationSchema.java
@@ -19,6 +19,7 @@ package org.apache.ignite.internal.raft.configuration;
 
 import org.apache.ignite.configuration.annotation.Config;
 import org.apache.ignite.configuration.annotation.ConfigValue;
+import org.apache.ignite.configuration.annotation.PublicName;
 import org.apache.ignite.configuration.annotation.Value;
 
 /**
@@ -32,6 +33,7 @@ public class RaftConfigurationSchema {
      * a recipient and installed.
      */
     @Value(hasDefault = true)
+    @PublicName(legacyNames = "installSnapshotTimeout")
     public int installSnapshotTimeoutMillis = Integer.MAX_VALUE;
 
     /** Configuration for Raft groups corresponding to table partitions. */
@@ -43,18 +45,21 @@ public class RaftConfigurationSchema {
      * Timeout value (in milliseconds) for which the Raft client will try to 
receive a successful response from a remote peer.
      */
     @Value(hasDefault = true)
+    @PublicName(legacyNames = "retryTimeout")
     public long retryTimeoutMillis = 10_000;
 
     /**
      * Delay (in milliseconds) used by the Raft client between re-sending a 
failed request.
      */
     @Value(hasDefault = true)
+    @PublicName(legacyNames = "retryDelay")
     public long retryDelayMillis = 200;
 
     /**
      * Timeout value (in milliseconds) for which the Raft client will try to 
receive a response from a remote peer.
      */
     @Value(hasDefault = true)
+    @PublicName(legacyNames = "responseTimeout")
     public long responseTimeoutMillis = 3_000;
 
     /**
diff --git 
a/modules/replicator/src/main/java/org/apache/ignite/internal/replicator/configuration/ReplicationConfigurationModule.java
 
b/modules/replicator/src/main/java/org/apache/ignite/internal/replicator/configuration/ReplicationConfigurationModule.java
index 2e517a0d994..08d042524fc 100644
--- 
a/modules/replicator/src/main/java/org/apache/ignite/internal/replicator/configuration/ReplicationConfigurationModule.java
+++ 
b/modules/replicator/src/main/java/org/apache/ignite/internal/replicator/configuration/ReplicationConfigurationModule.java
@@ -17,10 +17,13 @@
 
 package org.apache.ignite.internal.replicator.configuration;
 
+import static 
org.apache.ignite.internal.replicator.configuration.ReplicationConfigurationSchema.DEFAULT_BATCH_SIZE_BYTES;
+
 import com.google.auto.service.AutoService;
 import java.util.Collection;
 import java.util.List;
 import org.apache.ignite.configuration.ConfigurationModule;
+import org.apache.ignite.configuration.SuperRootChange;
 import org.apache.ignite.configuration.annotation.ConfigurationType;
 
 /**
@@ -37,4 +40,16 @@ public class ReplicationConfigurationModule implements 
ConfigurationModule {
     public Collection<Class<?>> schemaExtensions() {
         return List.of(ReplicationExtensionConfigurationSchema.class);
     }
+
+    @Override
+    public void migrateDeprecatedConfigurations(SuperRootChange 
superRootChange) {
+        var rootView = (ReplicationExtensionView) 
superRootChange.viewRoot(ReplicationExtensionConfiguration.KEY);
+        var rootChange = (ReplicationExtensionChange) 
superRootChange.changeRoot(ReplicationExtensionConfiguration.KEY);
+
+        StorageUpdateView storageUpdateView = rootView.storageUpdate();
+
+        if (storageUpdateView.batchByteLength() != DEFAULT_BATCH_SIZE_BYTES) {
+            
rootChange.changeReplication().changeBatchSizeBytes(storageUpdateView.batchByteLength());
+        }
+    }
 }
diff --git 
a/modules/replicator/src/main/java/org/apache/ignite/internal/replicator/configuration/ReplicationConfigurationSchema.java
 
b/modules/replicator/src/main/java/org/apache/ignite/internal/replicator/configuration/ReplicationConfigurationSchema.java
index e2d2f3ff223..a53ac60c03e 100644
--- 
a/modules/replicator/src/main/java/org/apache/ignite/internal/replicator/configuration/ReplicationConfigurationSchema.java
+++ 
b/modules/replicator/src/main/java/org/apache/ignite/internal/replicator/configuration/ReplicationConfigurationSchema.java
@@ -19,6 +19,7 @@ package org.apache.ignite.internal.replicator.configuration;
 
 import java.util.concurrent.TimeUnit;
 import org.apache.ignite.configuration.annotation.Config;
+import org.apache.ignite.configuration.annotation.PublicName;
 import org.apache.ignite.configuration.annotation.Value;
 import org.apache.ignite.configuration.validation.Range;
 
@@ -30,29 +31,37 @@ public class ReplicationConfigurationSchema {
     /** Default value for {@link #idleSafeTimePropagationDurationMillis}. */
     public static final long DEFAULT_IDLE_SAFE_TIME_PROP_DURATION = 
TimeUnit.SECONDS.toMillis(1);
 
+    /** Default value for {@link #batchSizeBytes}. */
+    public static final int DEFAULT_BATCH_SIZE_BYTES = 8192;
+
     /** Idle safe time propagation duration (ms) for partitions. */
     @Value(hasDefault = true)
     @Range(min = 0)
     // TODO: IGNITE-19792 - make @Immutable when it gets being handled 
property for distributed config.
+    @PublicName(legacyNames = "idleSafeTimePropagationDuration")
     public long idleSafeTimePropagationDurationMillis = 
DEFAULT_IDLE_SAFE_TIME_PROP_DURATION;
 
     /** Replication request processing timeout.  */
     @Value(hasDefault = true)
     @Range(min = 1000)
+    @PublicName(legacyNames = "rpcTimeout")
     public long rpcTimeoutMillis = TimeUnit.SECONDS.toMillis(60);
 
     /** The interval in milliseconds that is used in the beginning of lease 
granting process. */
     @Value(hasDefault = true)
     @Range(min = 5000)
+    @PublicName(legacyNames = "leaseAgreementAcceptanceTimeLimit")
     public long leaseAgreementAcceptanceTimeLimitMillis = 120_000;
 
     /** Lease holding interval. */
     @Value(hasDefault = true)
     @Range(min = 2000, max = 120000)
+    @PublicName(legacyNames = "leaseExpirationInterval")
     public long leaseExpirationIntervalMillis = 5_000;
 
     @Value(hasDefault = true)
     @Range(max = 10_000)
+    @PublicName(legacyNames = "replicaOperationRetryInterval")
     public int replicaOperationRetryIntervalMillis = 10;
 
     /**
@@ -60,5 +69,5 @@ public class ReplicationConfigurationSchema {
      **/
     @Range(min = 1)
     @Value(hasDefault = true)
-    public int batchSizeBytes = 8192;
+    public int batchSizeBytes = DEFAULT_BATCH_SIZE_BYTES;
 }
diff --git 
a/modules/replicator/src/main/java/org/apache/ignite/internal/replicator/configuration/ReplicationExtensionConfigurationSchema.java
 
b/modules/replicator/src/main/java/org/apache/ignite/internal/replicator/configuration/ReplicationExtensionConfigurationSchema.java
index 3681d22fe5f..7d52fc5f8d7 100644
--- 
a/modules/replicator/src/main/java/org/apache/ignite/internal/replicator/configuration/ReplicationExtensionConfigurationSchema.java
+++ 
b/modules/replicator/src/main/java/org/apache/ignite/internal/replicator/configuration/ReplicationExtensionConfigurationSchema.java
@@ -28,4 +28,8 @@ import 
org.apache.ignite.internal.configuration.ClusterConfigurationSchema;
 public class ReplicationExtensionConfigurationSchema extends 
ClusterConfigurationSchema {
     @ConfigValue
     public ReplicationConfigurationSchema replication;
+
+    @ConfigValue
+    @Deprecated
+    public StorageUpdateConfigurationSchema storageUpdate;
 }
diff --git 
a/modules/transactions/src/main/java/org/apache/ignite/internal/tx/configuration/TransactionConfigurationSchema.java
 
b/modules/replicator/src/main/java/org/apache/ignite/internal/replicator/configuration/StorageUpdateConfigurationSchema.java
similarity index 67%
copy from 
modules/transactions/src/main/java/org/apache/ignite/internal/tx/configuration/TransactionConfigurationSchema.java
copy to 
modules/replicator/src/main/java/org/apache/ignite/internal/replicator/configuration/StorageUpdateConfigurationSchema.java
index 5debc79a987..8627b7f75ef 100644
--- 
a/modules/transactions/src/main/java/org/apache/ignite/internal/tx/configuration/TransactionConfigurationSchema.java
+++ 
b/modules/replicator/src/main/java/org/apache/ignite/internal/replicator/configuration/StorageUpdateConfigurationSchema.java
@@ -15,25 +15,24 @@
  * limitations under the License.
  */
 
-package org.apache.ignite.internal.tx.configuration;
+package org.apache.ignite.internal.replicator.configuration;
+
+import static 
org.apache.ignite.internal.replicator.configuration.ReplicationConfigurationSchema.DEFAULT_BATCH_SIZE_BYTES;
 
-import java.util.concurrent.TimeUnit;
 import org.apache.ignite.configuration.annotation.Config;
 import org.apache.ignite.configuration.annotation.Value;
 import org.apache.ignite.configuration.validation.Range;
 
 /**
- * Configuration schema for transactions.
+ * Configuration schema for StorageUpdateHandler.
  */
 @Config
-public class TransactionConfigurationSchema {
-    /** Default timeout for read-only transactions. */
-    @Range(min = 1)
-    @Value(hasDefault = true)
-    public final long readOnlyTimeoutMillis = TimeUnit.MINUTES.toMillis(10);
+public class StorageUpdateConfigurationSchema {
 
-    /** Default timeout for read-write transactions. */
+    /**
+     * Maximum allowed length (in bytes) of a batch to write into physical 
storage.
+     **/
     @Range(min = 1)
     @Value(hasDefault = true)
-    public final long readWriteTimeoutMillis = TimeUnit.SECONDS.toMillis(30);
+    public int batchByteLength = DEFAULT_BATCH_SIZE_BYTES;
 }
diff --git 
a/modules/schema/src/main/java/org/apache/ignite/internal/schema/configuration/LowWatermarkConfigurationSchema.java
 
b/modules/schema/src/main/java/org/apache/ignite/internal/schema/configuration/LowWatermarkConfigurationSchema.java
index a6102dc953c..a4cebe3e993 100644
--- 
a/modules/schema/src/main/java/org/apache/ignite/internal/schema/configuration/LowWatermarkConfigurationSchema.java
+++ 
b/modules/schema/src/main/java/org/apache/ignite/internal/schema/configuration/LowWatermarkConfigurationSchema.java
@@ -21,6 +21,7 @@ import static 
org.apache.ignite.internal.replicator.ReplicatorConstants.DEFAULT_
 
 import java.util.concurrent.TimeUnit;
 import org.apache.ignite.configuration.annotation.Config;
+import org.apache.ignite.configuration.annotation.PublicName;
 import org.apache.ignite.configuration.annotation.Value;
 import org.apache.ignite.configuration.validation.Range;
 
@@ -39,10 +40,12 @@ public class LowWatermarkConfigurationSchema {
     // propagation period plus max clock skew.
     @Range(min = DEFAULT_IDLE_SAFE_TIME_PROPAGATION_PERIOD_MILLISECONDS)
     @Value(hasDefault = true)
+    @PublicName(legacyNames = "dataAvailabilityTime")
     public long dataAvailabilityTimeMillis = TimeUnit.MINUTES.toMillis(10);
 
     /** Low watermark update interval (in milliseconds). */
     @Range(min = 0)
     @Value(hasDefault = true)
+    @PublicName(legacyNames = "updateInterval")
     public long updateIntervalMillis = TimeUnit.MINUTES.toMillis(5);
 }
diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/configuration/distributed/SqlPlannerDistributedConfigurationSchema.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/configuration/distributed/SqlPlannerDistributedConfigurationSchema.java
index bf6b00147aa..80d31c7a24e 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/configuration/distributed/SqlPlannerDistributedConfigurationSchema.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/configuration/distributed/SqlPlannerDistributedConfigurationSchema.java
@@ -18,6 +18,7 @@
 package org.apache.ignite.internal.sql.configuration.distributed;
 
 import org.apache.ignite.configuration.annotation.Config;
+import org.apache.ignite.configuration.annotation.PublicName;
 import org.apache.ignite.configuration.annotation.Value;
 import org.apache.ignite.configuration.validation.Range;
 
@@ -27,6 +28,7 @@ public class SqlPlannerDistributedConfigurationSchema {
     /** Planner timeout, in ms. */
     @Value(hasDefault = true)
     @Range(min = 0)
+    @PublicName(legacyNames = "maxPlanningTime")
     public final long maxPlanningTimeMillis = 15_000L;
 
     /**
diff --git 
a/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/configuration/schema/PersistentPageMemoryStorageEngineConfigurationSchema.java
 
b/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/configuration/schema/PersistentPageMemoryStorageEngineConfigurationSchema.java
index 551b82648af..d8e82188edd 100644
--- 
a/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/configuration/schema/PersistentPageMemoryStorageEngineConfigurationSchema.java
+++ 
b/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/configuration/schema/PersistentPageMemoryStorageEngineConfigurationSchema.java
@@ -19,6 +19,7 @@ package 
org.apache.ignite.internal.storage.pagememory.configuration.schema;
 
 import org.apache.ignite.configuration.annotation.Config;
 import org.apache.ignite.configuration.annotation.ConfigValue;
+import org.apache.ignite.configuration.annotation.PublicName;
 import org.apache.ignite.configuration.annotation.Value;
 import org.apache.ignite.configuration.validation.Immutable;
 import org.apache.ignite.configuration.validation.PowerOfTwo;
@@ -35,6 +36,7 @@ public class 
PersistentPageMemoryStorageEngineConfigurationSchema {
     @PowerOfTwo
     @Range(min = 1024, max = 16 * 1024)
     @Value(hasDefault = true)
+    @PublicName(legacyNames = "pageSize")
     public int pageSizeBytes = 16 * 1024;
 
     /* Checkpoint configuration for persistent data regions. */
diff --git 
a/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/configuration/schema/VolatilePageMemoryStorageEngineConfigurationSchema.java
 
b/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/configuration/schema/VolatilePageMemoryStorageEngineConfigurationSchema.java
index a0960fe3396..5ee92b6e772 100644
--- 
a/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/configuration/schema/VolatilePageMemoryStorageEngineConfigurationSchema.java
+++ 
b/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/configuration/schema/VolatilePageMemoryStorageEngineConfigurationSchema.java
@@ -18,6 +18,7 @@
 package org.apache.ignite.internal.storage.pagememory.configuration.schema;
 
 import org.apache.ignite.configuration.annotation.Config;
+import org.apache.ignite.configuration.annotation.PublicName;
 import org.apache.ignite.configuration.annotation.Value;
 import org.apache.ignite.configuration.validation.Immutable;
 import org.apache.ignite.configuration.validation.PowerOfTwo;
@@ -34,5 +35,6 @@ public class 
VolatilePageMemoryStorageEngineConfigurationSchema {
     @PowerOfTwo
     @Range(min = 1024, max = 16 * 1024)
     @Value(hasDefault = true)
+    @PublicName(legacyNames = "pageSize")
     public int pageSizeBytes = 16 * 1024;
 }
diff --git 
a/modules/storage-rocksdb/src/main/java/org/apache/ignite/internal/storage/rocksdb/configuration/schema/RocksDbProfileConfigurationSchema.java
 
b/modules/storage-rocksdb/src/main/java/org/apache/ignite/internal/storage/rocksdb/configuration/schema/RocksDbProfileConfigurationSchema.java
index d52cad7eb00..25337b0f0cf 100644
--- 
a/modules/storage-rocksdb/src/main/java/org/apache/ignite/internal/storage/rocksdb/configuration/schema/RocksDbProfileConfigurationSchema.java
+++ 
b/modules/storage-rocksdb/src/main/java/org/apache/ignite/internal/storage/rocksdb/configuration/schema/RocksDbProfileConfigurationSchema.java
@@ -18,6 +18,7 @@
 package org.apache.ignite.internal.storage.rocksdb.configuration.schema;
 
 import org.apache.ignite.configuration.annotation.PolymorphicConfigInstance;
+import org.apache.ignite.configuration.annotation.PublicName;
 import org.apache.ignite.configuration.annotation.Value;
 import org.apache.ignite.configuration.validation.Range;
 import 
org.apache.ignite.internal.storage.configurations.StorageProfileConfigurationSchema;
@@ -34,10 +35,12 @@ public class RocksDbProfileConfigurationSchema extends 
StorageProfileConfigurati
      * <p>When set to {@link #UNSPECIFIED_SIZE}, its value will be equal to a 
maximum between 256 MiB and 20% of the total physical memory.
      */
     @Value(hasDefault = true)
+    @PublicName(legacyNames = "size")
     public long sizeBytes = UNSPECIFIED_SIZE;
 
     /** Size of rocksdb write buffer. */
     @Value(hasDefault = true)
     @Range(min = 1)
+    @PublicName(legacyNames = "writeBufferSize")
     public long writeBufferSizeBytes = 64 * 1024 * 1024;
 }
diff --git 
a/modules/code-deployment/src/main/java/org/apache/ignite/internal/deployunit/configuration/DeploymentConfigurationSchema.java
 
b/modules/transactions/src/main/java/org/apache/ignite/internal/tx/configuration/DeadlockPreventionPolicyConfigurationSchema.java
similarity index 71%
copy from 
modules/code-deployment/src/main/java/org/apache/ignite/internal/deployunit/configuration/DeploymentConfigurationSchema.java
copy to 
modules/transactions/src/main/java/org/apache/ignite/internal/tx/configuration/DeadlockPreventionPolicyConfigurationSchema.java
index 21381d275cc..4058823673c 100644
--- 
a/modules/code-deployment/src/main/java/org/apache/ignite/internal/deployunit/configuration/DeploymentConfigurationSchema.java
+++ 
b/modules/transactions/src/main/java/org/apache/ignite/internal/tx/configuration/DeadlockPreventionPolicyConfigurationSchema.java
@@ -15,19 +15,21 @@
  * limitations under the License.
  */
 
-package org.apache.ignite.internal.deployunit.configuration;
+package org.apache.ignite.internal.tx.configuration;
 
 import org.apache.ignite.configuration.annotation.Config;
 import org.apache.ignite.configuration.annotation.Value;
+import org.apache.ignite.configuration.validation.OneOf;
 
 /**
- * Configuration schema for Compute functionality.
+ * Configuration schema for deadlock prevention policy.
  */
 @Config
-public class DeploymentConfigurationSchema {
-    /**
-     * Relative path to folder in node working directory where will store all 
deployment units content.
-     */
+public class DeadlockPreventionPolicyConfigurationSchema {
+    @OneOf({"NATURAL", "REVERSED", "NONE"})
     @Value(hasDefault = true)
-    public final String location = "deployment";
+    public String txIdComparator = "NATURAL";
+
+    @Value(hasDefault = true)
+    public long waitTimeout = 0;
 }
diff --git 
a/modules/transactions/src/main/java/org/apache/ignite/internal/tx/configuration/TransactionConfigurationSchema.java
 
b/modules/transactions/src/main/java/org/apache/ignite/internal/tx/configuration/TransactionConfigurationSchema.java
index 5debc79a987..6af2318c298 100644
--- 
a/modules/transactions/src/main/java/org/apache/ignite/internal/tx/configuration/TransactionConfigurationSchema.java
+++ 
b/modules/transactions/src/main/java/org/apache/ignite/internal/tx/configuration/TransactionConfigurationSchema.java
@@ -19,6 +19,8 @@ package org.apache.ignite.internal.tx.configuration;
 
 import java.util.concurrent.TimeUnit;
 import org.apache.ignite.configuration.annotation.Config;
+import org.apache.ignite.configuration.annotation.ConfigValue;
+import org.apache.ignite.configuration.annotation.PublicName;
 import org.apache.ignite.configuration.annotation.Value;
 import org.apache.ignite.configuration.validation.Range;
 
@@ -30,10 +32,53 @@ public class TransactionConfigurationSchema {
     /** Default timeout for read-only transactions. */
     @Range(min = 1)
     @Value(hasDefault = true)
+    @PublicName(legacyNames = "readOnlyTimeout")
     public final long readOnlyTimeoutMillis = TimeUnit.MINUTES.toMillis(10);
 
     /** Default timeout for read-write transactions. */
     @Range(min = 1)
     @Value(hasDefault = true)
+    @PublicName(legacyNames = "readWriteTimeout")
     public final long readWriteTimeoutMillis = TimeUnit.SECONDS.toMillis(30);
+
+    // Deprecated properties
+    /** How often abandoned transactions are searched for (milliseconds). */
+    @Range(min = 0)
+    @Value(hasDefault = true)
+    @Deprecated
+    public final long abandonedCheckTs = 5_000;
+
+    /** Default transaction timeout (milliseconds). */
+    @Range(min = 1)
+    @Value(hasDefault = true)
+    @Deprecated
+    public final long timeout = 10_000;
+
+    /** Timeout for implicit transactions (milliseconds). */
+    @Range(min = 1)
+    @Value(hasDefault = true)
+    @Deprecated
+    public final long implicitTransactionTimeout = 3_000;
+
+    /** A transaction tries to take lock several times until it throws an 
exception {@lonk org.apache.ignite.tx.TransactionException}. */
+    @Range(min = 0)
+    @Value(hasDefault = true)
+    @Deprecated
+    public final int attemptsObtainLock = 3;
+
+    /** Transaction resource time to live (ms), the minimum lifetime of a 
transaction state. */
+    @Value(hasDefault = true)
+    @Range(min = 0)
+    @Deprecated
+    public long txnResourceTtl = TimeUnit.SECONDS.toMillis(30);
+
+    /** Transaction system remote call timeout. RPC timeout for operations 
like cleanup and write intent resolution. */
+    @Value(hasDefault = true)
+    @Range(min = 1000)
+    @Deprecated
+    public long rpcTimeout = TimeUnit.SECONDS.toMillis(60);
+
+    @ConfigValue
+    @Deprecated
+    public DeadlockPreventionPolicyConfigurationSchema 
deadlockPreventionPolicy;
 }
diff --git 
a/modules/workers/src/main/java/org/apache/ignite/internal/worker/configuration/CriticalWorkersConfigurationSchema.java
 
b/modules/workers/src/main/java/org/apache/ignite/internal/worker/configuration/CriticalWorkersConfigurationSchema.java
index 4b58d783f27..c3cbd73833d 100644
--- 
a/modules/workers/src/main/java/org/apache/ignite/internal/worker/configuration/CriticalWorkersConfigurationSchema.java
+++ 
b/modules/workers/src/main/java/org/apache/ignite/internal/worker/configuration/CriticalWorkersConfigurationSchema.java
@@ -18,6 +18,7 @@
 package org.apache.ignite.internal.worker.configuration;
 
 import org.apache.ignite.configuration.annotation.Config;
+import org.apache.ignite.configuration.annotation.PublicName;
 import org.apache.ignite.configuration.annotation.Value;
 import org.apache.ignite.configuration.validation.Range;
 
@@ -26,6 +27,10 @@ import org.apache.ignite.configuration.validation.Range;
  */
 @Config
 public class CriticalWorkersConfigurationSchema {
+    public static final int DEFAULT_LIVENESS_CHECK_INTERVAL_MILLIS = 200;
+    public static final int DEFAULT_MAX_ALLOWED_LAG_MILLIS = 500;
+    public static final int DEFAULT_NETTY_THREADS_HEARTBEAT_INTERVAL_MILLIS = 
100;
+
     /**
      * Interval between liveness checks (ms) performed by the critical workers 
infrastructure.
      *
@@ -33,7 +38,8 @@ public class CriticalWorkersConfigurationSchema {
      */
     @Value(hasDefault = true)
     @Range(min = 1)
-    public long livenessCheckIntervalMillis = 200;
+    @PublicName(legacyNames = "livenessCheckInterval")
+    public long livenessCheckIntervalMillis = 
DEFAULT_LIVENESS_CHECK_INTERVAL_MILLIS;
 
     /**
      * Maximum allowed delay of the last heartbeat from current time; if it's 
exceeded, the critical worker is considered to be blocked.
@@ -42,12 +48,14 @@ public class CriticalWorkersConfigurationSchema {
      */
     @Value(hasDefault = true)
     @Range(min = 1)
-    public long maxAllowedLagMillis = 500;
+    @PublicName(legacyNames = "maxAllowedLag")
+    public long maxAllowedLagMillis = DEFAULT_MAX_ALLOWED_LAG_MILLIS;
 
     /**
      * Interval between heartbeats used to update Netty threads heartbeat 
timestamps.
      */
     @Value(hasDefault = true)
     @Range(min = 1)
-    public long nettyThreadsHeartbeatIntervalMillis = 100;
+    @PublicName(legacyNames = "nettyThreadsHeartbeatInterval")
+    public long nettyThreadsHeartbeatIntervalMillis = 
DEFAULT_NETTY_THREADS_HEARTBEAT_INTERVAL_MILLIS;
 }

Reply via email to