You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by tk...@apache.org on 2023/06/16 11:03:51 UTC
[ignite-3] branch main updated: IGNITE-19718 Move DataStorageConfigurationSchema#gcOnUpdateBatchSize to another place (#2204)
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 36a04befa3 IGNITE-19718 Move DataStorageConfigurationSchema#gcOnUpdateBatchSize to another place (#2204)
36a04befa3 is described below
commit 36a04befa3810cead0670a2ef383d6c14d6bb722
Author: Kirill Tkalenko <tk...@yandex.ru>
AuthorDate: Fri Jun 16 14:03:46 2023 +0300
IGNITE-19718 Move DataStorageConfigurationSchema#gcOnUpdateBatchSize to another place (#2204)
---
.../repl/executor/ItIgnitePicocliCommandsTest.java | 4 +--
.../storage/ItRebalanceDistributedTest.java | 22 ++++++++++-----
.../runner/app/ItIgniteNodeRestartTest.java | 33 +++++++++++++---------
.../org/apache/ignite/internal/app/IgniteImpl.java | 21 ++++++++------
...ationSchema.java => GcConfigurationSchema.java} | 28 +++++-------------
.../SchemaDistributedConfigurationModule.java | 5 +++-
.../configuration/TablesConfigurationSchema.java | 9 ------
.../storage/DataStorageConfigurationSchema.java | 6 ----
.../sql/engine/exec/MockedStructuresTest.java | 7 +++++
.../ignite/distributed/ItTablePersistenceTest.java | 6 +++-
.../distributed/ItTxDistributedTestSingleNode.java | 6 ++--
.../table/distributed/StorageUpdateHandler.java | 13 +++++----
.../internal/table/distributed/TableManager.java | 20 +++++++------
.../ignite/internal/table/distributed/gc/MvGc.java | 14 ++++-----
.../AbstractMvStorageUpdateHandlerTest.java | 8 +++---
.../internal/table/distributed/IndexBaseTest.java | 6 ++--
.../distributed/StorageUpdateHandlerTest.java | 6 ++--
.../table/distributed/TableManagerTest.java | 7 +++++
.../internal/table/distributed/gc/MvGcTest.java | 18 ++++--------
.../raft/PartitionCommandListenerTest.java | 10 +++----
.../PartitionReplicaListenerIndexLockingTest.java | 6 ++--
.../replication/PartitionReplicaListenerTest.java | 6 ++--
.../table/impl/DummyInternalTableImpl.java | 8 +++---
23 files changed, 137 insertions(+), 132 deletions(-)
diff --git a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/core/repl/executor/ItIgnitePicocliCommandsTest.java b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/core/repl/executor/ItIgnitePicocliCommandsTest.java
index 1c6702c0b0..e6e8f4d392 100644
--- a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/core/repl/executor/ItIgnitePicocliCommandsTest.java
+++ b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/core/repl/executor/ItIgnitePicocliCommandsTest.java
@@ -265,7 +265,7 @@ public class ItIgnitePicocliCommandsTest extends CliCommandTestInitializedIntegr
// wait for lazy init of cluster config completer
await("For given parsed words: " + givenParsedLine.words()).until(
() -> complete(givenParsedLine),
- containsInAnyOrder("aimem", "aipersist", "metrics", "rocksDb", "table", "zone", "security", "schemaSync")
+ containsInAnyOrder("aimem", "aipersist", "metrics", "rocksDb", "table", "zone", "security", "schemaSync", "gc")
);
}
@@ -288,7 +288,7 @@ public class ItIgnitePicocliCommandsTest extends CliCommandTestInitializedIntegr
// wait for lazy init of cluster config completer
await("For given parsed words: " + givenParsedLine.words()).until(
() -> complete(givenParsedLine),
- containsInAnyOrder("aimem", "aipersist", "metrics", "rocksDb", "table", "zone", "security", "schemaSync")
+ containsInAnyOrder("aimem", "aipersist", "metrics", "rocksDb", "table", "zone", "security", "schemaSync", "gc")
);
}
diff --git a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/configuration/storage/ItRebalanceDistributedTest.java b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/configuration/storage/ItRebalanceDistributedTest.java
index 1594f8f319..a51e9ac216 100644
--- a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/configuration/storage/ItRebalanceDistributedTest.java
+++ b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/configuration/storage/ItRebalanceDistributedTest.java
@@ -80,6 +80,7 @@ import org.apache.ignite.internal.cluster.management.raft.TestClusterStateStorag
import org.apache.ignite.internal.cluster.management.topology.LogicalTopologyImpl;
import org.apache.ignite.internal.cluster.management.topology.LogicalTopologyServiceImpl;
import org.apache.ignite.internal.configuration.ConfigurationManager;
+import org.apache.ignite.internal.configuration.ConfigurationRegistry;
import org.apache.ignite.internal.configuration.ConfigurationTreeGenerator;
import org.apache.ignite.internal.configuration.testframework.ConfigurationExtension;
import org.apache.ignite.internal.configuration.testframework.InjectConfiguration;
@@ -113,6 +114,7 @@ import org.apache.ignite.internal.rest.configuration.RestConfiguration;
import org.apache.ignite.internal.schema.SchemaManager;
import org.apache.ignite.internal.schema.configuration.ExtendedTableConfiguration;
import org.apache.ignite.internal.schema.configuration.ExtendedTableConfigurationSchema;
+import org.apache.ignite.internal.schema.configuration.GcConfiguration;
import org.apache.ignite.internal.schema.configuration.TablesConfiguration;
import org.apache.ignite.internal.schema.configuration.defaultvalue.ConstantValueDefaultConfigurationSchema;
import org.apache.ignite.internal.schema.configuration.defaultvalue.FunctionCallDefaultConfigurationSchema;
@@ -695,7 +697,8 @@ public class ItRebalanceDistributedTest {
PersistentPageMemoryStorageEngineConfiguration.KEY,
VolatilePageMemoryStorageEngineConfiguration.KEY,
TablesConfiguration.KEY,
- DistributionZonesConfiguration.KEY
+ DistributionZonesConfiguration.KEY,
+ GcConfiguration.KEY
),
List.of(ExtendedTableConfigurationSchema.class),
List.of(
@@ -714,20 +717,24 @@ public class ItRebalanceDistributedTest {
PersistentPageMemoryStorageEngineConfiguration.KEY,
VolatilePageMemoryStorageEngineConfiguration.KEY,
TablesConfiguration.KEY,
- DistributionZonesConfiguration.KEY
+ DistributionZonesConfiguration.KEY,
+ GcConfiguration.KEY
),
cfgStorage,
clusterCfgGenerator,
new TestConfigurationValidator()
);
+ ConfigurationRegistry clusterConfigRegistry = clusterCfgMgr.configurationRegistry();
+
Consumer<LongFunction<CompletableFuture<?>>> registry = (LongFunction<CompletableFuture<?>> function) ->
- clusterCfgMgr.configurationRegistry().listenUpdateStorageRevision(function::apply);
+ clusterConfigRegistry.listenUpdateStorageRevision(function::apply);
+
+ TablesConfiguration tablesCfg = clusterConfigRegistry.getConfiguration(TablesConfiguration.KEY);
- TablesConfiguration tablesCfg = clusterCfgMgr.configurationRegistry().getConfiguration(TablesConfiguration.KEY);
+ DistributionZonesConfiguration zonesCfg = clusterConfigRegistry.getConfiguration(DistributionZonesConfiguration.KEY);
- DistributionZonesConfiguration zonesCfg =
- clusterCfgMgr.configurationRegistry().getConfiguration(DistributionZonesConfiguration.KEY);
+ GcConfiguration gcConfig = clusterConfigRegistry.getConfiguration(GcConfiguration.KEY);
DataStorageModules dataStorageModules = new DataStorageModules(List.of(
new PersistentPageMemoryDataStorageModule(),
@@ -741,7 +748,7 @@ public class ItRebalanceDistributedTest {
zonesCfg,
dataStorageModules.createStorageEngines(
name,
- clusterCfgMgr.configurationRegistry(),
+ clusterConfigRegistry,
dir.resolve("storage"),
null));
@@ -776,6 +783,7 @@ public class ItRebalanceDistributedTest {
registry,
tablesCfg,
zonesCfg,
+ gcConfig,
clusterService,
raftManager,
replicaManager,
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 f8bb563339..bd23ff039c 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
@@ -69,6 +69,7 @@ import org.apache.ignite.internal.cluster.management.topology.LogicalTopologyImp
import org.apache.ignite.internal.cluster.management.topology.LogicalTopologyServiceImpl;
import org.apache.ignite.internal.configuration.ConfigurationManager;
import org.apache.ignite.internal.configuration.ConfigurationModules;
+import org.apache.ignite.internal.configuration.ConfigurationRegistry;
import org.apache.ignite.internal.configuration.ConfigurationTreeGenerator;
import org.apache.ignite.internal.configuration.NodeConfigWriteException;
import org.apache.ignite.internal.configuration.ServiceLoaderModulesProvider;
@@ -99,6 +100,7 @@ import org.apache.ignite.internal.recovery.RecoveryCompletionFutureFactory;
import org.apache.ignite.internal.replicator.ReplicaManager;
import org.apache.ignite.internal.replicator.ReplicaService;
import org.apache.ignite.internal.schema.SchemaManager;
+import org.apache.ignite.internal.schema.configuration.GcConfiguration;
import org.apache.ignite.internal.schema.configuration.TablesConfiguration;
import org.apache.ignite.internal.sql.engine.SqlQueryProcessor;
import org.apache.ignite.internal.storage.DataStorageManager;
@@ -355,35 +357,37 @@ public class ItIgniteNodeRestartTest extends IgniteAbstractTest {
ConfigurationValidatorImpl.withDefaultValidators(distributedConfigurationGenerator, modules.distributed().validators())
);
- Consumer<LongFunction<CompletableFuture<?>>> registry = (c) -> clusterCfgMgr.configurationRegistry()
- .listenUpdateStorageRevision(c::apply);
+ ConfigurationRegistry clusterConfigRegistry = clusterCfgMgr.configurationRegistry();
+
+ Consumer<LongFunction<CompletableFuture<?>>> registry = (c) -> clusterConfigRegistry.listenUpdateStorageRevision(c::apply);
DataStorageModules dataStorageModules = new DataStorageModules(ServiceLoader.load(DataStorageModule.class));
Path storagePath = getPartitionsStorePath(dir);
+ DistributionZonesConfiguration zonesConfig = clusterConfigRegistry.getConfiguration(DistributionZonesConfiguration.KEY);
+
DataStorageManager dataStorageManager = new DataStorageManager(
- clusterCfgMgr.configurationRegistry().getConfiguration(DistributionZonesConfiguration.KEY),
+ zonesConfig,
dataStorageModules.createStorageEngines(
name,
- clusterCfgMgr.configurationRegistry(),
+ clusterConfigRegistry,
storagePath,
null
)
);
- TablesConfiguration tablesConfiguration = clusterCfgMgr.configurationRegistry().getConfiguration(TablesConfiguration.KEY);
+ TablesConfiguration tablesConfig = clusterConfigRegistry.getConfiguration(TablesConfiguration.KEY);
- DistributionZonesConfiguration zonesConfiguration = clusterCfgMgr.configurationRegistry()
- .getConfiguration(DistributionZonesConfiguration.KEY);
+ GcConfiguration gcConfig = clusterConfigRegistry.getConfiguration(GcConfiguration.KEY);
- SchemaManager schemaManager = new SchemaManager(registry, tablesConfiguration, metaStorageMgr);
+ SchemaManager schemaManager = new SchemaManager(registry, tablesConfig, metaStorageMgr);
LogicalTopologyServiceImpl logicalTopologyService = new LogicalTopologyServiceImpl(logicalTopology, cmgManager);
DistributionZoneManager distributionZoneManager = new DistributionZoneManager(
- zonesConfiguration,
- tablesConfiguration,
+ zonesConfig,
+ tablesConfig,
metaStorageMgr,
logicalTopologyService,
vault,
@@ -402,8 +406,9 @@ public class ItIgniteNodeRestartTest extends IgniteAbstractTest {
TableManager tableManager = new TableManager(
name,
registry,
- tablesConfiguration,
- zonesConfiguration,
+ tablesConfig,
+ zonesConfig,
+ gcConfig,
clusterSvc,
raftMgr,
replicaMgr,
@@ -425,7 +430,7 @@ public class ItIgniteNodeRestartTest extends IgniteAbstractTest {
null
);
- var indexManager = new IndexManager(tablesConfiguration, schemaManager, tableManager);
+ var indexManager = new IndexManager(tablesConfig, schemaManager, tableManager);
SqlQueryProcessor qryEngine = new SqlQueryProcessor(
registry,
@@ -497,7 +502,7 @@ public class ItIgniteNodeRestartTest extends IgniteAbstractTest {
CompletableFuture<?> startFuture = CompletableFuture.allOf(
nodeCfgMgr.configurationRegistry().notifyCurrentConfigurationListeners(),
- clusterCfgMgr.configurationRegistry().notifyCurrentConfigurationListeners()
+ clusterConfigRegistry.notifyCurrentConfigurationListeners()
).thenCompose(unused ->
// Deploy all registered watches because all components are ready and have registered their listeners.
CompletableFuture.allOf(metaStorageMgr.deployWatches(), configurationCatchUpFuture)
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 91c329dcac..322252bfd5 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
@@ -112,6 +112,7 @@ import org.apache.ignite.internal.rest.deployment.CodeDeploymentRestFactory;
import org.apache.ignite.internal.rest.metrics.MetricRestFactory;
import org.apache.ignite.internal.rest.node.NodeManagementRestFactory;
import org.apache.ignite.internal.schema.SchemaManager;
+import org.apache.ignite.internal.schema.configuration.GcConfiguration;
import org.apache.ignite.internal.schema.configuration.TablesConfiguration;
import org.apache.ignite.internal.security.authentication.AuthenticationManager;
import org.apache.ignite.internal.security.authentication.AuthenticationManagerImpl;
@@ -424,7 +425,7 @@ public class IgniteImpl implements Ignite {
ConfigurationRegistry clusterConfigRegistry = clusterCfgMgr.configurationRegistry();
- TablesConfiguration tablesConfiguration = clusterConfigRegistry.getConfiguration(TablesConfiguration.KEY);
+ TablesConfiguration tablesConfig = clusterConfigRegistry.getConfiguration(TablesConfiguration.KEY);
TopologyAwareRaftGroupServiceFactory topologyAwareRaftGroupServiceFactory = new TopologyAwareRaftGroupServiceFactory(
clusterSvc,
@@ -455,11 +456,12 @@ public class IgniteImpl implements Ignite {
Path storagePath = getPartitionsStorePath(workDir);
- DistributionZonesConfiguration distributionZonesConfiguration =
- clusterConfigRegistry.getConfiguration(DistributionZonesConfiguration.KEY);
+ DistributionZonesConfiguration zonesConfig = clusterConfigRegistry.getConfiguration(DistributionZonesConfiguration.KEY);
+
+ GcConfiguration gcConfig = clusterConfigRegistry.getConfiguration(GcConfiguration.KEY);
dataStorageMgr = new DataStorageManager(
- distributionZonesConfiguration,
+ zonesConfig,
dataStorageModules.createStorageEngines(
name,
clusterConfigRegistry,
@@ -468,11 +470,11 @@ public class IgniteImpl implements Ignite {
)
);
- schemaManager = new SchemaManager(registry, tablesConfiguration, metaStorageMgr);
+ schemaManager = new SchemaManager(registry, tablesConfig, metaStorageMgr);
distributionZoneManager = new DistributionZoneManager(
zonesConfiguration,
- tablesConfiguration,
+ tablesConfig,
metaStorageMgr,
logicalTopologyService,
vaultMgr,
@@ -488,8 +490,9 @@ public class IgniteImpl implements Ignite {
distributedTblMgr = new TableManager(
name,
registry,
- tablesConfiguration,
- distributionZonesConfiguration,
+ tablesConfig,
+ zonesConfig,
+ gcConfig,
clusterSvc,
raftMgr,
replicaMgr,
@@ -511,7 +514,7 @@ public class IgniteImpl implements Ignite {
distributionZoneManager
);
- indexManager = new IndexManager(tablesConfiguration, schemaManager, distributedTblMgr);
+ indexManager = new IndexManager(tablesConfig, schemaManager, distributedTblMgr);
qryEngine = new SqlQueryProcessor(
registry,
diff --git a/modules/schema/src/main/java/org/apache/ignite/internal/schema/configuration/TablesConfigurationSchema.java b/modules/schema/src/main/java/org/apache/ignite/internal/schema/configuration/GcConfigurationSchema.java
similarity index 59%
copy from modules/schema/src/main/java/org/apache/ignite/internal/schema/configuration/TablesConfigurationSchema.java
copy to modules/schema/src/main/java/org/apache/ignite/internal/schema/configuration/GcConfigurationSchema.java
index 3d32831925..6b25cd8656 100644
--- a/modules/schema/src/main/java/org/apache/ignite/internal/schema/configuration/TablesConfigurationSchema.java
+++ b/modules/schema/src/main/java/org/apache/ignite/internal/schema/configuration/GcConfigurationSchema.java
@@ -20,34 +20,20 @@ package org.apache.ignite.internal.schema.configuration;
import org.apache.ignite.configuration.annotation.ConfigValue;
import org.apache.ignite.configuration.annotation.ConfigurationRoot;
import org.apache.ignite.configuration.annotation.ConfigurationType;
-import org.apache.ignite.configuration.annotation.NamedConfigValue;
import org.apache.ignite.configuration.annotation.Value;
-import org.apache.ignite.internal.schema.configuration.index.IndexValidator;
-import org.apache.ignite.internal.schema.configuration.index.TableIndexConfigurationSchema;
/**
- * Tables configuration schema.
+ * Garbage collector configuration schema.
*/
-@SuppressWarnings("PMD.UnusedPrivateField")
-@ConfigurationRoot(rootName = "table", type = ConfigurationType.DISTRIBUTED)
-public class TablesConfigurationSchema {
- /** Global integer id counter. Used as an auto-increment counter to generate integer identifiers for table. */
+@ConfigurationRoot(rootName = "gc", type = ConfigurationType.DISTRIBUTED)
+public class GcConfigurationSchema {
+ /** Number of garbage collector threads. */
@Value(hasDefault = true)
- public int globalIdCounter = 0;
-
- /** List of configured tables. */
- @NamedConfigValue
- @TableValidator
- public TableConfigurationSchema tables;
+ public int threads = Runtime.getRuntime().availableProcessors();
- /** List of configured indexes. */
- @NamedConfigValue
- @IndexValidator
- public TableIndexConfigurationSchema indexes;
-
- /** Number of garbage collector threads. */
+ /** The number of entries in the storage to be garbage collected during a storage update operation. */
@Value(hasDefault = true)
- public int gcThreads = Runtime.getRuntime().availableProcessors();
+ public int onUpdateBatchSize = 5;
/** Low watermark configuration. */
@ConfigValue
diff --git a/modules/schema/src/main/java/org/apache/ignite/internal/schema/configuration/SchemaDistributedConfigurationModule.java b/modules/schema/src/main/java/org/apache/ignite/internal/schema/configuration/SchemaDistributedConfigurationModule.java
index b7b54b6212..5bc1f2b6ae 100644
--- a/modules/schema/src/main/java/org/apache/ignite/internal/schema/configuration/SchemaDistributedConfigurationModule.java
+++ b/modules/schema/src/main/java/org/apache/ignite/internal/schema/configuration/SchemaDistributedConfigurationModule.java
@@ -44,7 +44,10 @@ public class SchemaDistributedConfigurationModule implements ConfigurationModule
@Override
public Collection<RootKey<?, ?>> rootKeys() {
- return List.of(TablesConfiguration.KEY);
+ return List.of(
+ TablesConfiguration.KEY,
+ GcConfiguration.KEY
+ );
}
@Override
diff --git a/modules/schema/src/main/java/org/apache/ignite/internal/schema/configuration/TablesConfigurationSchema.java b/modules/schema/src/main/java/org/apache/ignite/internal/schema/configuration/TablesConfigurationSchema.java
index 3d32831925..cfcc0b7f00 100644
--- a/modules/schema/src/main/java/org/apache/ignite/internal/schema/configuration/TablesConfigurationSchema.java
+++ b/modules/schema/src/main/java/org/apache/ignite/internal/schema/configuration/TablesConfigurationSchema.java
@@ -17,7 +17,6 @@
package org.apache.ignite.internal.schema.configuration;
-import org.apache.ignite.configuration.annotation.ConfigValue;
import org.apache.ignite.configuration.annotation.ConfigurationRoot;
import org.apache.ignite.configuration.annotation.ConfigurationType;
import org.apache.ignite.configuration.annotation.NamedConfigValue;
@@ -44,12 +43,4 @@ public class TablesConfigurationSchema {
@NamedConfigValue
@IndexValidator
public TableIndexConfigurationSchema indexes;
-
- /** Number of garbage collector threads. */
- @Value(hasDefault = true)
- public int gcThreads = Runtime.getRuntime().availableProcessors();
-
- /** Low watermark configuration. */
- @ConfigValue
- public LowWatermarkConfigurationSchema lowWatermark;
}
diff --git a/modules/schema/src/main/java/org/apache/ignite/internal/schema/configuration/storage/DataStorageConfigurationSchema.java b/modules/schema/src/main/java/org/apache/ignite/internal/schema/configuration/storage/DataStorageConfigurationSchema.java
index 70149208ed..9a70bc8288 100644
--- a/modules/schema/src/main/java/org/apache/ignite/internal/schema/configuration/storage/DataStorageConfigurationSchema.java
+++ b/modules/schema/src/main/java/org/apache/ignite/internal/schema/configuration/storage/DataStorageConfigurationSchema.java
@@ -19,7 +19,6 @@ package org.apache.ignite.internal.schema.configuration.storage;
import org.apache.ignite.configuration.annotation.PolymorphicConfig;
import org.apache.ignite.configuration.annotation.PolymorphicId;
-import org.apache.ignite.configuration.annotation.Value;
/**
* Configuration schema for data storage.
@@ -29,9 +28,4 @@ public class DataStorageConfigurationSchema {
/** Name of data storage. */
@PolymorphicId(hasDefault = true)
public String name = "aipersist";
-
- /** The number of entries in the storage to be garbage collected during a storage update operation. */
- @Value(hasDefault = true)
- // TODO: IGNITE-19718 Need to move somewhere
- public int gcOnUpdateBatchSize = 5;
}
diff --git a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/MockedStructuresTest.java b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/MockedStructuresTest.java
index 530e18609c..773393d6db 100644
--- a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/MockedStructuresTest.java
+++ b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/MockedStructuresTest.java
@@ -69,6 +69,7 @@ import org.apache.ignite.internal.replicator.ReplicaService;
import org.apache.ignite.internal.schema.SchemaDescriptor;
import org.apache.ignite.internal.schema.SchemaManager;
import org.apache.ignite.internal.schema.SchemaUtils;
+import org.apache.ignite.internal.schema.configuration.GcConfiguration;
import org.apache.ignite.internal.schema.configuration.TableView;
import org.apache.ignite.internal.schema.configuration.TablesConfiguration;
import org.apache.ignite.internal.sql.engine.AsyncCursor.BatchedResult;
@@ -181,9 +182,14 @@ public class MockedStructuresTest extends IgniteAbstractTest {
@InjectConfiguration
private TablesConfiguration tblsCfg;
+ /** Distribution zones configuration. */
@InjectConfiguration("mock.distributionZones." + ZONE_NAME + "{dataStorage.name = " + ENGINE_NAME + ", zoneId = " + ZONE_ID + "}")
private DistributionZonesConfiguration dstZnsCfg;
+ /** Garbage collector configuration. */
+ @InjectConfiguration
+ private GcConfiguration gcConfig;
+
TableManager tblManager;
IndexManager idxManager;
@@ -567,6 +573,7 @@ public class MockedStructuresTest extends IgniteAbstractTest {
revisionUpdater,
tblsCfg,
dstZnsCfg,
+ gcConfig,
cs,
rm,
replicaManager,
diff --git a/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTablePersistenceTest.java b/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTablePersistenceTest.java
index a489ebb422..4242179de6 100644
--- a/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTablePersistenceTest.java
+++ b/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTablePersistenceTest.java
@@ -59,6 +59,7 @@ import org.apache.ignite.internal.schema.BinaryRow;
import org.apache.ignite.internal.schema.Column;
import org.apache.ignite.internal.schema.NativeTypes;
import org.apache.ignite.internal.schema.SchemaDescriptor;
+import org.apache.ignite.internal.schema.configuration.GcConfiguration;
import org.apache.ignite.internal.schema.configuration.TablesConfiguration;
import org.apache.ignite.internal.schema.row.Row;
import org.apache.ignite.internal.schema.row.RowAssembler;
@@ -117,6 +118,9 @@ public class ItTablePersistenceTest extends ItAbstractListenerSnapshotTest<Parti
@InjectConfiguration("mock.partitions = 1")
private DistributionZoneConfiguration zoneCfg;
+ @InjectConfiguration
+ private GcConfiguration gcConfig;
+
@InjectConfiguration("mock {flushDelayMillis = 0, defaultRegion {size = 16777216, writeBufferSize = 16777216}}")
private RocksDbStorageEngineConfiguration engineConfig;
@@ -387,7 +391,7 @@ public class ItTablePersistenceTest extends ItAbstractListenerSnapshotTest<Parti
StorageUpdateHandler storageUpdateHandler = new StorageUpdateHandler(
0,
partitionDataStorage,
- zoneCfg.dataStorage(),
+ gcConfig,
mock(LowWatermark.class),
indexUpdateHandler,
new GcUpdateHandler(partitionDataStorage, safeTime, indexUpdateHandler)
diff --git a/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTxDistributedTestSingleNode.java b/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTxDistributedTestSingleNode.java
index 987667023e..14623ee957 100644
--- a/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTxDistributedTestSingleNode.java
+++ b/modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTxDistributedTestSingleNode.java
@@ -76,8 +76,8 @@ import org.apache.ignite.internal.schema.BinaryRow;
import org.apache.ignite.internal.schema.BinaryRowConverter;
import org.apache.ignite.internal.schema.BinaryTuple;
import org.apache.ignite.internal.schema.SchemaDescriptor;
+import org.apache.ignite.internal.schema.configuration.GcConfiguration;
import org.apache.ignite.internal.schema.configuration.TablesConfiguration;
-import org.apache.ignite.internal.schema.configuration.storage.DataStorageConfiguration;
import org.apache.ignite.internal.storage.MvPartitionStorage;
import org.apache.ignite.internal.storage.engine.MvTableStorage;
import org.apache.ignite.internal.storage.impl.TestMvPartitionStorage;
@@ -143,7 +143,7 @@ public class ItTxDistributedTestSingleNode extends TxAbstractTest {
private static RaftConfiguration raftConfiguration;
@InjectConfiguration
- private static DataStorageConfiguration dsCfg;
+ private static GcConfiguration gcConfig;
@InjectConfiguration("mock.tables.foo {}")
private static TablesConfiguration tablesConfig;
@@ -471,7 +471,7 @@ public class ItTxDistributedTestSingleNode extends TxAbstractTest {
StorageUpdateHandler storageUpdateHandler = new StorageUpdateHandler(
partId,
partitionDataStorage,
- dsCfg,
+ gcConfig,
mock(LowWatermark.class),
indexUpdateHandler,
new GcUpdateHandler(partitionDataStorage, safeTime, indexUpdateHandler)
diff --git a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/StorageUpdateHandler.java b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/StorageUpdateHandler.java
index 187faeaa38..9da8aaf775 100644
--- a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/StorageUpdateHandler.java
+++ b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/StorageUpdateHandler.java
@@ -33,7 +33,7 @@ import org.apache.ignite.internal.hlc.HybridTimestamp;
import org.apache.ignite.internal.replicator.TablePartitionId;
import org.apache.ignite.internal.schema.BinaryRow;
import org.apache.ignite.internal.schema.ByteBufferRow;
-import org.apache.ignite.internal.schema.configuration.storage.DataStorageConfiguration;
+import org.apache.ignite.internal.schema.configuration.GcConfiguration;
import org.apache.ignite.internal.storage.ReadResult;
import org.apache.ignite.internal.storage.RowId;
import org.apache.ignite.internal.table.distributed.gc.GcUpdateHandler;
@@ -52,7 +52,8 @@ public class StorageUpdateHandler {
/** Partition storage with access to MV data of a partition. */
private final PartitionDataStorage storage;
- private final DataStorageConfiguration dsCfg;
+ /** Garbage collector configuration. */
+ private final GcConfiguration gcConfig;
/** Low watermark. */
private final LowWatermark lowWatermark;
@@ -68,21 +69,21 @@ public class StorageUpdateHandler {
*
* @param partitionId Partition id.
* @param storage Partition data storage.
- * @param dsCfg Data storage configuration.
+ * @param gcConfig Garbage collector configuration.
* @param indexUpdateHandler Partition index update handler.
* @param gcUpdateHandler Partition gc update handler.
*/
public StorageUpdateHandler(
int partitionId,
PartitionDataStorage storage,
- DataStorageConfiguration dsCfg,
+ GcConfiguration gcConfig,
LowWatermark lowWatermark,
IndexUpdateHandler indexUpdateHandler,
GcUpdateHandler gcUpdateHandler
) {
this.partitionId = partitionId;
this.storage = storage;
- this.dsCfg = dsCfg;
+ this.gcConfig = gcConfig;
this.lowWatermark = lowWatermark;
this.indexUpdateHandler = indexUpdateHandler;
this.gcUpdateHandler = gcUpdateHandler;
@@ -201,7 +202,7 @@ public class StorageUpdateHandler {
return;
}
- gcUpdateHandler.vacuumBatch(lwm, dsCfg.gcOnUpdateBatchSize().value());
+ gcUpdateHandler.vacuumBatch(lwm, gcConfig.onUpdateBatchSize().value());
}
/**
diff --git a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/TableManager.java b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/TableManager.java
index c392d7a019..3534b34311 100644
--- a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/TableManager.java
+++ b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/TableManager.java
@@ -128,12 +128,12 @@ import org.apache.ignite.internal.replicator.ReplicaService;
import org.apache.ignite.internal.replicator.TablePartitionId;
import org.apache.ignite.internal.schema.SchemaManager;
import org.apache.ignite.internal.schema.configuration.ExtendedTableChange;
+import org.apache.ignite.internal.schema.configuration.GcConfiguration;
import org.apache.ignite.internal.schema.configuration.TableChange;
import org.apache.ignite.internal.schema.configuration.TableConfiguration;
import org.apache.ignite.internal.schema.configuration.TableView;
import org.apache.ignite.internal.schema.configuration.TablesConfiguration;
import org.apache.ignite.internal.schema.configuration.index.TableIndexView;
-import org.apache.ignite.internal.schema.configuration.storage.DataStorageConfiguration;
import org.apache.ignite.internal.schema.event.SchemaEvent;
import org.apache.ignite.internal.schema.event.SchemaEventParameters;
import org.apache.ignite.internal.storage.DataStorageManager;
@@ -232,6 +232,9 @@ public class TableManager extends Producer<TableEvent, TableEventParameters> imp
/** Distribution zones configuration. */
private final DistributionZonesConfiguration zonesConfig;
+ /** Garbage collector configuration. */
+ private final GcConfiguration gcConfig;
+
private final ClusterService clusterService;
/** Raft manager. */
@@ -368,6 +371,8 @@ public class TableManager extends Producer<TableEvent, TableEventParameters> imp
* @param nodeName Node name.
* @param registry Registry for versioned values.
* @param tablesCfg Tables configuration.
+ * @param zonesConfig Distribution zones configuration.
+ * @param gcConfig Garbage collector configuration.
* @param raftMgr Raft manager.
* @param replicaMgr Replica manager.
* @param lockMgr Lock manager.
@@ -386,6 +391,7 @@ public class TableManager extends Producer<TableEvent, TableEventParameters> imp
Consumer<LongFunction<CompletableFuture<?>>> registry,
TablesConfiguration tablesCfg,
DistributionZonesConfiguration zonesConfig,
+ GcConfiguration gcConfig,
ClusterService clusterService,
RaftManager raftMgr,
ReplicaManager replicaMgr,
@@ -408,6 +414,7 @@ public class TableManager extends Producer<TableEvent, TableEventParameters> imp
) {
this.tablesCfg = tablesCfg;
this.zonesConfig = zonesConfig;
+ this.gcConfig = gcConfig;
this.clusterService = clusterService;
this.raftMgr = raftMgr;
this.baselineMgr = baselineMgr;
@@ -474,9 +481,9 @@ public class TableManager extends Producer<TableEvent, TableEventParameters> imp
assignmentsSwitchRebalanceListener = createAssignmentsSwitchRebalanceListener();
- mvGc = new MvGc(nodeName, tablesCfg);
+ mvGc = new MvGc(nodeName, gcConfig);
- lowWatermark = new LowWatermark(nodeName, tablesCfg.lowWatermark(), clock, txManager, vaultManager, mvGc);
+ lowWatermark = new LowWatermark(nodeName, gcConfig.lowWatermark(), clock, txManager, vaultManager, mvGc);
indexBuilder = new IndexBuilder(nodeName, cpus);
}
@@ -748,7 +755,6 @@ public class TableManager extends Producer<TableEvent, TableEventParameters> imp
partId,
partitionDataStorage,
table,
- getZoneById(zonesConfig, zoneId).dataStorage(),
safeTimeTracker
);
@@ -2121,8 +2127,6 @@ public class TableManager extends Producer<TableEvent, TableEventParameters> imp
PeersAndLearners pendingConfiguration = configurationFromAssignments(pendingAssignments);
- CatalogTableDescriptor tableDescriptor = getTableDescriptor(tbl.tableId());
-
int tableId = tbl.tableId();
int partId = replicaGrpId.partitionId();
@@ -2179,7 +2183,6 @@ public class TableManager extends Producer<TableEvent, TableEventParameters> imp
partId,
partitionDataStorage,
tbl,
- getZoneById(zonesConfig, tableDescriptor.zoneId()).dataStorage(),
safeTimeTracker
);
@@ -2575,7 +2578,6 @@ public class TableManager extends Producer<TableEvent, TableEventParameters> imp
int partitionId,
PartitionDataStorage partitionDataStorage,
TableImpl table,
- DataStorageConfiguration dsCfg,
PendingComparableValuesTracker<HybridTimestamp, Void> safeTimeTracker
) {
TableIndexStoragesSupplier indexes = table.indexStorageAdapters(partitionId);
@@ -2587,7 +2589,7 @@ public class TableManager extends Producer<TableEvent, TableEventParameters> imp
StorageUpdateHandler storageUpdateHandler = new StorageUpdateHandler(
partitionId,
partitionDataStorage,
- dsCfg,
+ gcConfig,
lowWatermark,
indexUpdateHandler,
gcUpdateHandler
diff --git a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/gc/MvGc.java b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/gc/MvGc.java
index eef28b85bb..4840827a59 100644
--- a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/gc/MvGc.java
+++ b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/gc/MvGc.java
@@ -36,7 +36,7 @@ import org.apache.ignite.internal.hlc.HybridTimestamp;
import org.apache.ignite.internal.logger.IgniteLogger;
import org.apache.ignite.internal.logger.Loggers;
import org.apache.ignite.internal.replicator.TablePartitionId;
-import org.apache.ignite.internal.schema.configuration.TablesConfiguration;
+import org.apache.ignite.internal.schema.configuration.GcConfiguration;
import org.apache.ignite.internal.thread.NamedThreadFactory;
import org.apache.ignite.internal.util.IgniteSpinBusyLock;
import org.apache.ignite.internal.util.TrackerClosedException;
@@ -58,8 +58,8 @@ public class MvGc implements ManuallyCloseable {
/** Node name. */
private final String nodeName;
- /** Tables configuration. */
- private final TablesConfiguration tablesConfig;
+ /** Garbage collector configuration. */
+ private final GcConfiguration gcConfig;
/** Garbage collection thread pool. */
private volatile ExecutorService executor;
@@ -80,18 +80,18 @@ public class MvGc implements ManuallyCloseable {
* Constructor.
*
* @param nodeName Node name.
- * @param tablesConfig Tables configuration.
+ * @param gcConfig Garbage collector configuration.
*/
- public MvGc(String nodeName, TablesConfiguration tablesConfig) {
+ public MvGc(String nodeName, GcConfiguration gcConfig) {
this.nodeName = nodeName;
- this.tablesConfig = tablesConfig;
+ this.gcConfig = gcConfig;
}
/**
* Starts the garbage collector.
*/
public void start() {
- int threadCount = tablesConfig.gcThreads().value();
+ int threadCount = gcConfig.threads().value();
executor = new ThreadPoolExecutor(
threadCount,
diff --git a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/AbstractMvStorageUpdateHandlerTest.java b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/AbstractMvStorageUpdateHandlerTest.java
index 5f3593b5cf..6e56bcbf98 100644
--- a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/AbstractMvStorageUpdateHandlerTest.java
+++ b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/AbstractMvStorageUpdateHandlerTest.java
@@ -28,9 +28,9 @@ import java.util.UUID;
import org.apache.ignite.distributed.TestPartitionDataStorage;
import org.apache.ignite.internal.configuration.testframework.ConfigurationExtension;
import org.apache.ignite.internal.configuration.testframework.InjectConfiguration;
-import org.apache.ignite.internal.distributionzones.configuration.DistributionZoneConfiguration;
import org.apache.ignite.internal.hlc.HybridTimestamp;
import org.apache.ignite.internal.schema.BinaryRow;
+import org.apache.ignite.internal.schema.configuration.GcConfiguration;
import org.apache.ignite.internal.storage.BaseMvStoragesTest;
import org.apache.ignite.internal.storage.MvPartitionStorage;
import org.apache.ignite.internal.storage.RowId;
@@ -66,7 +66,7 @@ abstract class AbstractMvStorageUpdateHandlerTest extends BaseMvStoragesTest {
private LowWatermark lowWatermark;
@InjectConfiguration
- private DistributionZoneConfiguration distributionZoneConfig;
+ private GcConfiguration gcConfig;
/**
* Initializes the internal structures needed for tests.
@@ -83,7 +83,7 @@ abstract class AbstractMvStorageUpdateHandlerTest extends BaseMvStoragesTest {
storageUpdateHandler = new StorageUpdateHandler(
PARTITION_ID,
partitionDataStorage,
- distributionZoneConfig.dataStorage(),
+ gcConfig,
lowWatermark,
indexUpdateHandler,
new GcUpdateHandler(
@@ -96,7 +96,7 @@ abstract class AbstractMvStorageUpdateHandlerTest extends BaseMvStoragesTest {
@Test
void testConcurrentExecuteBatchGc() {
- assertThat(distributionZoneConfig.dataStorage().gcOnUpdateBatchSize().update(4), willSucceedFast());
+ assertThat(gcConfig.onUpdateBatchSize().update(4), willSucceedFast());
when(lowWatermark.getLowWatermark()).thenReturn(HybridTimestamp.MAX_VALUE);
diff --git a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/IndexBaseTest.java b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/IndexBaseTest.java
index 52796e3dd6..e5eb1e768b 100644
--- a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/IndexBaseTest.java
+++ b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/IndexBaseTest.java
@@ -34,7 +34,7 @@ import org.apache.ignite.internal.schema.BinaryRowConverter;
import org.apache.ignite.internal.schema.BinaryTuple;
import org.apache.ignite.internal.schema.BinaryTupleSchema;
import org.apache.ignite.internal.schema.NativeTypes;
-import org.apache.ignite.internal.schema.configuration.storage.DataStorageConfiguration;
+import org.apache.ignite.internal.schema.configuration.GcConfiguration;
import org.apache.ignite.internal.storage.BaseMvStoragesTest;
import org.apache.ignite.internal.storage.ReadResult;
import org.apache.ignite.internal.storage.RowId;
@@ -88,7 +88,7 @@ public abstract class IndexBaseTest extends BaseMvStoragesTest {
GcUpdateHandler gcUpdateHandler;
@BeforeEach
- void setUp(@InjectConfiguration DataStorageConfiguration dsCfg) {
+ void setUp(@InjectConfiguration GcConfiguration gcConfig) {
int pkIndexId = 1;
int sortedIndexId = 2;
int hashIndexId = 3;
@@ -144,7 +144,7 @@ public abstract class IndexBaseTest extends BaseMvStoragesTest {
storageUpdateHandler = new StorageUpdateHandler(
PARTITION_ID,
partitionDataStorage,
- dsCfg,
+ gcConfig,
mock(LowWatermark.class),
indexUpdateHandler,
gcUpdateHandler
diff --git a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/StorageUpdateHandlerTest.java b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/StorageUpdateHandlerTest.java
index 54ff39b19f..0a0ce0ee33 100644
--- a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/StorageUpdateHandlerTest.java
+++ b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/StorageUpdateHandlerTest.java
@@ -33,7 +33,7 @@ import org.apache.ignite.internal.configuration.testframework.ConfigurationExten
import org.apache.ignite.internal.configuration.testframework.InjectConfiguration;
import org.apache.ignite.internal.hlc.HybridTimestamp;
import org.apache.ignite.internal.replicator.TablePartitionId;
-import org.apache.ignite.internal.schema.configuration.storage.DataStorageConfiguration;
+import org.apache.ignite.internal.schema.configuration.GcConfiguration;
import org.apache.ignite.internal.storage.impl.TestMvPartitionStorage;
import org.apache.ignite.internal.table.distributed.gc.GcUpdateHandler;
import org.apache.ignite.internal.table.distributed.index.IndexUpdateHandler;
@@ -50,7 +50,7 @@ public class StorageUpdateHandlerTest {
private static final int PARTITION_ID = 0;
@InjectConfiguration
- private DataStorageConfiguration dataStorageConfig;
+ private GcConfiguration gcConfig;
private final PendingComparableValuesTracker<HybridTimestamp, Void> safeTimeTracker = spy(new PendingComparableValuesTracker<>(
new HybridTimestamp(1, 0)
@@ -143,7 +143,7 @@ public class StorageUpdateHandlerTest {
return new StorageUpdateHandler(
PARTITION_ID,
partitionStorage,
- dataStorageConfig,
+ gcConfig,
lowWatermark,
indexUpdateHandler,
new GcUpdateHandler(partitionStorage, safeTimeTracker, indexUpdateHandler)
diff --git a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/TableManagerTest.java b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/TableManagerTest.java
index d9ac117a58..b52e6688b6 100644
--- a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/TableManagerTest.java
+++ b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/TableManagerTest.java
@@ -92,6 +92,7 @@ import org.apache.ignite.internal.schema.SchemaDescriptor;
import org.apache.ignite.internal.schema.SchemaManager;
import org.apache.ignite.internal.schema.SchemaUtils;
import org.apache.ignite.internal.schema.configuration.ExtendedTableChange;
+import org.apache.ignite.internal.schema.configuration.GcConfiguration;
import org.apache.ignite.internal.schema.configuration.TableChange;
import org.apache.ignite.internal.schema.configuration.TableView;
import org.apache.ignite.internal.schema.configuration.TablesConfiguration;
@@ -217,9 +218,14 @@ public class TableManagerTest extends IgniteAbstractTest {
@InjectConfiguration
private TablesConfiguration tblsCfg;
+ /** Distribution zones configuration. */
@InjectConfiguration
private DistributionZonesConfiguration distributionZonesConfiguration;
+ /** Garbage collector configuration. */
+ @InjectConfiguration
+ private GcConfiguration gcConfig;
+
@InjectConfiguration
private PersistentPageMemoryStorageEngineConfiguration storageEngineConfig;
@@ -856,6 +862,7 @@ public class TableManagerTest extends IgniteAbstractTest {
revisionUpdater,
tblsCfg,
distributionZonesConfiguration,
+ gcConfig,
clusterService,
rm,
replicaMgr,
diff --git a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/gc/MvGcTest.java b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/gc/MvGcTest.java
index a4bf9b87b3..febf9fb402 100644
--- a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/gc/MvGcTest.java
+++ b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/gc/MvGcTest.java
@@ -43,7 +43,7 @@ import org.apache.ignite.internal.configuration.testframework.ConfigurationExten
import org.apache.ignite.internal.configuration.testframework.InjectConfiguration;
import org.apache.ignite.internal.hlc.HybridTimestamp;
import org.apache.ignite.internal.replicator.TablePartitionId;
-import org.apache.ignite.internal.schema.configuration.TablesConfiguration;
+import org.apache.ignite.internal.schema.configuration.GcConfiguration;
import org.apache.ignite.internal.util.PendingComparableValuesTracker;
import org.apache.ignite.lang.ErrorGroups.GarbageCollector;
import org.apache.ignite.lang.IgniteInternalException;
@@ -66,11 +66,8 @@ public class MvGcTest {
private final AtomicInteger nextTableId = new AtomicInteger(1001);
@BeforeEach
- void setUp(
- @InjectConfiguration("mock.gcThreads = 1")
- TablesConfiguration tablesConfig
- ) {
- gc = new MvGc("test", tablesConfig);
+ void setUp(@InjectConfiguration("mock.threads = 1") GcConfiguration gcConfig) {
+ gc = new MvGc("test", gcConfig);
gc.start();
}
@@ -305,16 +302,13 @@ public class MvGcTest {
}
@Test
- void testParallelUpdateLowWatermark(
- @InjectConfiguration
- TablesConfiguration tablesConfig
- ) throws Exception {
+ void testParallelUpdateLowWatermark(@InjectConfiguration GcConfiguration gcConfig) throws Exception {
// By default, in the tests we work in one thread, we don’t have enough this, we will add more.
- assertThat(tablesConfig.gcThreads().update(Runtime.getRuntime().availableProcessors()), willCompleteSuccessfully());
+ assertThat(gcConfig.threads().update(Runtime.getRuntime().availableProcessors()), willCompleteSuccessfully());
gc.close();
- gc = new MvGc("test", tablesConfig);
+ gc = new MvGc("test", gcConfig);
gc.start();
diff --git a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/raft/PartitionCommandListenerTest.java b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/raft/PartitionCommandListenerTest.java
index 78adaee7e9..f1d103dc99 100644
--- a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/raft/PartitionCommandListenerTest.java
+++ b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/raft/PartitionCommandListenerTest.java
@@ -72,7 +72,7 @@ import org.apache.ignite.internal.schema.BinaryRowConverter;
import org.apache.ignite.internal.schema.Column;
import org.apache.ignite.internal.schema.NativeTypes;
import org.apache.ignite.internal.schema.SchemaDescriptor;
-import org.apache.ignite.internal.schema.configuration.storage.DataStorageConfiguration;
+import org.apache.ignite.internal.schema.configuration.GcConfiguration;
import org.apache.ignite.internal.schema.row.Row;
import org.apache.ignite.internal.schema.row.RowAssembler;
import org.apache.ignite.internal.storage.MvPartitionStorage;
@@ -181,7 +181,7 @@ public class PartitionCommandListenerTest {
* Initializes a table listener before tests.
*/
@BeforeEach
- public void before(@InjectConfiguration DataStorageConfiguration dsCfg) {
+ public void before(@InjectConfiguration GcConfiguration gcConfig) {
NetworkAddress addr = new NetworkAddress("127.0.0.1", 5003);
ClusterService clusterService = mock(ClusterService.class, RETURNS_DEEP_STUBS);
@@ -197,7 +197,7 @@ public class PartitionCommandListenerTest {
storageUpdateHandler = spy(new StorageUpdateHandler(
PARTITION_ID,
partitionDataStorage,
- dsCfg,
+ gcConfig,
mock(LowWatermark.class),
indexUpdateHandler,
new GcUpdateHandler(partitionDataStorage, safeTimeTracker, indexUpdateHandler)
@@ -287,7 +287,7 @@ public class PartitionCommandListenerTest {
* the maximal last applied index among storages to all storages.
*/
@Test
- public void testOnSnapshotSavePropagateLastAppliedIndexAndTerm(@InjectConfiguration DataStorageConfiguration dsCfg) {
+ public void testOnSnapshotSavePropagateLastAppliedIndexAndTerm(@InjectConfiguration GcConfiguration gcConfig) {
TestPartitionDataStorage partitionDataStorage = new TestPartitionDataStorage(mvPartitionStorage);
IndexUpdateHandler indexUpdateHandler1 = new IndexUpdateHandler(
@@ -297,7 +297,7 @@ public class PartitionCommandListenerTest {
StorageUpdateHandler storageUpdateHandler = new StorageUpdateHandler(
PARTITION_ID,
partitionDataStorage,
- dsCfg,
+ gcConfig,
mock(LowWatermark.class),
indexUpdateHandler1,
new GcUpdateHandler(partitionDataStorage, safeTimeTracker, indexUpdateHandler1)
diff --git a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/replication/PartitionReplicaListenerIndexLockingTest.java b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/replication/PartitionReplicaListenerIndexLockingTest.java
index 40a570d3e7..eb73abcd65 100644
--- a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/replication/PartitionReplicaListenerIndexLockingTest.java
+++ b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/replication/PartitionReplicaListenerIndexLockingTest.java
@@ -52,8 +52,8 @@ import org.apache.ignite.internal.schema.BinaryTupleSchema;
import org.apache.ignite.internal.schema.Column;
import org.apache.ignite.internal.schema.NativeTypes;
import org.apache.ignite.internal.schema.SchemaDescriptor;
+import org.apache.ignite.internal.schema.configuration.GcConfiguration;
import org.apache.ignite.internal.schema.configuration.TablesConfiguration;
-import org.apache.ignite.internal.schema.configuration.storage.DataStorageConfiguration;
import org.apache.ignite.internal.schema.marshaller.KvMarshaller;
import org.apache.ignite.internal.schema.marshaller.MarshallerException;
import org.apache.ignite.internal.schema.marshaller.reflection.ReflectionMarshallerFactory;
@@ -126,7 +126,7 @@ public class PartitionReplicaListenerIndexLockingTest extends IgniteAbstractTest
@BeforeAll
public static void beforeAll(
- @InjectConfiguration DataStorageConfiguration dsCfg,
+ @InjectConfiguration GcConfiguration gcConfig,
@InjectConfiguration("mock.tables.foo {}") TablesConfiguration tablesConfig
) {
RaftGroupService mockRaftClient = mock(RaftGroupService.class);
@@ -213,7 +213,7 @@ public class PartitionReplicaListenerIndexLockingTest extends IgniteAbstractTest
new StorageUpdateHandler(
PART_ID,
partitionDataStorage,
- dsCfg,
+ gcConfig,
mock(LowWatermark.class),
indexUpdateHandler,
new GcUpdateHandler(partitionDataStorage, safeTime, indexUpdateHandler)
diff --git a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/replication/PartitionReplicaListenerTest.java b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/replication/PartitionReplicaListenerTest.java
index 30984ba733..68dfedb73e 100644
--- a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/replication/PartitionReplicaListenerTest.java
+++ b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/replication/PartitionReplicaListenerTest.java
@@ -83,8 +83,8 @@ import org.apache.ignite.internal.schema.BinaryTuple;
import org.apache.ignite.internal.schema.Column;
import org.apache.ignite.internal.schema.NativeTypes;
import org.apache.ignite.internal.schema.SchemaDescriptor;
+import org.apache.ignite.internal.schema.configuration.GcConfiguration;
import org.apache.ignite.internal.schema.configuration.TablesConfiguration;
-import org.apache.ignite.internal.schema.configuration.storage.DataStorageConfiguration;
import org.apache.ignite.internal.schema.marshaller.KvMarshaller;
import org.apache.ignite.internal.schema.marshaller.MarshallerException;
import org.apache.ignite.internal.schema.marshaller.MarshallerFactory;
@@ -294,7 +294,7 @@ public class PartitionReplicaListenerTest extends IgniteAbstractTest {
@BeforeEach
public void beforeTest(
- @InjectConfiguration DataStorageConfiguration dsCfg,
+ @InjectConfiguration GcConfiguration gcConfig,
@InjectConfiguration("mock.tables.foo {}") TablesConfiguration tablesConfig
) {
lenient().when(mockRaftClient.refreshAndGetLeaderWithTerm()).thenAnswer(invocationOnMock -> {
@@ -403,7 +403,7 @@ public class PartitionReplicaListenerTest extends IgniteAbstractTest {
new StorageUpdateHandler(
partId,
partitionDataStorage,
- dsCfg,
+ gcConfig,
mock(LowWatermark.class),
indexUpdateHandler,
new GcUpdateHandler(partitionDataStorage, safeTimeClock, indexUpdateHandler)
diff --git a/modules/table/src/testFixtures/java/org/apache/ignite/internal/table/impl/DummyInternalTableImpl.java b/modules/table/src/testFixtures/java/org/apache/ignite/internal/table/impl/DummyInternalTableImpl.java
index 853711e897..99d307c6c0 100644
--- a/modules/table/src/testFixtures/java/org/apache/ignite/internal/table/impl/DummyInternalTableImpl.java
+++ b/modules/table/src/testFixtures/java/org/apache/ignite/internal/table/impl/DummyInternalTableImpl.java
@@ -56,8 +56,8 @@ import org.apache.ignite.internal.schema.BinaryTuple;
import org.apache.ignite.internal.schema.Column;
import org.apache.ignite.internal.schema.NativeTypes;
import org.apache.ignite.internal.schema.SchemaDescriptor;
+import org.apache.ignite.internal.schema.configuration.GcConfiguration;
import org.apache.ignite.internal.schema.configuration.TablesConfiguration;
-import org.apache.ignite.internal.schema.configuration.storage.DataStorageConfiguration;
import org.apache.ignite.internal.storage.MvPartitionStorage;
import org.apache.ignite.internal.storage.engine.MvTableStorage;
import org.apache.ignite.internal.storage.impl.TestMvPartitionStorage;
@@ -278,17 +278,17 @@ public class DummyInternalTableImpl extends InternalTableImpl {
PartitionDataStorage partitionDataStorage = new TestPartitionDataStorage(mvPartStorage);
TableIndexStoragesSupplier indexes = createTableIndexStoragesSupplier(Map.of(pkStorage.get().id(), pkStorage.get()));
- DataStorageConfiguration dsCfg = mock(DataStorageConfiguration.class);
+ GcConfiguration gcConfig = mock(GcConfiguration.class);
ConfigurationValue<Integer> gcBatchSizeValue = mock(ConfigurationValue.class);
lenient().when(gcBatchSizeValue.value()).thenReturn(5);
- lenient().when(dsCfg.gcOnUpdateBatchSize()).thenReturn(gcBatchSizeValue);
+ lenient().when(gcConfig.onUpdateBatchSize()).thenReturn(gcBatchSizeValue);
IndexUpdateHandler indexUpdateHandler = new IndexUpdateHandler(indexes);
StorageUpdateHandler storageUpdateHandler = new StorageUpdateHandler(
PART_ID,
partitionDataStorage,
- dsCfg,
+ gcConfig,
mock(LowWatermark.class),
indexUpdateHandler,
new GcUpdateHandler(partitionDataStorage, safeTime, indexUpdateHandler)