This is an automated email from the ASF dual-hosted git repository.
tkalkirill 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 a547cd69d9b IGNITE-27081 Make NodeOptions#snapshotIntervalSecs
configurable (#6995)
a547cd69d9b is described below
commit a547cd69d9bb16d5686378bdad45b2efc6cd4027
Author: Kirill Tkalenko <[email protected]>
AuthorDate: Tue Nov 18 12:27:33 2025 +0300
IGNITE-27081 Make NodeOptions#snapshotIntervalSecs configurable (#6995)
---
modules/cluster-management/build.gradle | 2 ++
.../management/raft/ItCmgRaftServiceTest.java | 6 ++++-
.../management/BaseItClusterManagementTest.java | 6 +++++
.../internal/cluster/management/MockNode.java | 4 ++-
.../rebalance/ItRebalanceDistributedTest.java | 4 +++
.../impl/ItIdempotentCommandCacheTest.java | 29 ++++++++++++++++++----
.../impl/ItMetaStorageManagerImplTest.java | 12 ++++++++-
.../ItMetaStorageMultipleNodesAbstractTest.java | 13 +++++++---
.../metastorage/impl/ItMetaStorageServiceTest.java | 14 +++++++++--
.../metastorage/impl/ItMetaStorageWatchTest.java | 5 ++++
.../partition/replicator/fixtures/Node.java | 1 +
.../ItZonePartitionRaftListenerRecoveryTest.java | 3 +++
.../MultiActorPlacementDriverTest.java | 5 ++++
.../PlacementDriverManagerTest.java | 5 ++++
modules/raft/build.gradle | 2 ++
.../ignite/internal/raft/ItLearnersTest.java | 6 ++++-
.../apache/ignite/internal/raft/ItLozaTest.java | 21 +++++++++++-----
.../internal/raft/ItRaftGroupServiceTest.java | 5 ++++
.../raft/ItTruncateSuffixAndRestartTest.java | 6 ++++-
.../java/org/apache/ignite/internal/raft/Loza.java | 27 ++++++++++++++++++++
.../org/apache/ignite/internal/raft/LozaTest.java | 6 ++++-
.../ignite/internal/raft/TestLozaFactory.java | 15 ++++++++---
modules/replicator/build.gradle | 1 +
.../ItPlacementDriverReplicaSideTest.java | 5 ++++
.../ItDistributedConfigurationPropertiesTest.java | 17 +++++++++----
.../ItDistributedConfigurationStorageTest.java | 9 +++++--
.../runner/app/ItIgniteNodeRestartTest.java | 1 +
.../org/apache/ignite/internal/app/IgniteImpl.java | 1 +
.../apache/ignite/distributed/ItLockTableTest.java | 1 +
.../ItTxDistributedCleanupRecoveryTest.java | 1 +
...xDistributedTestSingleNodeNoCleanupMessage.java | 1 +
.../ignite/distributed/ItTxStateLocalMapTest.java | 5 ++++
.../ReplicasSafeTimePropagationTest.java | 5 ++++
.../apache/ignite/distributed/ItTxTestCluster.java | 16 ++++++++----
.../internal/table/TxInfrastructureTest.java | 5 ++++
35 files changed, 228 insertions(+), 37 deletions(-)
diff --git a/modules/cluster-management/build.gradle
b/modules/cluster-management/build.gradle
index 804944a6b7d..b1ccf334640 100644
--- a/modules/cluster-management/build.gradle
+++ b/modules/cluster-management/build.gradle
@@ -67,6 +67,7 @@ dependencies {
testFixturesImplementation project(':ignite-security')
testFixturesImplementation project(':ignite-system-disaster-recovery-api')
testFixturesImplementation project(':ignite-system-disaster-recovery')
+ testFixturesImplementation project(':ignite-configuration-system')
testFixturesImplementation testFixtures(project(':ignite-core'))
testFixturesImplementation testFixtures(project(':ignite-configuration'))
testFixturesImplementation testFixtures(project(':ignite-network'))
@@ -81,6 +82,7 @@ dependencies {
integrationTestImplementation project(':ignite-catalog')
integrationTestImplementation project(':ignite-runner')
integrationTestImplementation project(':ignite-system-disaster-recovery')
+ integrationTestImplementation project(':ignite-configuration-system')
integrationTestImplementation testFixtures(project)
integrationTestImplementation testFixtures(project(':ignite-core'))
integrationTestImplementation
testFixtures(project(':ignite-configuration'))
diff --git
a/modules/cluster-management/src/integrationTest/java/org/apache/ignite/internal/cluster/management/raft/ItCmgRaftServiceTest.java
b/modules/cluster-management/src/integrationTest/java/org/apache/ignite/internal/cluster/management/raft/ItCmgRaftServiceTest.java
index 190b9faf4fb..53b60976172 100644
---
a/modules/cluster-management/src/integrationTest/java/org/apache/ignite/internal/cluster/management/raft/ItCmgRaftServiceTest.java
+++
b/modules/cluster-management/src/integrationTest/java/org/apache/ignite/internal/cluster/management/raft/ItCmgRaftServiceTest.java
@@ -53,6 +53,7 @@ import
org.apache.ignite.internal.cluster.management.topology.api.LogicalNode;
import
org.apache.ignite.internal.cluster.management.topology.api.LogicalTopologySnapshot;
import org.apache.ignite.internal.configuration.ComponentWorkingDir;
import org.apache.ignite.internal.configuration.RaftGroupOptionsConfigHelper;
+import org.apache.ignite.internal.configuration.SystemLocalConfiguration;
import
org.apache.ignite.internal.configuration.testframework.ConfigurationExtension;
import
org.apache.ignite.internal.configuration.testframework.InjectConfiguration;
import org.apache.ignite.internal.failure.NoOpFailureManager;
@@ -95,6 +96,9 @@ public class ItCmgRaftServiceTest extends
BaseIgniteAbstractTest {
@InjectConfiguration
private static RaftConfiguration raftConfiguration;
+ @InjectConfiguration
+ private static SystemLocalConfiguration systemLocalConfiguration;
+
private final CmgMessagesFactory msgFactory = new CmgMessagesFactory();
private class Node {
@@ -120,7 +124,7 @@ public class ItCmgRaftServiceTest extends
BaseIgniteAbstractTest {
clusterService.nodeName(),
workingDir.raftLogPath()
);
- this.raftManager = TestLozaFactory.create(clusterService,
raftConfiguration, new HybridClockImpl());
+ this.raftManager = TestLozaFactory.create(clusterService,
raftConfiguration, systemLocalConfiguration, new HybridClockImpl());
this.logicalTopology = new
LogicalTopologyImpl(clusterStateStorage, new NoOpFailureManager());
}
diff --git
a/modules/cluster-management/src/testFixtures/java/org/apache/ignite/internal/cluster/management/BaseItClusterManagementTest.java
b/modules/cluster-management/src/testFixtures/java/org/apache/ignite/internal/cluster/management/BaseItClusterManagementTest.java
index f2b3dbd73f5..4d61e6d5d7a 100644
---
a/modules/cluster-management/src/testFixtures/java/org/apache/ignite/internal/cluster/management/BaseItClusterManagementTest.java
+++
b/modules/cluster-management/src/testFixtures/java/org/apache/ignite/internal/cluster/management/BaseItClusterManagementTest.java
@@ -27,6 +27,7 @@ import java.util.function.BiConsumer;
import java.util.function.Consumer;
import java.util.stream.IntStream;
import
org.apache.ignite.internal.cluster.management.configuration.NodeAttributesConfiguration;
+import org.apache.ignite.internal.configuration.SystemLocalConfiguration;
import
org.apache.ignite.internal.configuration.testframework.ConfigurationExtension;
import
org.apache.ignite.internal.configuration.testframework.InjectConfiguration;
import org.apache.ignite.internal.network.NodeFinder;
@@ -50,6 +51,9 @@ public abstract class BaseItClusterManagementTest extends
IgniteAbstractTest {
@InjectConfiguration("mock.retryTimeoutMillis = 60000")
private static RaftConfiguration raftConfiguration;
+ @InjectConfiguration
+ private static SystemLocalConfiguration systemLocalConfiguration;
+
@InjectConfiguration
private static NodeAttributesConfiguration userNodeAttributes;
@@ -78,6 +82,7 @@ public abstract class BaseItClusterManagementTest extends
IgniteAbstractTest {
nodeFinder,
workDir,
raftConfiguration,
+ systemLocalConfiguration,
userNodeAttributes,
storageConfiguration,
config -> onConfigurationCommittedListener.accept(i,
config)
@@ -104,6 +109,7 @@ public abstract class BaseItClusterManagementTest extends
IgniteAbstractTest {
new StaticNodeFinder(createSeedAddresses(clusterSize)),
workDir,
raftConfiguration,
+ systemLocalConfiguration,
userNodeAttributes,
storageConfiguration,
onConfigurationCommittedListener
diff --git
a/modules/cluster-management/src/testFixtures/java/org/apache/ignite/internal/cluster/management/MockNode.java
b/modules/cluster-management/src/testFixtures/java/org/apache/ignite/internal/cluster/management/MockNode.java
index 30167d227db..2d96b8dfd2b 100644
---
a/modules/cluster-management/src/testFixtures/java/org/apache/ignite/internal/cluster/management/MockNode.java
+++
b/modules/cluster-management/src/testFixtures/java/org/apache/ignite/internal/cluster/management/MockNode.java
@@ -39,6 +39,7 @@ import
org.apache.ignite.internal.cluster.management.topology.LogicalTopologyImp
import org.apache.ignite.internal.cluster.management.topology.api.LogicalNode;
import
org.apache.ignite.internal.cluster.management.topology.api.LogicalTopologySnapshot;
import org.apache.ignite.internal.configuration.RaftGroupOptionsConfigHelper;
+import org.apache.ignite.internal.configuration.SystemLocalConfiguration;
import
org.apache.ignite.internal.configuration.validation.TestConfigurationValidator;
import
org.apache.ignite.internal.disaster.system.SystemDisasterRecoveryStorage;
import org.apache.ignite.internal.failure.FailureManager;
@@ -89,6 +90,7 @@ public class MockNode {
NodeFinder nodeFinder,
Path workDir,
RaftConfiguration raftConfiguration,
+ SystemLocalConfiguration systemLocalConfiguration,
NodeAttributesConfiguration nodeAttributes,
StorageConfiguration storageProfilesConfiguration,
Consumer<RaftGroupConfiguration> onConfigurationCommittedListener
@@ -115,7 +117,7 @@ public class MockNode {
this.workDir.resolve("partitions/log")
);
- var raftManager = TestLozaFactory.create(clusterService,
raftConfiguration, new HybridClockImpl());
+ var raftManager = TestLozaFactory.create(clusterService,
raftConfiguration, systemLocalConfiguration, new HybridClockImpl());
var clusterStateStorage =
new
RocksDbClusterStateStorage(this.workDir.resolve("cmg/data"),
clusterService.nodeName());
diff --git
a/modules/distribution-zones/src/integrationTest/java/org/apache/ignite/internal/rebalance/ItRebalanceDistributedTest.java
b/modules/distribution-zones/src/integrationTest/java/org/apache/ignite/internal/rebalance/ItRebalanceDistributedTest.java
index 6788b67c87a..91203047cb0 100644
---
a/modules/distribution-zones/src/integrationTest/java/org/apache/ignite/internal/rebalance/ItRebalanceDistributedTest.java
+++
b/modules/distribution-zones/src/integrationTest/java/org/apache/ignite/internal/rebalance/ItRebalanceDistributedTest.java
@@ -320,6 +320,9 @@ public class ItRebalanceDistributedTest extends
BaseIgniteAbstractTest {
@InjectConfiguration
private RaftConfiguration raftConfiguration;
+ @InjectConfiguration
+ private SystemLocalConfiguration systemLocalConfiguration;
+
@InjectConfiguration
private SystemLocalConfiguration systemConfiguration;
@@ -1319,6 +1322,7 @@ public class ItRebalanceDistributedTest extends
BaseIgniteAbstractTest {
clusterService,
metricManager,
raftConfiguration,
+ systemLocalConfiguration,
hybridClock,
raftGroupEventsClientListener,
new NoOpFailureManager()
diff --git
a/modules/metastorage/src/integrationTest/java/org/apache/ignite/internal/metastorage/impl/ItIdempotentCommandCacheTest.java
b/modules/metastorage/src/integrationTest/java/org/apache/ignite/internal/metastorage/impl/ItIdempotentCommandCacheTest.java
index b4b37fbf26a..0ecb7977ff9 100644
---
a/modules/metastorage/src/integrationTest/java/org/apache/ignite/internal/metastorage/impl/ItIdempotentCommandCacheTest.java
+++
b/modules/metastorage/src/integrationTest/java/org/apache/ignite/internal/metastorage/impl/ItIdempotentCommandCacheTest.java
@@ -57,6 +57,7 @@ import
org.apache.ignite.internal.cluster.management.topology.api.LogicalTopolog
import org.apache.ignite.internal.configuration.ComponentWorkingDir;
import org.apache.ignite.internal.configuration.RaftGroupOptionsConfigHelper;
import org.apache.ignite.internal.configuration.SystemDistributedConfiguration;
+import org.apache.ignite.internal.configuration.SystemLocalConfiguration;
import
org.apache.ignite.internal.configuration.testframework.ConfigurationExtension;
import
org.apache.ignite.internal.configuration.testframework.InjectConfiguration;
import org.apache.ignite.internal.failure.NoOpFailureManager;
@@ -136,8 +137,11 @@ public class ItIdempotentCommandCacheTest extends
IgniteAbstractTest {
@InjectConfiguration("mock.retryTimeoutMillis = 10000")
private RaftConfiguration raftConfiguration;
+ @InjectConfiguration
+ private SystemLocalConfiguration systemLocalConfiguration;
+
@InjectConfiguration("mock.idleSafeTimeSyncIntervalMillis = 100")
- private SystemDistributedConfiguration systemConfiguration;
+ private SystemDistributedConfiguration systemDistributedConfiguration;
@InjectExecutorService
private ScheduledExecutorService scheduledExecutorService;
@@ -166,7 +170,8 @@ public class ItIdempotentCommandCacheTest extends
IgniteAbstractTest {
Node(
TestInfo testInfo,
RaftConfiguration raftConfiguration,
- SystemDistributedConfiguration systemConfiguration,
+ SystemLocalConfiguration systemLocalConfiguration,
+ SystemDistributedConfiguration systemDistributedConfiguration,
Path workDir,
int index,
ScheduledExecutorService scheduledExecutorService
@@ -194,7 +199,13 @@ public class ItIdempotentCommandCacheTest extends
IgniteAbstractTest {
workingDir.raftLogPath()
);
- raftManager = TestLozaFactory.create(clusterService,
raftConfiguration, clock, raftGroupEventsClientListener);
+ raftManager = TestLozaFactory.create(
+ clusterService,
+ raftConfiguration,
+ systemLocalConfiguration,
+ clock,
+ raftGroupEventsClientListener
+ );
var logicalTopologyService = mock(LogicalTopologyService.class);
@@ -235,7 +246,7 @@ public class ItIdempotentCommandCacheTest extends
IgniteAbstractTest {
clock,
topologyAwareRaftGroupServiceFactory,
new NoOpMetricManager(),
- systemConfiguration,
+ systemDistributedConfiguration,
msRaftConfigurer,
readOperationForCompactionTracker
);
@@ -555,7 +566,15 @@ public class ItIdempotentCommandCacheTest extends
IgniteAbstractTest {
nodes = new ArrayList<>();
for (int i = 0; i < NODES_COUNT; i++) {
- Node node = new Node(testInfo, raftConfiguration,
systemConfiguration, workDir, i, scheduledExecutorService);
+ Node node = new Node(
+ testInfo,
+ raftConfiguration,
+ systemLocalConfiguration,
+ systemDistributedConfiguration,
+ workDir,
+ i,
+ scheduledExecutorService
+ );
nodes.add(node);
}
diff --git
a/modules/metastorage/src/integrationTest/java/org/apache/ignite/internal/metastorage/impl/ItMetaStorageManagerImplTest.java
b/modules/metastorage/src/integrationTest/java/org/apache/ignite/internal/metastorage/impl/ItMetaStorageManagerImplTest.java
index 9ee64595f43..9cf447badac 100644
---
a/modules/metastorage/src/integrationTest/java/org/apache/ignite/internal/metastorage/impl/ItMetaStorageManagerImplTest.java
+++
b/modules/metastorage/src/integrationTest/java/org/apache/ignite/internal/metastorage/impl/ItMetaStorageManagerImplTest.java
@@ -61,6 +61,7 @@ import
org.apache.ignite.internal.cluster.management.topology.api.LogicalTopolog
import org.apache.ignite.internal.configuration.ComponentWorkingDir;
import org.apache.ignite.internal.configuration.RaftGroupOptionsConfigHelper;
import org.apache.ignite.internal.configuration.SystemDistributedConfiguration;
+import org.apache.ignite.internal.configuration.SystemLocalConfiguration;
import
org.apache.ignite.internal.configuration.testframework.ConfigurationExtension;
import
org.apache.ignite.internal.configuration.testframework.InjectConfiguration;
import org.apache.ignite.internal.disaster.system.repair.MetastorageRepair;
@@ -138,6 +139,9 @@ public class ItMetaStorageManagerImplTest extends
IgniteAbstractTest {
@InjectConfiguration
private RaftConfiguration raftConfiguration;
+ @InjectConfiguration
+ private SystemLocalConfiguration systemLocalConfiguration;
+
@InjectExecutorService
private ScheduledExecutorService scheduledExecutorService;
@@ -163,7 +167,13 @@ public class ItMetaStorageManagerImplTest extends
IgniteAbstractTest {
workingDir.raftLogPath()
);
- raftManager = TestLozaFactory.create(clusterService,
raftConfiguration, clock, raftGroupEventsClientListener);
+ raftManager = TestLozaFactory.create(
+ clusterService,
+ raftConfiguration,
+ systemLocalConfiguration,
+ clock,
+ raftGroupEventsClientListener
+ );
var logicalTopologyService = mock(LogicalTopologyService.class);
diff --git
a/modules/metastorage/src/integrationTest/java/org/apache/ignite/internal/metastorage/impl/ItMetaStorageMultipleNodesAbstractTest.java
b/modules/metastorage/src/integrationTest/java/org/apache/ignite/internal/metastorage/impl/ItMetaStorageMultipleNodesAbstractTest.java
index b3351960b70..a395f6a470a 100644
---
a/modules/metastorage/src/integrationTest/java/org/apache/ignite/internal/metastorage/impl/ItMetaStorageMultipleNodesAbstractTest.java
+++
b/modules/metastorage/src/integrationTest/java/org/apache/ignite/internal/metastorage/impl/ItMetaStorageMultipleNodesAbstractTest.java
@@ -44,6 +44,7 @@ import
org.apache.ignite.internal.components.SystemPropertiesNodeProperties;
import org.apache.ignite.internal.configuration.ComponentWorkingDir;
import org.apache.ignite.internal.configuration.RaftGroupOptionsConfigHelper;
import org.apache.ignite.internal.configuration.SystemDistributedConfiguration;
+import org.apache.ignite.internal.configuration.SystemLocalConfiguration;
import
org.apache.ignite.internal.configuration.testframework.ConfigurationExtension;
import
org.apache.ignite.internal.configuration.testframework.InjectConfiguration;
import
org.apache.ignite.internal.configuration.validation.TestConfigurationValidator;
@@ -96,11 +97,14 @@ abstract class ItMetaStorageMultipleNodesAbstractTest
extends IgniteAbstractTest
@InjectConfiguration
private StorageConfiguration storageConfiguration;
+ @InjectConfiguration
+ private SystemLocalConfiguration systemLocalConfiguration;
+
/**
* Large interval to effectively disable idle safe time propagation.
*/
@InjectConfiguration("mock.idleSafeTimeSyncIntervalMillis=1000000")
- private SystemDistributedConfiguration systemConfiguration;
+ private SystemDistributedConfiguration systemDistributedConfiguration;
private TestInfo testInfo;
@@ -161,6 +165,7 @@ abstract class ItMetaStorageMultipleNodesAbstractTest
extends IgniteAbstractTest
this.raftManager = TestLozaFactory.create(
clusterService,
raftConfiguration,
+ systemLocalConfiguration,
clock,
raftGroupEventsClientListener
);
@@ -227,7 +232,7 @@ abstract class ItMetaStorageMultipleNodesAbstractTest
extends IgniteAbstractTest
clock,
topologyAwareRaftGroupServiceFactory,
new NoOpMetricManager(),
- systemConfiguration,
+ systemDistributedConfiguration,
msRaftConfigurator,
readOperationForCompactionTracker
);
@@ -318,7 +323,9 @@ abstract class ItMetaStorageMultipleNodesAbstractTest
extends IgniteAbstractTest
}
final void enableIdleSafeTimeSync() {
- CompletableFuture<Void> updateIdleSafeTimeSyncIntervalFuture =
systemConfiguration.idleSafeTimeSyncIntervalMillis().update(100L);
+ CompletableFuture<Void> updateIdleSafeTimeSyncIntervalFuture =
systemDistributedConfiguration
+ .idleSafeTimeSyncIntervalMillis()
+ .update(100L);
assertThat(updateIdleSafeTimeSyncIntervalFuture,
willCompleteSuccessfully());
}
diff --git
a/modules/metastorage/src/integrationTest/java/org/apache/ignite/internal/metastorage/impl/ItMetaStorageServiceTest.java
b/modules/metastorage/src/integrationTest/java/org/apache/ignite/internal/metastorage/impl/ItMetaStorageServiceTest.java
index 6a76141b726..304197c5754 100644
---
a/modules/metastorage/src/integrationTest/java/org/apache/ignite/internal/metastorage/impl/ItMetaStorageServiceTest.java
+++
b/modules/metastorage/src/integrationTest/java/org/apache/ignite/internal/metastorage/impl/ItMetaStorageServiceTest.java
@@ -70,6 +70,7 @@ import java.util.stream.Collectors;
import java.util.stream.Stream;
import org.apache.ignite.internal.configuration.ComponentWorkingDir;
import org.apache.ignite.internal.configuration.RaftGroupOptionsConfigHelper;
+import org.apache.ignite.internal.configuration.SystemLocalConfiguration;
import
org.apache.ignite.internal.configuration.testframework.ConfigurationExtension;
import
org.apache.ignite.internal.configuration.testframework.InjectConfiguration;
import org.apache.ignite.internal.hlc.HybridClock;
@@ -197,7 +198,12 @@ public class ItMetaStorageServiceTest extends
BaseIgniteAbstractTest {
private final RaftGroupOptionsConfigurer partitionsRaftConfigurer;
- Node(ClusterService clusterService, RaftConfiguration
raftConfiguration, Path dataPath) {
+ Node(
+ ClusterService clusterService,
+ RaftConfiguration raftConfiguration,
+ SystemLocalConfiguration systemLocalConfiguration,
+ Path dataPath
+ ) {
this.clusterService = clusterService;
clock = new HybridClockImpl();
@@ -215,6 +221,7 @@ public class ItMetaStorageServiceTest extends
BaseIgniteAbstractTest {
this.raftManager = TestLozaFactory.create(
clusterService,
raftConfiguration,
+ systemLocalConfiguration,
clock
);
this.clusterTime = new ClusterTimeImpl(clusterService.nodeName(),
new IgniteSpinBusyLock(), clock);
@@ -301,6 +308,9 @@ public class ItMetaStorageServiceTest extends
BaseIgniteAbstractTest {
@InjectConfiguration
private RaftConfiguration raftConfiguration;
+ @InjectConfiguration
+ private SystemLocalConfiguration systemLocalConfiguration;
+
private final List<Node> nodes = new ArrayList<>();
@BeforeEach
@@ -316,7 +326,7 @@ public class ItMetaStorageServiceTest extends
BaseIgniteAbstractTest {
localAddresses.stream()
.map(addr -> ClusterServiceTestUtils.clusterService(testInfo,
addr.port(), nodeFinder))
- .forEach(clusterService -> nodes.add(new Node(clusterService,
raftConfiguration, workDir)));
+ .forEach(clusterService -> nodes.add(new Node(clusterService,
raftConfiguration, systemLocalConfiguration, workDir)));
return nodes;
}
diff --git
a/modules/metastorage/src/integrationTest/java/org/apache/ignite/internal/metastorage/impl/ItMetaStorageWatchTest.java
b/modules/metastorage/src/integrationTest/java/org/apache/ignite/internal/metastorage/impl/ItMetaStorageWatchTest.java
index 147348b8b78..b0d41642081 100644
---
a/modules/metastorage/src/integrationTest/java/org/apache/ignite/internal/metastorage/impl/ItMetaStorageWatchTest.java
+++
b/modules/metastorage/src/integrationTest/java/org/apache/ignite/internal/metastorage/impl/ItMetaStorageWatchTest.java
@@ -61,6 +61,7 @@ import
org.apache.ignite.internal.components.SystemPropertiesNodeProperties;
import org.apache.ignite.internal.configuration.ComponentWorkingDir;
import org.apache.ignite.internal.configuration.RaftGroupOptionsConfigHelper;
import org.apache.ignite.internal.configuration.SystemDistributedConfiguration;
+import org.apache.ignite.internal.configuration.SystemLocalConfiguration;
import
org.apache.ignite.internal.configuration.testframework.ConfigurationExtension;
import
org.apache.ignite.internal.configuration.testframework.InjectConfiguration;
import
org.apache.ignite.internal.configuration.validation.TestConfigurationValidator;
@@ -129,6 +130,9 @@ public class ItMetaStorageWatchTest extends
IgniteAbstractTest {
@InjectConfiguration
private RaftConfiguration raftConfiguration;
+ @InjectConfiguration
+ private SystemLocalConfiguration systemLocalConfiguration;
+
private class Node {
private final List<IgniteComponent> components = new ArrayList<>();
@@ -165,6 +169,7 @@ public class ItMetaStorageWatchTest extends
IgniteAbstractTest {
var raftManager = TestLozaFactory.create(
clusterService,
raftConfiguration,
+ systemLocalConfiguration,
clock,
raftGroupEventsClientListener
);
diff --git
a/modules/partition-replicator/src/integrationTest/java/org/apache/ignite/internal/partition/replicator/fixtures/Node.java
b/modules/partition-replicator/src/integrationTest/java/org/apache/ignite/internal/partition/replicator/fixtures/Node.java
index cb0026e0483..c4c46cca52f 100644
---
a/modules/partition-replicator/src/integrationTest/java/org/apache/ignite/internal/partition/replicator/fixtures/Node.java
+++
b/modules/partition-replicator/src/integrationTest/java/org/apache/ignite/internal/partition/replicator/fixtures/Node.java
@@ -402,6 +402,7 @@ public class Node {
clusterService,
metricManager,
raftConfiguration,
+ systemLocalConfiguration,
hybridClock,
raftGroupEventsClientListener,
new NoOpFailureManager()
diff --git
a/modules/partition-replicator/src/integrationTest/java/org/apache/ignite/internal/partition/replicator/raft/ItZonePartitionRaftListenerRecoveryTest.java
b/modules/partition-replicator/src/integrationTest/java/org/apache/ignite/internal/partition/replicator/raft/ItZonePartitionRaftListenerRecoveryTest.java
index 9ced615c4fa..bdcb3605a2c 100644
---
a/modules/partition-replicator/src/integrationTest/java/org/apache/ignite/internal/partition/replicator/raft/ItZonePartitionRaftListenerRecoveryTest.java
+++
b/modules/partition-replicator/src/integrationTest/java/org/apache/ignite/internal/partition/replicator/raft/ItZonePartitionRaftListenerRecoveryTest.java
@@ -60,6 +60,7 @@ import
org.apache.ignite.internal.catalog.descriptors.CatalogIndexDescriptor;
import org.apache.ignite.internal.components.NoOpLogSyncer;
import org.apache.ignite.internal.components.SystemPropertiesNodeProperties;
import org.apache.ignite.internal.configuration.ComponentWorkingDir;
+import org.apache.ignite.internal.configuration.SystemLocalConfiguration;
import
org.apache.ignite.internal.configuration.testframework.ConfigurationExtension;
import
org.apache.ignite.internal.configuration.testframework.InjectConfiguration;
import org.apache.ignite.internal.failure.NoOpFailureManager;
@@ -232,6 +233,7 @@ class ItZonePartitionRaftListenerRecoveryTest extends
IgniteAbstractTest {
void setUp(
TestInfo testInfo,
@InjectConfiguration RaftConfiguration raftConfiguration,
+ @InjectConfiguration SystemLocalConfiguration
systemLocalConfiguration,
@InjectExecutorService ScheduledExecutorService
scheduledExecutorService,
@Mock Catalog catalog,
@Mock CatalogIndexDescriptor catalogIndexDescriptor
@@ -262,6 +264,7 @@ class ItZonePartitionRaftListenerRecoveryTest extends
IgniteAbstractTest {
clusterService,
new NoOpMetricManager(),
raftConfiguration,
+ systemLocalConfiguration,
clock,
new RaftGroupEventsClientListener(),
failureProcessor
diff --git
a/modules/placement-driver/src/integrationTest/java/org/apache/ignite/internal/placementdriver/MultiActorPlacementDriverTest.java
b/modules/placement-driver/src/integrationTest/java/org/apache/ignite/internal/placementdriver/MultiActorPlacementDriverTest.java
index 01be19c4c28..a65046045b0 100644
---
a/modules/placement-driver/src/integrationTest/java/org/apache/ignite/internal/placementdriver/MultiActorPlacementDriverTest.java
+++
b/modules/placement-driver/src/integrationTest/java/org/apache/ignite/internal/placementdriver/MultiActorPlacementDriverTest.java
@@ -47,6 +47,7 @@ import
org.apache.ignite.internal.components.SystemPropertiesNodeProperties;
import org.apache.ignite.internal.configuration.ComponentWorkingDir;
import org.apache.ignite.internal.configuration.RaftGroupOptionsConfigHelper;
import org.apache.ignite.internal.configuration.SystemDistributedConfiguration;
+import org.apache.ignite.internal.configuration.SystemLocalConfiguration;
import
org.apache.ignite.internal.configuration.testframework.ConfigurationExtension;
import
org.apache.ignite.internal.configuration.testframework.InjectConfiguration;
import org.apache.ignite.internal.failure.FailureProcessor;
@@ -108,6 +109,9 @@ public class MultiActorPlacementDriverTest extends
BasePlacementDriverTest {
@InjectConfiguration
private RaftConfiguration raftConfiguration;
+ @InjectConfiguration
+ private SystemLocalConfiguration systemLocalConfiguration;
+
@InjectConfiguration
private SystemDistributedConfiguration systemDistributedConfiguration;
@@ -278,6 +282,7 @@ public class MultiActorPlacementDriverTest extends
BasePlacementDriverTest {
var raftManager = TestLozaFactory.create(
clusterService,
raftConfiguration,
+ systemLocalConfiguration,
nodeClock,
eventsClientListener
);
diff --git
a/modules/placement-driver/src/integrationTest/java/org/apache/ignite/internal/placementdriver/PlacementDriverManagerTest.java
b/modules/placement-driver/src/integrationTest/java/org/apache/ignite/internal/placementdriver/PlacementDriverManagerTest.java
index b16c60d08a7..69cd5d42bfa 100644
---
a/modules/placement-driver/src/integrationTest/java/org/apache/ignite/internal/placementdriver/PlacementDriverManagerTest.java
+++
b/modules/placement-driver/src/integrationTest/java/org/apache/ignite/internal/placementdriver/PlacementDriverManagerTest.java
@@ -67,6 +67,7 @@ import
org.apache.ignite.internal.components.SystemPropertiesNodeProperties;
import org.apache.ignite.internal.configuration.ComponentWorkingDir;
import org.apache.ignite.internal.configuration.RaftGroupOptionsConfigHelper;
import org.apache.ignite.internal.configuration.SystemDistributedConfiguration;
+import org.apache.ignite.internal.configuration.SystemLocalConfiguration;
import
org.apache.ignite.internal.configuration.testframework.ConfigurationExtension;
import
org.apache.ignite.internal.configuration.testframework.InjectConfiguration;
import
org.apache.ignite.internal.distributionzones.rebalance.ZoneRebalanceUtil;
@@ -148,6 +149,9 @@ public class PlacementDriverManagerTest extends
BasePlacementDriverTest {
@InjectConfiguration
private RaftConfiguration raftConfiguration;
+ @InjectConfiguration
+ private SystemLocalConfiguration systemLocalConfiguration;
+
@InjectConfiguration
private SystemDistributedConfiguration systemDistributedConfiguration;
@@ -222,6 +226,7 @@ public class PlacementDriverManagerTest extends
BasePlacementDriverTest {
raftManager = TestLozaFactory.create(
clusterService,
raftConfiguration,
+ systemLocalConfiguration,
nodeClock,
eventsClientListener
);
diff --git a/modules/raft/build.gradle b/modules/raft/build.gradle
index f8724585775..a315d2f74ce 100644
--- a/modules/raft/build.gradle
+++ b/modules/raft/build.gradle
@@ -38,6 +38,7 @@ pmdTest {
dependencies {
implementation project(':ignite-core')
implementation project(':ignite-configuration-api')
+ implementation project(':ignite-configuration-system')
implementation project(':ignite-raft-api')
implementation project(':ignite-network')
implementation project(':ignite-rocksdb-common')
@@ -75,6 +76,7 @@ dependencies {
testFixturesImplementation project(':ignite-core')
testFixturesImplementation project(':ignite-network')
testFixturesImplementation project(':ignite-raft-api')
+ testFixturesImplementation project(':ignite-configuration-system')
testFixturesImplementation testFixtures(project(':ignite-configuration'))
testFixturesImplementation testFixtures(project(':ignite-core'))
testFixturesImplementation testFixtures(project(':ignite-metrics'))
diff --git
a/modules/raft/src/integrationTest/java/org/apache/ignite/internal/raft/ItLearnersTest.java
b/modules/raft/src/integrationTest/java/org/apache/ignite/internal/raft/ItLearnersTest.java
index 19575173ac9..2c12dd17613 100644
---
a/modules/raft/src/integrationTest/java/org/apache/ignite/internal/raft/ItLearnersTest.java
+++
b/modules/raft/src/integrationTest/java/org/apache/ignite/internal/raft/ItLearnersTest.java
@@ -51,6 +51,7 @@ import java.util.stream.IntStream;
import java.util.stream.Stream;
import org.apache.ignite.internal.configuration.ComponentWorkingDir;
import org.apache.ignite.internal.configuration.RaftGroupOptionsConfigHelper;
+import org.apache.ignite.internal.configuration.SystemLocalConfiguration;
import
org.apache.ignite.internal.configuration.testframework.ConfigurationExtension;
import
org.apache.ignite.internal.configuration.testframework.InjectConfiguration;
import org.apache.ignite.internal.hlc.HybridClockImpl;
@@ -107,6 +108,9 @@ public class ItLearnersTest extends IgniteAbstractTest {
@InjectConfiguration
private RaftConfiguration raftConfiguration;
+ @InjectConfiguration
+ private SystemLocalConfiguration systemLocalConfiguration;
+
private final List<RaftNode> nodes = new ArrayList<>(ADDRS.size());
/** Mock Raft node. */
@@ -131,7 +135,7 @@ public class ItLearnersTest extends IgniteAbstractTest {
partitionsWorkDir.raftLogPath()
);
- loza = TestLozaFactory.create(clusterService, raftConfiguration,
new HybridClockImpl());
+ loza = TestLozaFactory.create(clusterService, raftConfiguration,
systemLocalConfiguration, new HybridClockImpl());
}
String consistentId() {
diff --git
a/modules/raft/src/integrationTest/java/org/apache/ignite/internal/raft/ItLozaTest.java
b/modules/raft/src/integrationTest/java/org/apache/ignite/internal/raft/ItLozaTest.java
index 9d3a4bbef10..5c007b3e393 100644
---
a/modules/raft/src/integrationTest/java/org/apache/ignite/internal/raft/ItLozaTest.java
+++
b/modules/raft/src/integrationTest/java/org/apache/ignite/internal/raft/ItLozaTest.java
@@ -47,6 +47,7 @@ import java.util.concurrent.CompletableFuture;
import java.util.function.Consumer;
import org.apache.ignite.internal.configuration.ComponentWorkingDir;
import org.apache.ignite.internal.configuration.RaftGroupOptionsConfigHelper;
+import org.apache.ignite.internal.configuration.SystemLocalConfiguration;
import
org.apache.ignite.internal.configuration.testframework.ConfigurationExtension;
import
org.apache.ignite.internal.configuration.testframework.InjectConfiguration;
import org.apache.ignite.internal.hlc.HybridClockImpl;
@@ -157,7 +158,10 @@ public class ItLozaTest extends IgniteAbstractTest {
* Tests that RaftGroupServiceImpl uses shared executor for retrying
RaftGroupServiceImpl#sendWithRetry().
*/
@Test
- public void testRaftServiceUsingSharedExecutor(@InjectConfiguration
RaftConfiguration raftConfiguration) throws Exception {
+ public void testRaftServiceUsingSharedExecutor(
+ @InjectConfiguration RaftConfiguration raftConfiguration,
+ @InjectConfiguration SystemLocalConfiguration
systemLocalConfiguration
+ ) throws Exception {
ClusterService spyService = spy(clusterService);
MessagingService messagingServiceMock =
spy(spyService.messagingService());
@@ -180,7 +184,7 @@ public class ItLozaTest extends IgniteAbstractTest {
assertThat(partitionsLogStorageFactory.startAsync(componentContext),
willCompleteSuccessfully());
- loza = TestLozaFactory.create(spyService, raftConfiguration, new
HybridClockImpl());
+ loza = TestLozaFactory.create(spyService, raftConfiguration,
systemLocalConfiguration, new HybridClockImpl());
assertThat(loza.startAsync(componentContext),
willCompleteSuccessfully());
@@ -217,7 +221,9 @@ public class ItLozaTest extends IgniteAbstractTest {
@RepeatedTest(100)
void testVolatileAndPersistentGroupsOnSameStripe(
@InjectConfiguration("mock.logStripesCount=1")
- RaftConfiguration raftConfiguration
+ RaftConfiguration raftConfiguration,
+ @InjectConfiguration
+ SystemLocalConfiguration systemLocalConfiguration
) throws Exception {
ComponentWorkingDir partitionsWorkDir = new
ComponentWorkingDir(workDir);
@@ -230,7 +236,7 @@ public class ItLozaTest extends IgniteAbstractTest {
assertThat(logStorageFactory.startAsync(componentContext),
willCompleteSuccessfully());
- loza = TestLozaFactory.create(clusterService, raftConfiguration, new
HybridClockImpl());
+ loza = TestLozaFactory.create(clusterService, raftConfiguration,
systemLocalConfiguration, new HybridClockImpl());
assertThat(loza.startAsync(componentContext),
willCompleteSuccessfully());
@@ -305,7 +311,10 @@ public class ItLozaTest extends IgniteAbstractTest {
}
@Test
- void destroysRaftNodeStorages(@InjectConfiguration RaftConfiguration
raftConfiguration) throws Exception {
+ void destroysRaftNodeStorages(
+ @InjectConfiguration RaftConfiguration raftConfiguration,
+ @InjectConfiguration SystemLocalConfiguration
systemLocalConfiguration
+ ) throws Exception {
ComponentWorkingDir partitionsWorkDir = new
ComponentWorkingDir(workDir);
LogStorageFactory logStorageFactory =
SharedLogStorageFactoryUtils.create(
@@ -318,7 +327,7 @@ public class ItLozaTest extends IgniteAbstractTest {
assertThat(logStorageFactory.startAsync(componentContext),
willCompleteSuccessfully());
- loza = TestLozaFactory.create(clusterService, raftConfiguration, new
HybridClockImpl());
+ loza = TestLozaFactory.create(clusterService, raftConfiguration,
systemLocalConfiguration, new HybridClockImpl());
assertThat(loza.startAsync(componentContext),
willCompleteSuccessfully());
diff --git
a/modules/raft/src/integrationTest/java/org/apache/ignite/internal/raft/ItRaftGroupServiceTest.java
b/modules/raft/src/integrationTest/java/org/apache/ignite/internal/raft/ItRaftGroupServiceTest.java
index eb0936187ad..d87f9dec1e6 100644
---
a/modules/raft/src/integrationTest/java/org/apache/ignite/internal/raft/ItRaftGroupServiceTest.java
+++
b/modules/raft/src/integrationTest/java/org/apache/ignite/internal/raft/ItRaftGroupServiceTest.java
@@ -44,6 +44,7 @@ import java.util.function.Function;
import java.util.stream.Stream;
import org.apache.ignite.internal.configuration.ComponentWorkingDir;
import org.apache.ignite.internal.configuration.RaftGroupOptionsConfigHelper;
+import org.apache.ignite.internal.configuration.SystemLocalConfiguration;
import
org.apache.ignite.internal.configuration.testframework.ConfigurationExtension;
import
org.apache.ignite.internal.configuration.testframework.InjectConfiguration;
import org.apache.ignite.internal.hlc.HybridClockImpl;
@@ -103,6 +104,9 @@ public class ItRaftGroupServiceTest extends
IgniteAbstractTest {
@InjectConfiguration
private RaftConfiguration raftConfiguration;
+ @InjectConfiguration
+ private SystemLocalConfiguration systemLocalConfiguration;
+
@BeforeEach
public void setUp(TestInfo testInfo) {
for (int i = 0; i < NODES_CNT; i++) {
@@ -314,6 +318,7 @@ public class ItRaftGroupServiceTest extends
IgniteAbstractTest {
this.loza = TestLozaFactory.create(
clusterService,
raftConfiguration,
+ systemLocalConfiguration,
new HybridClockImpl()
);
}
diff --git
a/modules/raft/src/integrationTest/java/org/apache/ignite/internal/raft/ItTruncateSuffixAndRestartTest.java
b/modules/raft/src/integrationTest/java/org/apache/ignite/internal/raft/ItTruncateSuffixAndRestartTest.java
index fe56e5d93ae..c39126c7aab 100644
---
a/modules/raft/src/integrationTest/java/org/apache/ignite/internal/raft/ItTruncateSuffixAndRestartTest.java
+++
b/modules/raft/src/integrationTest/java/org/apache/ignite/internal/raft/ItTruncateSuffixAndRestartTest.java
@@ -48,6 +48,7 @@ import java.util.concurrent.CompletableFuture;
import java.util.function.Consumer;
import org.apache.ignite.internal.close.ManuallyCloseable;
import org.apache.ignite.internal.configuration.ComponentWorkingDir;
+import org.apache.ignite.internal.configuration.SystemLocalConfiguration;
import
org.apache.ignite.internal.configuration.testframework.ConfigurationExtension;
import
org.apache.ignite.internal.configuration.testframework.InjectConfiguration;
import org.apache.ignite.internal.failure.FailureManager;
@@ -121,6 +122,9 @@ public class ItTruncateSuffixAndRestartTest extends
BaseIgniteAbstractTest {
@InjectConfiguration
private RaftConfiguration raftConfiguration;
+ @InjectConfiguration
+ private SystemLocalConfiguration systemLocalConfiguration;
+
@InjectConfiguration
private NetworkConfiguration networkConfiguration;
@@ -201,7 +205,7 @@ public class ItTruncateSuffixAndRestartTest extends
BaseIgniteAbstractTest {
partitionsWorkDir = new ComponentWorkingDir(nodeDir);
- raftMgr = TestLozaFactory.create(clusterSvc, raftConfiguration,
hybridClock);
+ raftMgr = TestLozaFactory.create(clusterSvc, raftConfiguration,
systemLocalConfiguration, hybridClock);
assertThat(raftMgr.startAsync(new ComponentContext()),
willCompleteSuccessfully());
cleanup.add(() -> assertThat(raftMgr.stopAsync(new
ComponentContext()), willCompleteSuccessfully()));
diff --git
a/modules/raft/src/main/java/org/apache/ignite/internal/raft/Loza.java
b/modules/raft/src/main/java/org/apache/ignite/internal/raft/Loza.java
index 08896e4a5b7..046115cccd4 100644
--- a/modules/raft/src/main/java/org/apache/ignite/internal/raft/Loza.java
+++ b/modules/raft/src/main/java/org/apache/ignite/internal/raft/Loza.java
@@ -29,6 +29,8 @@ import java.util.concurrent.ScheduledThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.function.BiConsumer;
+import org.apache.ignite.internal.configuration.SystemLocalConfiguration;
+import org.apache.ignite.internal.configuration.SystemPropertyConfiguration;
import org.apache.ignite.internal.failure.FailureManager;
import org.apache.ignite.internal.hlc.HybridClock;
import org.apache.ignite.internal.lang.IgniteInternalException;
@@ -84,6 +86,9 @@ public class Loza implements RaftManager {
/** Raft client pool size. Size was taken from jraft's TimeManager. */
private static final int CLIENT_POOL_SIZE = Math.min(Utils.cpus() * 3, 20);
+ /** Name of the system property to configure is {@link
NodeOptions#getSnapshotIntervalSecs()}. */
+ private static final String RAFT_SNAPSHOT_INTERVAL_SECS_PROPERTY_NAME =
"raftSnapshotIntervalSecs";
+
/** Logger. */
private static final IgniteLogger LOG = Loggers.forClass(Loza.class);
@@ -119,6 +124,7 @@ public class Loza implements RaftManager {
ClusterService clusterService,
MetricManager metricManager,
RaftConfiguration raftConfiguration,
+ SystemLocalConfiguration systemLocalConfiguration,
HybridClock hybridClock,
RaftGroupEventsClientListener raftGroupEventsClientListener,
FailureManager failureManager
@@ -127,6 +133,7 @@ public class Loza implements RaftManager {
clusterService,
metricManager,
raftConfiguration,
+ systemLocalConfiguration,
hybridClock,
raftGroupEventsClientListener,
failureManager,
@@ -141,6 +148,7 @@ public class Loza implements RaftManager {
* @param clusterNetSvc Cluster network service.
* @param metricManager Metric manager.
* @param raftConfiguration Raft configuration.
+ * @param systemLocalConfiguration Local system configuration.
* @param clock A hybrid logical clock.
* @param failureManager Failure processor that is used to handle critical
errors.
* @param groupStoragesDestructionIntents Storage to persist {@link
StorageDestructionIntent}s.
@@ -150,6 +158,7 @@ public class Loza implements RaftManager {
ClusterService clusterNetSvc,
MetricManager metricManager,
RaftConfiguration raftConfiguration,
+ SystemLocalConfiguration systemLocalConfiguration,
HybridClock clock,
RaftGroupEventsClientListener raftGroupEventsClientListener,
FailureManager failureManager,
@@ -165,6 +174,8 @@ public class Loza implements RaftManager {
options.setClock(clock);
options.setCommandsMarshaller(new
ThreadLocalOptimizedMarshaller(clusterNetSvc.serializationRegistry()));
+ setSnapshotIntervalSecs(options, systemLocalConfiguration);
+
this.opts = options;
double maxInflightOverflowRate =
raftConfiguration.maxInflightOverflowRate().value();
@@ -700,4 +711,20 @@ public class Loza implements RaftManager {
public Set<RaftNodeId> localNodes() {
return raftServer.localNodes();
}
+
+ private static void setSnapshotIntervalSecs(NodeOptions options,
SystemLocalConfiguration systemLocalConfiguration) {
+ SystemPropertyConfiguration systemPropertyConfig =
systemLocalConfiguration
+ .properties()
+ .get(RAFT_SNAPSHOT_INTERVAL_SECS_PROPERTY_NAME);
+
+ if (systemPropertyConfig == null) {
+ return;
+ }
+
+ try {
+
options.setSnapshotIntervalSecs(Integer.parseInt(systemPropertyConfig.propertyValue().value()));
+ } catch (NumberFormatException e) {
+ LOG.warn("Failed to set NodeOptions.getSnapshotIntervalSecs,
default value will be used", e);
+ }
+ }
}
diff --git
a/modules/raft/src/test/java/org/apache/ignite/internal/raft/LozaTest.java
b/modules/raft/src/test/java/org/apache/ignite/internal/raft/LozaTest.java
index 257a88a3580..d72f380ef37 100644
--- a/modules/raft/src/test/java/org/apache/ignite/internal/raft/LozaTest.java
+++ b/modules/raft/src/test/java/org/apache/ignite/internal/raft/LozaTest.java
@@ -23,6 +23,7 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.mockito.Mockito.mock;
import java.util.Set;
+import org.apache.ignite.internal.configuration.SystemLocalConfiguration;
import
org.apache.ignite.internal.configuration.testframework.ConfigurationExtension;
import
org.apache.ignite.internal.configuration.testframework.InjectConfiguration;
import org.apache.ignite.internal.hlc.HybridClockImpl;
@@ -57,6 +58,9 @@ public class LozaTest extends IgniteAbstractTest {
@InjectConfiguration
private RaftConfiguration raftConfiguration;
+ @InjectConfiguration
+ private SystemLocalConfiguration systemLocalConfiguration;
+
/**
* Checks that the all API methods throw the exception ({@link
NodeStoppingException})
* when Loza is closed.
@@ -75,7 +79,7 @@ public class LozaTest extends IgniteAbstractTest {
assertThat(logStorageFactory.startAsync(new ComponentContext()),
willCompleteSuccessfully());
- Loza loza = TestLozaFactory.create(clusterNetSvc, raftConfiguration,
new HybridClockImpl());
+ Loza loza = TestLozaFactory.create(clusterNetSvc, raftConfiguration,
systemLocalConfiguration, new HybridClockImpl());
assertThat(loza.startAsync(new ComponentContext()),
willCompleteSuccessfully());
diff --git
a/modules/raft/src/testFixtures/java/org/apache/ignite/internal/raft/TestLozaFactory.java
b/modules/raft/src/testFixtures/java/org/apache/ignite/internal/raft/TestLozaFactory.java
index 0d8c71c2299..0e982cab57c 100644
---
a/modules/raft/src/testFixtures/java/org/apache/ignite/internal/raft/TestLozaFactory.java
+++
b/modules/raft/src/testFixtures/java/org/apache/ignite/internal/raft/TestLozaFactory.java
@@ -17,6 +17,7 @@
package org.apache.ignite.internal.raft;
+import org.apache.ignite.internal.configuration.SystemLocalConfiguration;
import org.apache.ignite.internal.failure.NoOpFailureManager;
import org.apache.ignite.internal.hlc.HybridClock;
import org.apache.ignite.internal.metrics.NoOpMetricManager;
@@ -38,15 +39,17 @@ public class TestLozaFactory {
* Factory method for {@link Loza}.
*
* @param clusterNetSvc Cluster network service.
- * @param raftConfiguration Raft configuration.
+ * @param raftConfig Raft configuration.
+ * @param systemLocalConfig Local system configuration.
* @param clock A hybrid logical clock.
*/
public static Loza create(
ClusterService clusterNetSvc,
- RaftConfiguration raftConfiguration,
+ RaftConfiguration raftConfig,
+ SystemLocalConfiguration systemLocalConfig,
HybridClock clock
) {
- return create(clusterNetSvc, raftConfiguration, clock, new
RaftGroupEventsClientListener());
+ return create(clusterNetSvc, raftConfig, systemLocalConfig, clock, new
RaftGroupEventsClientListener());
}
/**
@@ -54,12 +57,14 @@ public class TestLozaFactory {
*
* @param clusterNetSvc Cluster network service.
* @param raftConfig Raft configuration.
+ * @param systemLocalConfig Local system configuration.
* @param clock A hybrid logical clock.
* @param raftGroupEventsClientListener Raft event listener.
*/
public static Loza create(
ClusterService clusterNetSvc,
RaftConfiguration raftConfig,
+ SystemLocalConfiguration systemLocalConfig,
HybridClock clock,
RaftGroupEventsClientListener raftGroupEventsClientListener
) {
@@ -67,6 +72,7 @@ public class TestLozaFactory {
clusterNetSvc,
new NoOpMetricManager(),
raftConfig,
+ systemLocalConfig,
clock,
raftGroupEventsClientListener,
new NoOpFailureManager()
@@ -78,6 +84,7 @@ public class TestLozaFactory {
*
* @param clusterNetSvc Cluster network service.
* @param raftConfig Raft configuration.
+ * @param systemLocalConfig Local system configuration.
* @param clock A hybrid logical clock.
* @param raftGroupEventsClientListener Raft event listener.
* @param groupStoragesDestructionIntents Storage to persist {@link
StorageDestructionIntent}s.
@@ -86,6 +93,7 @@ public class TestLozaFactory {
public static Loza create(
ClusterService clusterNetSvc,
RaftConfiguration raftConfig,
+ SystemLocalConfiguration systemLocalConfig,
HybridClock clock,
RaftGroupEventsClientListener raftGroupEventsClientListener,
GroupStoragesDestructionIntents groupStoragesDestructionIntents,
@@ -95,6 +103,7 @@ public class TestLozaFactory {
clusterNetSvc,
new NoOpMetricManager(),
raftConfig,
+ systemLocalConfig,
clock,
raftGroupEventsClientListener,
new NoOpFailureManager(),
diff --git a/modules/replicator/build.gradle b/modules/replicator/build.gradle
index a6d6a8dab00..3b6c111ae8b 100644
--- a/modules/replicator/build.gradle
+++ b/modules/replicator/build.gradle
@@ -48,6 +48,7 @@ dependencies {
integrationTestImplementation project(':ignite-cluster-management')
integrationTestImplementation project(':ignite-metrics')
integrationTestImplementation project(':ignite-runner')
+ integrationTestImplementation project(':ignite-configuration-system')
integrationTestImplementation testFixtures(project)
integrationTestImplementation testFixtures(project(':ignite-core'))
integrationTestImplementation
testFixtures(project(':ignite-configuration'))
diff --git
a/modules/replicator/src/integrationTest/java/org/apache/ignite/internal/replicator/ItPlacementDriverReplicaSideTest.java
b/modules/replicator/src/integrationTest/java/org/apache/ignite/internal/replicator/ItPlacementDriverReplicaSideTest.java
index b96704a9d7d..b3916cacbae 100644
---
a/modules/replicator/src/integrationTest/java/org/apache/ignite/internal/replicator/ItPlacementDriverReplicaSideTest.java
+++
b/modules/replicator/src/integrationTest/java/org/apache/ignite/internal/replicator/ItPlacementDriverReplicaSideTest.java
@@ -62,6 +62,7 @@ import java.util.stream.IntStream;
import
org.apache.ignite.internal.cluster.management.ClusterManagementGroupManager;
import org.apache.ignite.internal.configuration.ComponentWorkingDir;
import org.apache.ignite.internal.configuration.RaftGroupOptionsConfigHelper;
+import org.apache.ignite.internal.configuration.SystemLocalConfiguration;
import
org.apache.ignite.internal.configuration.testframework.ConfigurationExtension;
import
org.apache.ignite.internal.configuration.testframework.InjectConfiguration;
import org.apache.ignite.internal.failure.FailureProcessor;
@@ -130,6 +131,9 @@ public class ItPlacementDriverReplicaSideTest extends
IgniteAbstractTest {
@InjectConfiguration("mock {retryTimeoutMillis=4000,
responseTimeoutMillis=1000}")
private RaftConfiguration raftConfiguration;
+ @InjectConfiguration
+ private SystemLocalConfiguration systemLocalConfiguration;
+
@InjectConfiguration
private ReplicationConfiguration replicationConfiguration;
@@ -201,6 +205,7 @@ public class ItPlacementDriverReplicaSideTest extends
IgniteAbstractTest {
var raftManager = TestLozaFactory.create(
clusterService,
raftConfiguration,
+ systemLocalConfiguration,
clock,
eventsClientListener
);
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/configuration/ItDistributedConfigurationPropertiesTest.java
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/configuration/ItDistributedConfigurationPropertiesTest.java
index d32cfe3f114..b831248b2b7 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/configuration/ItDistributedConfigurationPropertiesTest.java
+++
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/configuration/ItDistributedConfigurationPropertiesTest.java
@@ -115,7 +115,10 @@ public class ItDistributedConfigurationPropertiesTest
extends BaseIgniteAbstract
private static StorageConfiguration storageConfiguration;
@InjectConfiguration
- private static SystemDistributedConfiguration systemConfiguration;
+ private static SystemLocalConfiguration systemLocalConfiguration;
+
+ @InjectConfiguration
+ private static SystemDistributedConfiguration
systemDistributedConfiguration;
/**
* An emulation of an Ignite node, that only contains components necessary
for tests.
@@ -157,7 +160,8 @@ public class ItDistributedConfigurationPropertiesTest
extends BaseIgniteAbstract
Path workDir,
NetworkAddress addr,
List<NetworkAddress> memberAddrs,
- RaftConfiguration raftConfiguration
+ RaftConfiguration raftConfiguration,
+ SystemLocalConfiguration systemLocalConfiguration
) {
vaultManager = new VaultManager(new InMemoryVaultService());
@@ -181,6 +185,7 @@ public class ItDistributedConfigurationPropertiesTest
extends BaseIgniteAbstract
raftManager = TestLozaFactory.create(
clusterService,
raftConfiguration,
+ systemLocalConfiguration,
clock,
raftGroupEventsClientListener
);
@@ -250,7 +255,7 @@ public class ItDistributedConfigurationPropertiesTest
extends BaseIgniteAbstract
clock,
topologyAwareRaftGroupServiceFactory,
metricManager,
- systemConfiguration,
+ systemDistributedConfiguration,
msRaftConfigurer,
readOperationForCompactionTracker
);
@@ -375,7 +380,8 @@ public class ItDistributedConfigurationPropertiesTest
extends BaseIgniteAbstract
workDir.resolve("firstNode"),
firstNodeAddr,
allNodes,
- raftConfiguration
+ raftConfiguration,
+ systemLocalConfiguration
);
secondNode = new Node(
@@ -383,7 +389,8 @@ public class ItDistributedConfigurationPropertiesTest
extends BaseIgniteAbstract
workDir.resolve("secondNode"),
secondNodeAddr,
allNodes,
- raftConfiguration
+ raftConfiguration,
+ systemLocalConfiguration
);
Stream.of(firstNode,
secondNode).parallel().forEach(Node::startUpToCmgManager);
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/configuration/storage/ItDistributedConfigurationStorageTest.java
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/configuration/storage/ItDistributedConfigurationStorageTest.java
index 765daea938c..f7802e86a12 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/configuration/storage/ItDistributedConfigurationStorageTest.java
+++
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/configuration/storage/ItDistributedConfigurationStorageTest.java
@@ -44,6 +44,7 @@ import
org.apache.ignite.internal.components.SystemPropertiesNodeProperties;
import org.apache.ignite.internal.configuration.ComponentWorkingDir;
import org.apache.ignite.internal.configuration.RaftGroupOptionsConfigHelper;
import org.apache.ignite.internal.configuration.SystemDistributedConfiguration;
+import org.apache.ignite.internal.configuration.SystemLocalConfiguration;
import
org.apache.ignite.internal.configuration.testframework.ConfigurationExtension;
import
org.apache.ignite.internal.configuration.testframework.InjectConfiguration;
import
org.apache.ignite.internal.configuration.validation.TestConfigurationValidator;
@@ -98,7 +99,10 @@ public class ItDistributedConfigurationStorageTest extends
BaseIgniteAbstractTes
private static StorageConfiguration storageConfiguration;
@InjectConfiguration
- private static SystemDistributedConfiguration systemConfiguration;
+ private static SystemLocalConfiguration systemLocalConfiguration;
+
+ @InjectConfiguration
+ private static SystemDistributedConfiguration
systemDistributedConfiguration;
/**
* An emulation of an Ignite node, that only contains components necessary
for tests.
@@ -155,6 +159,7 @@ public class ItDistributedConfigurationStorageTest extends
BaseIgniteAbstractTes
raftManager = TestLozaFactory.create(
clusterService,
raftConfiguration,
+ systemLocalConfiguration,
clock,
raftGroupEventsClientListener
);
@@ -224,7 +229,7 @@ public class ItDistributedConfigurationStorageTest extends
BaseIgniteAbstractTes
clock,
topologyAwareRaftGroupServiceFactory,
metricManager,
- systemConfiguration,
+ systemDistributedConfiguration,
msRaftConfigurer,
readOperationForCompactionTracker
);
diff --git
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItIgniteNodeRestartTest.java
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItIgniteNodeRestartTest.java
index 528a413d8d5..06442e87b5a 100644
---
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItIgniteNodeRestartTest.java
+++
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItIgniteNodeRestartTest.java
@@ -427,6 +427,7 @@ public class ItIgniteNodeRestartTest extends
BaseIgniteRestartTest {
var raftMgr = TestLozaFactory.create(
clusterSvc,
raftConfiguration,
+ systemConfiguration,
hybridClock,
raftGroupEventsClientListener
);
diff --git
a/modules/runner/src/main/java/org/apache/ignite/internal/app/IgniteImpl.java
b/modules/runner/src/main/java/org/apache/ignite/internal/app/IgniteImpl.java
index 13ee855702c..8e8cf60bf4d 100644
---
a/modules/runner/src/main/java/org/apache/ignite/internal/app/IgniteImpl.java
+++
b/modules/runner/src/main/java/org/apache/ignite/internal/app/IgniteImpl.java
@@ -685,6 +685,7 @@ public class IgniteImpl implements Ignite {
clusterSvc,
metricManager,
raftConfiguration,
+ systemConfiguration,
clock,
raftGroupEventsClientListener,
failureManager,
diff --git
a/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItLockTableTest.java
b/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItLockTableTest.java
index b9a5c7e585f..288997f179e 100644
---
a/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItLockTableTest.java
+++
b/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItLockTableTest.java
@@ -128,6 +128,7 @@ public class ItLockTableTest extends IgniteAbstractTest {
testInfo,
raftConfiguration,
txConfiguration,
+ systemLocalConfiguration,
systemDistributedConfiguration,
workDir,
1,
diff --git
a/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTxDistributedCleanupRecoveryTest.java
b/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTxDistributedCleanupRecoveryTest.java
index 0deed062641..687607680eb 100644
---
a/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTxDistributedCleanupRecoveryTest.java
+++
b/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTxDistributedCleanupRecoveryTest.java
@@ -53,6 +53,7 @@ public class ItTxDistributedCleanupRecoveryTest extends
TxAbstractTest {
testInfo,
raftConfiguration,
txConfiguration,
+ systemLocalConfiguration,
systemDistributedConfiguration,
workDir,
nodes(),
diff --git
a/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTxDistributedTestSingleNodeNoCleanupMessage.java
b/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTxDistributedTestSingleNodeNoCleanupMessage.java
index 9f49366cc50..37b861c508a 100644
---
a/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTxDistributedTestSingleNodeNoCleanupMessage.java
+++
b/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTxDistributedTestSingleNodeNoCleanupMessage.java
@@ -117,6 +117,7 @@ public class ItTxDistributedTestSingleNodeNoCleanupMessage
extends TxAbstractTes
testInfo,
raftConfiguration,
txConfiguration,
+ systemLocalConfiguration,
systemDistributedConfiguration,
workDir,
nodes(),
diff --git
a/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTxStateLocalMapTest.java
b/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTxStateLocalMapTest.java
index 51a070c1251..8bd4c8615fd 100644
---
a/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTxStateLocalMapTest.java
+++
b/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTxStateLocalMapTest.java
@@ -30,6 +30,7 @@ import java.util.concurrent.atomic.AtomicReference;
import java.util.function.Consumer;
import java.util.stream.IntStream;
import org.apache.ignite.internal.configuration.SystemDistributedConfiguration;
+import org.apache.ignite.internal.configuration.SystemLocalConfiguration;
import
org.apache.ignite.internal.configuration.testframework.ConfigurationExtension;
import
org.apache.ignite.internal.configuration.testframework.InjectConfiguration;
import org.apache.ignite.internal.hlc.HybridTimestamp;
@@ -69,6 +70,9 @@ public class ItTxStateLocalMapTest extends IgniteAbstractTest
{
@InjectConfiguration
private TransactionConfiguration txConfiguration;
+ @InjectConfiguration
+ private SystemLocalConfiguration systemLocalConfiguration;
+
@InjectConfiguration("mock.properties.txnLockRetryCount=\"0\"")
private SystemDistributedConfiguration systemDistributedConfiguration;
@@ -102,6 +106,7 @@ public class ItTxStateLocalMapTest extends
IgniteAbstractTest {
testInfo,
raftConfig,
txConfiguration,
+ systemLocalConfiguration,
systemDistributedConfiguration,
workDir,
NODES,
diff --git
a/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ReplicasSafeTimePropagationTest.java
b/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ReplicasSafeTimePropagationTest.java
index 415d7d5fc61..7e6acb5442d 100644
---
a/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ReplicasSafeTimePropagationTest.java
+++
b/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ReplicasSafeTimePropagationTest.java
@@ -47,6 +47,7 @@ import org.apache.ignite.internal.catalog.CatalogService;
import
org.apache.ignite.internal.catalog.configuration.SchemaSynchronizationConfiguration;
import org.apache.ignite.internal.components.SystemPropertiesNodeProperties;
import org.apache.ignite.internal.configuration.ComponentWorkingDir;
+import org.apache.ignite.internal.configuration.SystemLocalConfiguration;
import
org.apache.ignite.internal.configuration.testframework.ConfigurationExtension;
import
org.apache.ignite.internal.configuration.testframework.InjectConfiguration;
import org.apache.ignite.internal.hlc.ClockService;
@@ -105,6 +106,9 @@ public class ReplicasSafeTimePropagationTest extends
IgniteAbstractTest {
@InjectConfiguration("mock: { fsync: false }")
private RaftConfiguration raftConfiguration;
+ @InjectConfiguration
+ private SystemLocalConfiguration systemLocalConfiguration;
+
@InjectConfiguration("mock: { maxClockSkewMillis: 500 }")
private SchemaSynchronizationConfiguration
schemaSynchronizationConfiguration;
@@ -367,6 +371,7 @@ public class ReplicasSafeTimePropagationTest extends
IgniteAbstractTest {
raftManager = TestLozaFactory.create(
clusterService,
raftConfiguration,
+ systemLocalConfiguration,
clock,
new RaftGroupEventsClientListener()
);
diff --git
a/modules/table/src/testFixtures/java/org/apache/ignite/distributed/ItTxTestCluster.java
b/modules/table/src/testFixtures/java/org/apache/ignite/distributed/ItTxTestCluster.java
index aac8a847da2..991b2b5e5d7 100644
---
a/modules/table/src/testFixtures/java/org/apache/ignite/distributed/ItTxTestCluster.java
+++
b/modules/table/src/testFixtures/java/org/apache/ignite/distributed/ItTxTestCluster.java
@@ -79,6 +79,7 @@ import
org.apache.ignite.internal.cluster.management.topology.api.LogicalTopolog
import org.apache.ignite.internal.components.SystemPropertiesNodeProperties;
import org.apache.ignite.internal.configuration.RaftGroupOptionsConfigHelper;
import org.apache.ignite.internal.configuration.SystemDistributedConfiguration;
+import org.apache.ignite.internal.configuration.SystemLocalConfiguration;
import org.apache.ignite.internal.failure.NoOpFailureManager;
import org.apache.ignite.internal.hlc.ClockService;
import org.apache.ignite.internal.hlc.ClockWaiter;
@@ -216,7 +217,9 @@ public class ItTxTestCluster {
private final TransactionConfiguration txConfiguration;
- private final SystemDistributedConfiguration systemCfg;
+ private final SystemLocalConfiguration systemLocalConfig;
+
+ private final SystemDistributedConfiguration systemDistributedConfig;
private final Path workDir;
@@ -344,7 +347,8 @@ public class ItTxTestCluster {
TestInfo testInfo,
RaftConfiguration raftConfig,
TransactionConfiguration txConfiguration,
- SystemDistributedConfiguration systemCfg,
+ SystemLocalConfiguration systemLocalConfig,
+ SystemDistributedConfiguration systemDistributedConfig,
Path workDir,
int nodes,
int replicas,
@@ -354,7 +358,8 @@ public class ItTxTestCluster {
) {
this.raftConfig = raftConfig;
this.txConfiguration = txConfiguration;
- this.systemCfg = systemCfg;
+ this.systemLocalConfig = systemLocalConfig;
+ this.systemDistributedConfig = systemDistributedConfig;
this.workDir = workDir;
this.nodes = nodes;
this.replicas = replicas;
@@ -462,6 +467,7 @@ public class ItTxTestCluster {
var raftSrv = TestLozaFactory.create(
clusterService,
raftConfig,
+ systemLocalConfig,
clock,
new RaftGroupEventsClientListener()
);
@@ -603,7 +609,7 @@ public class ItTxTestCluster {
return new TxManagerImpl(
node.name(),
txConfiguration,
- systemCfg,
+ systemDistributedConfig,
clusterService.messagingService(),
clusterService.topologyService(),
replicaSvc,
@@ -1321,7 +1327,7 @@ public class ItTxTestCluster {
clientTxManager = new TxManagerImpl(
"client",
txConfiguration,
- systemCfg,
+ systemDistributedConfig,
client.messagingService(),
client.topologyService(),
clientReplicaSvc,
diff --git
a/modules/table/src/testFixtures/java/org/apache/ignite/internal/table/TxInfrastructureTest.java
b/modules/table/src/testFixtures/java/org/apache/ignite/internal/table/TxInfrastructureTest.java
index e709a0b6a7f..e2411867a9e 100644
---
a/modules/table/src/testFixtures/java/org/apache/ignite/internal/table/TxInfrastructureTest.java
+++
b/modules/table/src/testFixtures/java/org/apache/ignite/internal/table/TxInfrastructureTest.java
@@ -29,6 +29,7 @@ import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ScheduledExecutorService;
import org.apache.ignite.distributed.ItTxTestCluster;
import org.apache.ignite.internal.configuration.SystemDistributedConfiguration;
+import org.apache.ignite.internal.configuration.SystemLocalConfiguration;
import
org.apache.ignite.internal.configuration.testframework.ConfigurationExtension;
import
org.apache.ignite.internal.configuration.testframework.InjectConfiguration;
import org.apache.ignite.internal.hlc.HybridClock;
@@ -118,6 +119,9 @@ public abstract class TxInfrastructureTest extends
IgniteAbstractTest {
@InjectConfiguration("mock: { fsync: false }")
protected RaftConfiguration raftConfiguration;
+ @InjectConfiguration
+ protected SystemLocalConfiguration systemLocalConfiguration;
+
@InjectConfiguration("mock.properties.txnLockRetryCount=\"0\"")
protected SystemDistributedConfiguration systemDistributedConfiguration;
@@ -177,6 +181,7 @@ public abstract class TxInfrastructureTest extends
IgniteAbstractTest {
testInfo,
raftConfiguration,
txConfiguration,
+ systemLocalConfiguration,
systemDistributedConfiguration,
workDir,
nodes(),