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;
}