This is an automated email from the ASF dual-hosted git repository. marklau99 pushed a commit to branch fix-npe-in-cpu-metrics in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit fec1ac3718c4205a84d9c77c7cced9256b10547f Author: YongzaoDan <[email protected]> AuthorDate: Mon Jun 19 17:59:36 2023 +0800 [IOTDB-5999] Maintain system.properties (#10170) (#10210) --- .../iotdb/confignode/conf/ConfigNodeConfig.java | 11 ---- .../confignode/conf/ConfigNodeDescriptor.java | 7 --- .../confignode/conf/ConfigNodeStartupCheck.java | 16 +++++ .../confignode/conf/SystemPropertiesUtils.java | 58 +++++++++--------- .../iotdb/confignode/manager/ConfigManager.java | 20 ++++++- .../partition/GreedyPartitionAllocator.java | 4 +- .../iotdb/confignode/manager/node/NodeManager.java | 5 +- .../manager/partition/PartitionManager.java | 6 +- .../thrift/ConfigNodeRPCServiceProcessor.java | 3 +- .../confignode/it/utils/ConfigNodeTestUtils.java | 2 + .../iotdb/session/it/IoTDBSessionComplexIT.java | 8 +-- .../src/main/thrift/confignode.thrift | 5 ++ .../resources/conf/iotdb-common.properties | 4 -- .../apache/iotdb/commons/conf/CommonConfig.java | 55 ++++++++++++++++- .../iotdb/commons/conf/CommonDescriptor.java | 23 ++++++++ .../iotdb/commons/utils/CommonDateTimeUtils.java | 42 +++++++++++++ .../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 63 -------------------- .../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 25 +------- .../org/apache/iotdb/db/conf/IoTDBStartCheck.java | 69 +--------------------- .../org/apache/iotdb/db/engine/StorageEngine.java | 2 +- .../iotdb/db/engine/storagegroup/DataRegion.java | 13 ++-- .../metadata/cache/DataNodeLastCacheManager.java | 4 +- .../db/metadata/metric/SchemaEngineMemMetric.java | 3 +- .../db/metadata/metric/SchemaMetricManager.java | 4 +- .../db/metadata/rescon/SchemaResourceManager.java | 6 +- .../db/metadata/schemaregion/SchemaEngine.java | 9 ++- .../apache/iotdb/db/metadata/tag/TagLogFile.java | 3 +- .../apache/iotdb/db/metadata/tag/TagManager.java | 21 ++++--- .../operator/process/last/LastQueryUtil.java | 4 +- .../config/metadata/GetTimeSlotListTask.java | 4 +- .../pipe/connector/v1/IoTDBThriftConnectorV1.java | 3 +- .../pipe/connector/v1/IoTDBThriftReceiverV1.java | 9 ++- .../pipe/connector/v2/IoTDBThriftConnectorV2.java | 3 +- .../influxdb/handler/QueryHandlerFactory.java | 3 +- .../influxdb/meta/InfluxDBMetaManagerFactory.java | 3 +- .../rest/v1/impl/GrafanaApiServiceImpl.java | 3 +- .../rest/v2/impl/GrafanaApiServiceImpl.java | 3 +- .../apache/iotdb/db/service/IoTDBShutdownHook.java | 2 +- .../service/thrift/impl/ClientRPCServiceImpl.java | 2 +- .../org/apache/iotdb/db/utils/DateTimeUtils.java | 24 ++------ .../apache/iotdb/db/utils/TimePartitionUtils.java | 4 +- .../SizeTieredCompactionSelectorTest.java | 5 +- .../db/engine/storagegroup/DataRegionTest.java | 20 ++++--- .../iotdb/db/engine/storagegroup/TTLTest.java | 7 ++- .../mtree/schemafile/AliasIndexPageTest.java | 6 +- .../mtree/schemafile/InternalPageTest.java | 6 +- .../mtree/schemafile/SchemaFileLogTest.java | 6 +- .../metadata/mtree/schemafile/SchemaFileTest.java | 6 +- .../mtree/schemafile/WrappedSegmentTest.java | 6 +- .../schemaRegion/AbstractSchemaRegionTest.java | 9 ++- .../mpp/plan/analyze/QueryTimePartitionTest.java | 62 +++++++++---------- .../plan/node/write/WritePlanNodeSplitTest.java | 7 ++- .../org/apache/iotdb/db/qp/sql/ASTVisitorTest.java | 12 ++-- .../iotdb/db/tools/PBTreeFileSketchTest.java | 6 +- .../iotdb/db/tools/TsFileAndModSettleToolTest.java | 12 ++-- 55 files changed, 370 insertions(+), 358 deletions(-) diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConfig.java b/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConfig.java index 6bc95fd034a..f9d641ca840 100644 --- a/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConfig.java +++ b/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConfig.java @@ -177,9 +177,6 @@ public class ConfigNodeConfig { /** External temporary lib directory for storing downloaded pipe JAR files */ private String pipeTemporaryLibDir = pipeDir + File.separator + IoTDBConstant.TMP_FOLDER_NAME; - /** Time partition interval in milliseconds */ - private long timePartitionInterval = 604_800_000; - /** Procedure Evict ttl */ private int procedureCompletedEvictTTL = 800; @@ -419,14 +416,6 @@ public class ConfigNodeConfig { this.seriesPartitionExecutorClass = seriesPartitionExecutorClass; } - public long getTimePartitionInterval() { - return timePartitionInterval; - } - - public void setTimePartitionInterval(long timePartitionInterval) { - this.timePartitionInterval = timePartitionInterval; - } - public int getCnRpcMaxConcurrentClientNum() { return rpcMaxConcurrentClientNum; } diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeDescriptor.java b/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeDescriptor.java index 1a6e3b2d342..9864c382941 100644 --- a/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeDescriptor.java +++ b/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeDescriptor.java @@ -332,13 +332,6 @@ public class ConfigNodeDescriptor { conf.setPipeDir(properties.getProperty("pipe_lib_dir", conf.getPipeDir()).trim()); - conf.setTimePartitionInterval( - Long.parseLong( - properties - .getProperty( - "time_partition_interval", String.valueOf(conf.getTimePartitionInterval())) - .trim())); - conf.setHeartbeatIntervalInMs( Long.parseLong( properties diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeStartupCheck.java b/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeStartupCheck.java index 47c0c26f55c..96198e96205 100644 --- a/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeStartupCheck.java +++ b/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeStartupCheck.java @@ -19,6 +19,8 @@ package org.apache.iotdb.confignode.conf; +import org.apache.iotdb.commons.conf.CommonConfig; +import org.apache.iotdb.commons.conf.CommonDescriptor; import org.apache.iotdb.commons.conf.IoTDBConstant; import org.apache.iotdb.commons.exception.ConfigurationException; import org.apache.iotdb.commons.exception.StartupException; @@ -44,6 +46,7 @@ public class ConfigNodeStartupCheck extends StartupChecks { private static final Logger LOGGER = LoggerFactory.getLogger(ConfigNodeStartupCheck.class); private static final ConfigNodeConfig CONF = ConfigNodeDescriptor.getInstance().getConf(); + private static final CommonConfig COMMON_CONFIG = CommonDescriptor.getInstance().getConfig(); private static final int CONFIGNODE_PORTS = 2; @@ -165,6 +168,19 @@ public class ConfigNodeStartupCheck extends StartupChecks { if (CONF.getDefaultDataRegionGroupNumPerDatabase() <= 0) { throw new ConfigurationException("The default_data_region_group_num should be positive"); } + + // Check time partition interval + if (COMMON_CONFIG.getTimePartitionInterval() <= 0) { + throw new ConfigurationException("The time_partition_interval should be positive"); + } + + // Check timestamp precision + String timestampPrecision = COMMON_CONFIG.getTimestampPrecision(); + if (!("ms".equals(timestampPrecision) + || "us".equals(timestampPrecision) + || "ns".equals(timestampPrecision))) { + throw new ConfigurationException("The timestamp_precision should be ms, us or ns"); + } } private void createDirsIfNecessary() throws IOException { diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/conf/SystemPropertiesUtils.java b/confignode/src/main/java/org/apache/iotdb/confignode/conf/SystemPropertiesUtils.java index 5a304fe610d..b9ac61a07e4 100644 --- a/confignode/src/main/java/org/apache/iotdb/confignode/conf/SystemPropertiesUtils.java +++ b/confignode/src/main/java/org/apache/iotdb/confignode/conf/SystemPropertiesUtils.java @@ -19,8 +19,10 @@ package org.apache.iotdb.confignode.conf; import org.apache.iotdb.common.rpc.thrift.TConfigNodeLocation; +import org.apache.iotdb.commons.conf.CommonConfig; +import org.apache.iotdb.commons.conf.CommonDescriptor; +import org.apache.iotdb.commons.conf.IoTDBConstant; import org.apache.iotdb.commons.exception.BadNodeUrlException; -import org.apache.iotdb.commons.exception.ConfigurationException; import org.apache.iotdb.commons.utils.NodeUrlUtils; import org.slf4j.Logger; @@ -49,6 +51,7 @@ public class SystemPropertiesUtils { + ConfigNodeConstant.SYSTEM_FILE_NAME); private static final ConfigNodeConfig conf = ConfigNodeDescriptor.getInstance().getConf(); + private static final CommonConfig COMMON_CONFIG = CommonDescriptor.getInstance().getConfig(); /** * Check if the ConfigNode is restarted @@ -64,31 +67,29 @@ public class SystemPropertiesUtils { * interface when restarted * * @throws IOException When read the confignode-system.properties file failed - * @throws ConfigurationException When some system parameters are inconsistent */ - public static void checkSystemProperties() throws IOException, ConfigurationException { + public static void checkSystemProperties() throws IOException { Properties systemProperties = getSystemProperties(); boolean needReWrite = false; + final String format = + "[SystemProperties] The parameter \"{}\" can't be modified after first startup." + + " Your configuration: {} will be forced update to: {}"; - // Startup configuration + // Cluster configuration String clusterName = systemProperties.getProperty(CLUSTER_NAME, null); - if (clusterName != null && !clusterName.equals(conf.getClusterName())) { - throw new ConfigurationException( - CLUSTER_NAME, - conf.getClusterName(), - clusterName, - "cluster_name can't be modified after first startup"); + if (clusterName == null) { + needReWrite = true; + } else if (!clusterName.equals(conf.getClusterName())) { + LOGGER.warn(format, CLUSTER_NAME, conf.getClusterName(), clusterName); + conf.setClusterName(clusterName); } String internalAddress = systemProperties.getProperty("cn_internal_address", null); if (internalAddress == null) { needReWrite = true; } else if (!internalAddress.equals(conf.getInternalAddress())) { - throw new ConfigurationException( - "cn_internal_address", - conf.getInternalAddress(), - internalAddress, - "cn_internal_address can't be modified after first startup"); + LOGGER.warn(format, "cn_internal_address", conf.getInternalAddress(), internalAddress); + conf.setInternalAddress(internalAddress); } if (systemProperties.getProperty("cn_internal_port", null) == null) { @@ -96,11 +97,8 @@ public class SystemPropertiesUtils { } else { int internalPort = Integer.parseInt(systemProperties.getProperty("cn_internal_port")); if (internalPort != conf.getInternalPort()) { - throw new ConfigurationException( - "cn_internal_port", - String.valueOf(conf.getInternalPort()), - String.valueOf(internalPort), - "cn_internal_port can't be modified after first startup"); + LOGGER.warn(format, "cn_internal_port", conf.getInternalPort(), internalPort); + conf.setInternalPort(internalPort); } } @@ -109,17 +107,11 @@ public class SystemPropertiesUtils { } else { int consensusPort = Integer.parseInt(systemProperties.getProperty("cn_consensus_port")); if (consensusPort != conf.getConsensusPort()) { - throw new ConfigurationException( - "cn_consensus_port", - String.valueOf(conf.getConsensusPort()), - String.valueOf(consensusPort), - "cn_consensus_port can't be modified after first startup"); + LOGGER.warn(format, "cn_consensus_port", conf.getConsensusPort(), consensusPort); + conf.setConsensusPort(consensusPort); } } - final String format = - "[SystemProperties] The parameter \"{}\" can't be modified after first startup." - + " Your configuration: {} will be forced update to: {}"; // Consensus protocol configuration String configNodeConsensusProtocolClass = systemProperties.getProperty("config_node_consensus_protocol_class", null); @@ -222,6 +214,8 @@ public class SystemPropertiesUtils { public static void storeSystemParameters() throws IOException { Properties systemProperties = getSystemProperties(); + systemProperties.setProperty("iotdb_version", IoTDBConstant.VERSION); + // Cluster configuration systemProperties.setProperty("cluster_name", conf.getClusterName()); LOGGER.info("[SystemProperties] store cluster_name: {}", conf.getClusterName()); @@ -252,6 +246,14 @@ public class SystemPropertiesUtils { "series_partition_slot_num", String.valueOf(conf.getSeriesSlotNum())); systemProperties.setProperty( "series_partition_executor_class", conf.getSeriesPartitionExecutorClass()); + systemProperties.setProperty( + "time_partition_interval", String.valueOf(COMMON_CONFIG.getTimePartitionInterval())); + systemProperties.setProperty("timestamp_precision", COMMON_CONFIG.getTimestampPrecision()); + + // DataNode Functions + systemProperties.setProperty("schema_engine_mode", COMMON_CONFIG.getSchemaEngineMode()); + systemProperties.setProperty( + "tag_attribute_total_size", String.valueOf(COMMON_CONFIG.getTagAttributeTotalSize())); storeSystemProperties(systemProperties); } diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java index 18880cf9597..aa9c46f6db6 100644 --- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java +++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java @@ -475,7 +475,7 @@ public class ConfigManager implements IManager { clusterParameters.setSeriesPartitionSlotNum(CONF.getSeriesSlotNum()); clusterParameters.setSeriesPartitionExecutorClass(CONF.getSeriesPartitionExecutorClass()); clusterParameters.setDefaultTTL(COMMON_CONF.getDefaultTTLInMs()); - clusterParameters.setTimePartitionInterval(CONF.getTimePartitionInterval()); + clusterParameters.setTimePartitionInterval(COMMON_CONF.getTimePartitionInterval()); clusterParameters.setDataReplicationFactor(CONF.getDataReplicationFactor()); clusterParameters.setSchemaReplicationFactor(CONF.getSchemaReplicationFactor()); clusterParameters.setDataRegionPerDataNode(CONF.getDataRegionPerDataNode()); @@ -483,6 +483,8 @@ public class ConfigManager implements IManager { clusterParameters.setDiskSpaceWarningThreshold(COMMON_CONF.getDiskSpaceWarningThreshold()); clusterParameters.setReadConsistencyLevel(CONF.getReadConsistencyLevel()); clusterParameters.setTimestampPrecision(COMMON_CONF.getTimestampPrecision()); + clusterParameters.setSchemaEngineMode(COMMON_CONF.getSchemaEngineMode()); + clusterParameters.setTagAttributeTotalSize(COMMON_CONF.getTagAttributeTotalSize()); return clusterParameters; } @@ -1072,7 +1074,7 @@ public class ConfigManager implements IManager { != CommonDescriptor.getInstance().getConfig().getDefaultTTLInMs()) { return errorStatus.setMessage(errorPrefix + "default_ttl" + errorSuffix); } - if (clusterParameters.getTimePartitionInterval() != CONF.getTimePartitionInterval()) { + if (clusterParameters.getTimePartitionInterval() != COMMON_CONF.getTimePartitionInterval()) { return errorStatus.setMessage(errorPrefix + "time_partition_interval" + errorSuffix); } @@ -1095,10 +1097,22 @@ public class ConfigManager implements IManager { } if (clusterParameters.getDiskSpaceWarningThreshold() - != CommonDescriptor.getInstance().getConfig().getDiskSpaceWarningThreshold()) { + != COMMON_CONF.getDiskSpaceWarningThreshold()) { return errorStatus.setMessage(errorPrefix + "disk_space_warning_threshold" + errorSuffix); } + if (!clusterParameters.getTimestampPrecision().equals(COMMON_CONF.getTimestampPrecision())) { + return errorStatus.setMessage(errorPrefix + "timestamp_precision" + errorSuffix); + } + + if (!clusterParameters.getSchemaEngineMode().equals(COMMON_CONF.getSchemaEngineMode())) { + return errorStatus.setMessage(errorPrefix + "schema_engine_mode" + errorSuffix); + } + + if (clusterParameters.getTagAttributeTotalSize() != COMMON_CONF.getTagAttributeTotalSize()) { + return errorStatus.setMessage(errorPrefix + "tag_attribute_total_size" + errorSuffix); + } + return null; } diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/partition/GreedyPartitionAllocator.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/partition/GreedyPartitionAllocator.java index 3ad5cb0a5f1..fae897091df 100644 --- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/partition/GreedyPartitionAllocator.java +++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/partition/GreedyPartitionAllocator.java @@ -22,6 +22,7 @@ import org.apache.iotdb.common.rpc.thrift.TConsensusGroupId; import org.apache.iotdb.common.rpc.thrift.TConsensusGroupType; import org.apache.iotdb.common.rpc.thrift.TSeriesPartitionSlot; import org.apache.iotdb.common.rpc.thrift.TTimePartitionSlot; +import org.apache.iotdb.commons.conf.CommonDescriptor; import org.apache.iotdb.commons.partition.DataPartitionTable; import org.apache.iotdb.commons.partition.SchemaPartitionTable; import org.apache.iotdb.commons.partition.SeriesPartitionTable; @@ -45,7 +46,8 @@ public class GreedyPartitionAllocator implements IPartitionAllocator { private static final ConfigNodeConfig CONF = ConfigNodeDescriptor.getInstance().getConf(); private static final boolean ENABLE_DATA_PARTITION_INHERIT_POLICY = CONF.isEnableDataPartitionInheritPolicy(); - private static final long TIME_PARTITION_INTERVAL = CONF.getTimePartitionInterval(); + private static final long TIME_PARTITION_INTERVAL = + CommonDescriptor.getInstance().getConfig().getTimePartitionInterval(); private final IManager configManager; diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/node/NodeManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/node/NodeManager.java index 8dcf95789d8..8fb6694fc0e 100644 --- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/node/NodeManager.java +++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/node/NodeManager.java @@ -135,9 +135,12 @@ public class NodeManager { globalConfig.setSeriesPartitionSlotNum(configNodeConfig.getSeriesSlotNum()); globalConfig.setSeriesPartitionExecutorClass( configNodeConfig.getSeriesPartitionExecutorClass()); - globalConfig.setTimePartitionInterval(configNodeConfig.getTimePartitionInterval()); + globalConfig.setTimePartitionInterval(commonConfig.getTimePartitionInterval()); globalConfig.setReadConsistencyLevel(configNodeConfig.getReadConsistencyLevel()); globalConfig.setDiskSpaceWarningThreshold(commonConfig.getDiskSpaceWarningThreshold()); + globalConfig.setTimestampPrecision(commonConfig.getTimestampPrecision()); + globalConfig.setSchemaEngineMode(commonConfig.getSchemaEngineMode()); + globalConfig.setTagAttributeTotalSize(commonConfig.getTagAttributeTotalSize()); dataSet.setGlobalConfig(globalConfig); } diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/partition/PartitionManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/partition/PartitionManager.java index 1d9d4c95756..34f018e23d4 100644 --- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/partition/PartitionManager.java +++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/partition/PartitionManager.java @@ -28,6 +28,8 @@ import org.apache.iotdb.common.rpc.thrift.TTimePartitionSlot; import org.apache.iotdb.commons.cluster.RegionRoleType; import org.apache.iotdb.commons.concurrent.IoTDBThreadPoolFactory; import org.apache.iotdb.commons.concurrent.threadpool.ScheduledExecutorUtil; +import org.apache.iotdb.commons.conf.CommonConfig; +import org.apache.iotdb.commons.conf.CommonDescriptor; import org.apache.iotdb.commons.partition.DataPartitionTable; import org.apache.iotdb.commons.partition.SchemaPartitionTable; import org.apache.iotdb.commons.partition.executor.SeriesPartitionExecutor; @@ -117,6 +119,8 @@ public class PartitionManager { private static final RegionGroupExtensionPolicy DATA_REGION_GROUP_EXTENSION_POLICY = CONF.getDataRegionGroupExtensionPolicy(); + private static final CommonConfig COMMON_CONFIG = CommonDescriptor.getInstance().getConfig(); + private final IManager configManager; private final PartitionInfo partitionInfo; @@ -865,7 +869,7 @@ public class PartitionManager { if (req.isSetTimeStamp()) { plan.setTimeSlotId( new TTimePartitionSlot( - req.getTimeStamp() - req.getTimeStamp() % CONF.getTimePartitionInterval())); + req.getTimeStamp() - req.getTimeStamp() % COMMON_CONFIG.getTimePartitionInterval())); } return (GetRegionIdResp) getConsensusManager().read(plan).getDataset(); } diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceProcessor.java b/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceProcessor.java index 7b657c1080d..313f0ddbd0e 100644 --- a/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceProcessor.java +++ b/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceProcessor.java @@ -309,7 +309,8 @@ public class ConfigNodeRPCServiceProcessor implements IConfigNodeRPCService.Ifac } if (!databaseSchema.isSetTimePartitionInterval()) { - databaseSchema.setTimePartitionInterval(CONFIG_NODE_CONFIG.getTimePartitionInterval()); + databaseSchema.setTimePartitionInterval( + CommonDescriptor.getInstance().getConfig().getTimePartitionInterval()); } else if (databaseSchema.getTimePartitionInterval() <= 0) { errorResp = new TSStatus(TSStatusCode.DATABASE_CONFIG_ERROR.getStatusCode()) diff --git a/integration-test/src/test/java/org/apache/iotdb/confignode/it/utils/ConfigNodeTestUtils.java b/integration-test/src/test/java/org/apache/iotdb/confignode/it/utils/ConfigNodeTestUtils.java index e1588956e2f..2e8a704f2dd 100644 --- a/integration-test/src/test/java/org/apache/iotdb/confignode/it/utils/ConfigNodeTestUtils.java +++ b/integration-test/src/test/java/org/apache/iotdb/confignode/it/utils/ConfigNodeTestUtils.java @@ -213,6 +213,8 @@ public class ConfigNodeTestUtils { clusterParameters.setDiskSpaceWarningThreshold(0.05); clusterParameters.setReadConsistencyLevel("strong"); clusterParameters.setTimestampPrecision("ms"); + clusterParameters.setSchemaEngineMode("Memory"); + clusterParameters.setTagAttributeTotalSize(700); return clusterParameters; } diff --git a/integration-test/src/test/java/org/apache/iotdb/session/it/IoTDBSessionComplexIT.java b/integration-test/src/test/java/org/apache/iotdb/session/it/IoTDBSessionComplexIT.java index e44c40ce992..c79537ed86c 100644 --- a/integration-test/src/test/java/org/apache/iotdb/session/it/IoTDBSessionComplexIT.java +++ b/integration-test/src/test/java/org/apache/iotdb/session/it/IoTDBSessionComplexIT.java @@ -18,7 +18,7 @@ */ package org.apache.iotdb.session.it; -import org.apache.iotdb.db.conf.IoTDBDescriptor; +import org.apache.iotdb.commons.conf.CommonDescriptor; import org.apache.iotdb.isession.ISession; import org.apache.iotdb.isession.SessionDataSet; import org.apache.iotdb.it.env.EnvFactory; @@ -266,7 +266,7 @@ public class IoTDBSessionComplexIT { private void insertRecords(ISession session, List<String> deviceIdList) throws IoTDBConnectionException, StatementExecutionException { - long timePartition = IoTDBDescriptor.getInstance().getConfig().getTimePartitionInterval(); + long timePartition = CommonDescriptor.getInstance().getConfig().getTimePartitionInterval(); List<String> measurements = new ArrayList<>(); measurements.add("s1"); @@ -315,7 +315,7 @@ public class IoTDBSessionComplexIT { private void insertMultiTablets(ISession session, List<String> deviceIdList) throws IoTDBConnectionException, StatementExecutionException { - long timePartition = IoTDBDescriptor.getInstance().getConfig().getTimePartitionInterval(); + long timePartition = CommonDescriptor.getInstance().getConfig().getTimePartitionInterval(); List<MeasurementSchema> schemaList = new ArrayList<>(); schemaList.add(new MeasurementSchema("s1", TSDataType.INT64)); schemaList.add(new MeasurementSchema("s2", TSDataType.INT64)); @@ -343,7 +343,7 @@ public class IoTDBSessionComplexIT { private void insertRecordsOfOneDevice(ISession session, String deviceId) throws IoTDBConnectionException, StatementExecutionException { - long timePartition = IoTDBDescriptor.getInstance().getConfig().getTimePartitionInterval(); + long timePartition = CommonDescriptor.getInstance().getConfig().getTimePartitionInterval(); List<String> measurements = new ArrayList<>(); measurements.add("s1"); diff --git a/iotdb-protocol/thrift-confignode/src/main/thrift/confignode.thrift b/iotdb-protocol/thrift-confignode/src/main/thrift/confignode.thrift index 66b402ba5b7..8ad6fc9ac76 100644 --- a/iotdb-protocol/thrift-confignode/src/main/thrift/confignode.thrift +++ b/iotdb-protocol/thrift-confignode/src/main/thrift/confignode.thrift @@ -37,6 +37,9 @@ struct TGlobalConfig { 5: required i64 timePartitionInterval 6: required string readConsistencyLevel 7: required double diskSpaceWarningThreshold + 8: optional string timestampPrecision + 9: optional string schemaEngineMode + 10: optional i32 tagAttributeTotalSize } struct TRatisConfig { @@ -353,6 +356,8 @@ struct TClusterParameters { 13: required string seriesPartitionExecutorClass 14: required double diskSpaceWarningThreshold 15: required string timestampPrecision + 16: optional string schemaEngineMode + 17: optional i32 tagAttributeTotalSize } struct TConfigNodeRegisterReq { diff --git a/node-commons/src/assembly/resources/conf/iotdb-common.properties b/node-commons/src/assembly/resources/conf/iotdb-common.properties index 1f91d8aae69..f288c88d634 100644 --- a/node-commons/src/assembly/resources/conf/iotdb-common.properties +++ b/node-commons/src/assembly/resources/conf/iotdb-common.properties @@ -803,10 +803,6 @@ cluster_name=defaultCluster # And it is also used as the default compressor of time column in aligned timeseries. # compressor=SNAPPY -# Maximum degree of a metadataIndex node, default value is 256 -# Datatype: int -# max_degree_of_index_node=256 - # time interval in minute for calculating query frequency # Datatype: int # frequency_interval_in_minute=1 diff --git a/node-commons/src/main/java/org/apache/iotdb/commons/conf/CommonConfig.java b/node-commons/src/main/java/org/apache/iotdb/commons/conf/CommonConfig.java index b01128cefcc..d4f768fc0c4 100644 --- a/node-commons/src/main/java/org/apache/iotdb/commons/conf/CommonConfig.java +++ b/node-commons/src/main/java/org/apache/iotdb/commons/conf/CommonConfig.java @@ -130,6 +130,10 @@ public class CommonConfig { /** Ip and port of target ML node. */ private TEndPoint targetMLNodeEndPoint = new TEndPoint("127.0.0.1", 10810); + /** Time partition interval in milliseconds */ + private long timePartitionInterval = 604_800_000; + + /** This variable set timestamp precision as millisecond, microsecond or nanosecond. */ private String timestampPrecision = "ms"; /** Pipe related */ @@ -140,7 +144,7 @@ public class CommonConfig { */ private String pipeHardlinkTsFileDirName = "pipe"; - /** The maximum number of threads that can be used to execute subtasks in PipeSubtaskExecutor */ + /** The maximum number of threads that can be used to execute subtasks in PipeSubtaskExecutor. */ private int pipeSubtaskExecutorMaxThreadNum = 5; private int pipeSubtaskExecutorBasicCheckPointIntervalByConsumedEventCount = 10_000; @@ -161,6 +165,15 @@ public class CommonConfig { private long pipeMetaSyncerInitialSyncDelayMinutes = 3; private long pipeMetaSyncerSyncIntervalMinutes = 3; + /** whether to use persistent schema mode. */ + private String schemaEngineMode = "Memory"; + + /** Whether to enable Last cache. */ + private boolean lastCacheEnable = true; + + // max size for tag and attribute of one time series + private int tagAttributeTotalSize = 700; + CommonConfig() {} public void updatePath(String homeDir) { @@ -413,7 +426,23 @@ public class CommonConfig { isStopping = stopping; } + public long getTimePartitionInterval() { + return timePartitionInterval; + } + + public void setTimePartitionInterval(long timePartitionInterval) { + this.timePartitionInterval = timePartitionInterval; + } + public void setTimestampPrecision(String timestampPrecision) { + if (!("ms".equals(timestampPrecision) + || "us".equals(timestampPrecision) + || "ns".equals(timestampPrecision))) { + logger.error( + "Wrong timestamp precision, please set as: ms, us or ns ! Current is: {}", + timestampPrecision); + System.exit(-1); + } this.timestampPrecision = timestampPrecision; } @@ -550,4 +579,28 @@ public class CommonConfig { this.pipeSubtaskExecutorPendingQueueMaxBlockingTimeMs = pipeSubtaskExecutorPendingQueueMaxBlockingTimeMs; } + + public String getSchemaEngineMode() { + return schemaEngineMode; + } + + public void setSchemaEngineMode(String schemaEngineMode) { + this.schemaEngineMode = schemaEngineMode; + } + + public boolean isLastCacheEnable() { + return lastCacheEnable; + } + + public void setLastCacheEnable(boolean lastCacheEnable) { + this.lastCacheEnable = lastCacheEnable; + } + + public int getTagAttributeTotalSize() { + return tagAttributeTotalSize; + } + + public void setTagAttributeTotalSize(int tagAttributeTotalSize) { + this.tagAttributeTotalSize = tagAttributeTotalSize; + } } diff --git a/node-commons/src/main/java/org/apache/iotdb/commons/conf/CommonDescriptor.java b/node-commons/src/main/java/org/apache/iotdb/commons/conf/CommonDescriptor.java index d2410d1cba3..2ab38b9dbb4 100644 --- a/node-commons/src/main/java/org/apache/iotdb/commons/conf/CommonDescriptor.java +++ b/node-commons/src/main/java/org/apache/iotdb/commons/conf/CommonDescriptor.java @@ -21,6 +21,7 @@ package org.apache.iotdb.commons.conf; import org.apache.iotdb.commons.enums.HandleSystemErrorStrategy; import org.apache.iotdb.commons.exception.BadNodeUrlException; +import org.apache.iotdb.commons.utils.CommonDateTimeUtils; import org.apache.iotdb.commons.utils.NodeUrlUtils; import org.apache.iotdb.confignode.rpc.thrift.TGlobalConfig; @@ -212,6 +213,22 @@ public class CommonDescriptor { "Illegal target MLNode endpoint url format in config file: {}, use default configuration.", endPointUrl); } + + config.setSchemaEngineMode( + properties.getProperty("schema_engine_mode", String.valueOf(config.getSchemaEngineMode()))); + + config.setLastCacheEnable( + Boolean.parseBoolean( + properties.getProperty( + "enable_last_cache", Boolean.toString(config.isLastCacheEnable())))); + if (config.getSchemaEngineMode().equals("Rocksdb_based")) { + config.setLastCacheEnable(false); + } + + config.setTagAttributeTotalSize( + Integer.parseInt( + properties.getProperty( + "tag_attribute_total_size", String.valueOf(config.getTagAttributeTotalSize())))); } private void loadPipeProps(Properties properties) { @@ -300,6 +317,12 @@ public class CommonDescriptor { } public void loadGlobalConfig(TGlobalConfig globalConfig) { + config.setTimePartitionInterval( + CommonDateTimeUtils.convertMilliTimeWithPrecision( + globalConfig.timePartitionInterval, config.getTimestampPrecision())); + config.setTimestampPrecision(globalConfig.timestampPrecision); + config.setSchemaEngineMode(globalConfig.schemaEngineMode); + config.setTagAttributeTotalSize(globalConfig.tagAttributeTotalSize); config.setDiskSpaceWarningThreshold(globalConfig.getDiskSpaceWarningThreshold()); } } diff --git a/node-commons/src/main/java/org/apache/iotdb/commons/utils/CommonDateTimeUtils.java b/node-commons/src/main/java/org/apache/iotdb/commons/utils/CommonDateTimeUtils.java new file mode 100644 index 00000000000..3d65058abc9 --- /dev/null +++ b/node-commons/src/main/java/org/apache/iotdb/commons/utils/CommonDateTimeUtils.java @@ -0,0 +1,42 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.iotdb.commons.utils; + +public class CommonDateTimeUtils { + + public CommonDateTimeUtils() { + // Empty constructor + } + + public static long convertMilliTimeWithPrecision(long milliTime, String timePrecision) { + long result = milliTime; + switch (timePrecision) { + case "ns": + result = milliTime * 1000_000L; + break; + case "us": + result = milliTime * 1000L; + break; + default: + break; + } + return result; + } +} diff --git a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java index 004bef1d107..7c3bd482d40 100644 --- a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java +++ b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java @@ -175,9 +175,6 @@ public class IoTDBConfig { /** When inserting rejected exceeds this, throw an exception. Unit: millisecond */ private int maxWaitingTimeWhenInsertBlockedInMs = 10000; - /** this variable set timestamp precision as millisecond, microsecond or nanosecond */ - private String timestampPrecision = "ms"; - // region Write Ahead Log Configuration /** Write mode of wal */ private volatile WALMode walMode = WALMode.ASYNC; @@ -566,9 +563,6 @@ public class IoTDBConfig { */ private boolean enableQueryMemoryEstimation = true; - /** Whether to enable Last cache */ - private boolean lastCacheEnable = true; - /** Cache size of {@code checkAndGetDataTypeCache}. */ private int mRemoteSchemaCacheSize = 100000; @@ -759,9 +753,6 @@ public class IoTDBConfig { /** The default value of primitive array size in array pool */ private int primitiveArraySize = 64; - /** Time partition interval in milliseconds */ - private long timePartitionInterval = 604_800_000; - /** * Level of TimeIndex, which records the start time and end time of TsFileResource. Currently, * DEVICE_TIME_INDEX and FILE_TIME_INDEX are supported, and could not be changed after first set. @@ -772,9 +763,6 @@ public class IoTDBConfig { // wait for 60 second by default. private int thriftServerAwaitTimeForStopService = 60; - // max size for tag and attribute of one time series - private int tagAttributeTotalSize = 700; - // Interval num of tag and attribute records when force flushing to disk private int tagAttributeFlushInterval = 1000; @@ -850,9 +838,6 @@ public class IoTDBConfig { */ private boolean enableIDTableLogFile = false; - /** whether to use persistent schema mode */ - private String schemaEngineMode = "Memory"; - /** the memory used for metadata cache when using persistent schema */ private int cachedMNodeSizeInPBTreeMode = -1; @@ -1201,14 +1186,6 @@ public class IoTDBConfig { this.defaultFillInterval = defaultFillInterval; } - public long getTimePartitionInterval() { - return timePartitionInterval; - } - - public void setTimePartitionInterval(long timePartitionInterval) { - this.timePartitionInterval = timePartitionInterval; - } - public TimeIndexLevel getTimeIndexLevel() { return timeIndexLevel; } @@ -1378,22 +1355,6 @@ public class IoTDBConfig { this.rpcPort = rpcPort; } - public String getTimestampPrecision() { - return timestampPrecision; - } - - public void setTimestampPrecision(String timestampPrecision) { - if (!("ms".equals(timestampPrecision) - || "us".equals(timestampPrecision) - || "ns".equals(timestampPrecision))) { - logger.error( - "Wrong timestamp precision, please set as: ms, us or ns ! Current is: {}", - timestampPrecision); - System.exit(-1); - } - this.timestampPrecision = timestampPrecision; - } - public boolean isEnableDiscardOutOfOrderData() { return enableDiscardOutOfOrderData; } @@ -2195,14 +2156,6 @@ public class IoTDBConfig { this.enableQueryMemoryEstimation = enableQueryMemoryEstimation; } - public boolean isLastCacheEnabled() { - return lastCacheEnable; - } - - public void setEnableLastCache(boolean lastCacheEnable) { - this.lastCacheEnable = lastCacheEnable; - } - public boolean isAutoCreateSchemaEnabled() { return enableAutoCreateSchema; } @@ -2518,14 +2471,6 @@ public class IoTDBConfig { this.mqttMaxMessageSize = mqttMaxMessageSize; } - public int getTagAttributeTotalSize() { - return tagAttributeTotalSize; - } - - public void setTagAttributeTotalSize(int tagAttributeTotalSize) { - this.tagAttributeTotalSize = tagAttributeTotalSize; - } - public int getTagAttributeFlushInterval() { return tagAttributeFlushInterval; } @@ -2925,14 +2870,6 @@ public class IoTDBConfig { this.enableIDTableLogFile = enableIDTableLogFile; } - public String getSchemaEngineMode() { - return schemaEngineMode; - } - - public void setSchemaEngineMode(String schemaEngineMode) { - this.schemaEngineMode = schemaEngineMode; - } - public int getCachedMNodeSizeInPBTreeMode() { return cachedMNodeSizeInPBTreeMode; } diff --git a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java index edf1b124da0..3f26f47866f 100644 --- a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java +++ b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java @@ -299,9 +299,6 @@ public class IoTDBDescriptor { .getProperty("mlnode_rpc_port", Integer.toString(conf.getMLNodePort())) .trim())); - conf.setTimestampPrecision( - properties.getProperty("timestamp_precision", conf.getTimestampPrecision()).trim()); - conf.setBufferedArraysMemoryProportion( Double.parseDouble( properties @@ -782,11 +779,6 @@ public class IoTDBDescriptor { properties.getProperty( "default_fill_interval", String.valueOf(conf.getDefaultFillInterval())))); - conf.setTagAttributeTotalSize( - Integer.parseInt( - properties.getProperty( - "tag_attribute_total_size", String.valueOf(conf.getTagAttributeTotalSize())))); - conf.setTagAttributeFlushInterval( Integer.parseInt( properties.getProperty( @@ -870,18 +862,6 @@ public class IoTDBDescriptor { properties.getProperty( "enable_id_table_log_file", String.valueOf(conf.isEnableIDTableLogFile())))); - conf.setSchemaEngineMode( - properties.getProperty("schema_engine_mode", String.valueOf(conf.getSchemaEngineMode()))); - - conf.setEnableLastCache( - Boolean.parseBoolean( - properties.getProperty( - "enable_last_cache", Boolean.toString(conf.isLastCacheEnabled())))); - - if (conf.getSchemaEngineMode().equals("Rocksdb_based")) { - conf.setEnableLastCache(false); - } - conf.setCachedMNodeSizeInPBTreeMode( Integer.parseInt( properties.getProperty( @@ -1936,7 +1916,7 @@ public class IoTDBDescriptor { conf.setContinuousQueryMinimumEveryInterval( DateTimeUtils.convertDurationStrToLong( properties.getProperty("continuous_query_minimum_every_interval", "1s"), - conf.getTimestampPrecision())); + CommonDescriptor.getInstance().getConfig().getTimestampPrecision())); } public void loadClusterProps(Properties properties) { @@ -2042,9 +2022,6 @@ public class IoTDBDescriptor { public void loadGlobalConfig(TGlobalConfig globalConfig) { conf.setSeriesPartitionExecutorClass(globalConfig.getSeriesPartitionExecutorClass()); conf.setSeriesPartitionSlotNum(globalConfig.getSeriesPartitionSlotNum()); - conf.setTimePartitionInterval( - DateTimeUtils.convertMilliTimeWithPrecision( - globalConfig.timePartitionInterval, conf.getTimestampPrecision())); conf.setReadConsistencyLevel(globalConfig.getReadConsistencyLevel()); } diff --git a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBStartCheck.java b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBStartCheck.java index 20680724bae..49254e93b6b 100644 --- a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBStartCheck.java +++ b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBStartCheck.java @@ -29,7 +29,6 @@ import org.apache.iotdb.consensus.ConsensusFactory; import org.apache.iotdb.db.conf.directories.DirectoryChecker; import org.apache.iotdb.db.wal.utils.WALMode; import org.apache.iotdb.tsfile.common.conf.TSFileConfig; -import org.apache.iotdb.tsfile.common.conf.TSFileDescriptor; import org.apache.commons.io.FileUtils; import org.slf4j.Logger; @@ -71,43 +70,8 @@ public class IoTDBStartCheck { // region params need checking, determined when first start private static final String SYSTEM_PROPERTIES_STRING = "System properties:"; - private static final String TIMESTAMP_PRECISION_STRING = "timestamp_precision"; - private static final String PARTITION_INTERVAL_STRING = "time_partition_interval"; - private static final String TSFILE_FILE_SYSTEM_STRING = "tsfile_storage_fs"; - private static final String TAG_ATTRIBUTE_SIZE_STRING = "tag_attribute_total_size"; - private static final String TAG_ATTRIBUTE_FLUSH_INTERVAL = "tag_attribute_flush_interval"; - private static final String MAX_DEGREE_OF_INDEX_STRING = "max_degree_of_index_node"; private static final String DATA_REGION_NUM = "data_region_num"; - private static final String ENABLE_ID_TABLE = "enable_id_table"; - private static final String ENABLE_ID_TABLE_LOG_FILE = "enable_id_table_log_file"; - private static final String SCHEMA_ENGINE_MODE = "schema_engine_mode"; - private static final String TIME_ENCODER_KEY = "time_encoder"; - // Immutable system parameters - private static final Map<String, Supplier<String>> constantParamValueTable = new HashMap<>(); - - static { - constantParamValueTable.put(TIMESTAMP_PRECISION_STRING, config::getTimestampPrecision); - constantParamValueTable.put( - PARTITION_INTERVAL_STRING, () -> String.valueOf(config.getTimePartitionInterval())); - constantParamValueTable.put( - TSFILE_FILE_SYSTEM_STRING, () -> config.getTsFileStorageFs().toString()); - constantParamValueTable.put( - TAG_ATTRIBUTE_SIZE_STRING, () -> String.valueOf(config.getTagAttributeTotalSize())); - constantParamValueTable.put( - TAG_ATTRIBUTE_FLUSH_INTERVAL, () -> String.valueOf(config.getTagAttributeFlushInterval())); - constantParamValueTable.put( - MAX_DEGREE_OF_INDEX_STRING, - () -> String.valueOf(TSFileDescriptor.getInstance().getConfig().getMaxDegreeOfIndexNode())); - constantParamValueTable.put(DATA_REGION_NUM, () -> String.valueOf(config.getDataRegionNum())); - constantParamValueTable.put(ENABLE_ID_TABLE, () -> String.valueOf(config.isEnableIDTable())); - constantParamValueTable.put( - ENABLE_ID_TABLE_LOG_FILE, () -> String.valueOf(config.isEnableIDTableLogFile())); - constantParamValueTable.put( - SCHEMA_ENGINE_MODE, () -> String.valueOf(config.getSchemaEngineMode())); - constantParamValueTable.put( - TIME_ENCODER_KEY, TSFileDescriptor.getInstance().getConfig()::getTimeEncoder); - } // endregion // region params don't need checking and can be updated private static final String INTERNAL_ADDRESS = "dn_internal_address"; @@ -154,9 +118,7 @@ public class IoTDBStartCheck { } private String getVal(String paramName) { - if (constantParamValueTable.containsKey(paramName)) { - return constantParamValueTable.get(paramName).get(); - } else if (variableParamValueTable.containsKey(paramName)) { + if (variableParamValueTable.containsKey(paramName)) { return variableParamValueTable.get(paramName).get(); } else { return null; @@ -184,28 +146,7 @@ public class IoTDBStartCheck { SystemFileFactory.INSTANCE.getFile( IoTDBStartCheck.SCHEMA_DIR + File.separator + PROPERTIES_FILE_NAME + ".tmp"); - // Check time stamp precision - String timestampPrecision = getVal(TIMESTAMP_PRECISION_STRING); - if (!("ms".equals(timestampPrecision) - || "us".equals(timestampPrecision) - || "ns".equals(timestampPrecision))) { - logger.error( - "Wrong {}, please set as: ms, us or ns ! Current is: {}", - TIMESTAMP_PRECISION_STRING, - timestampPrecision); - System.exit(-1); - } - - // check partition interval - if (Long.parseLong(getVal(PARTITION_INTERVAL_STRING)) <= 0) { - logger.error("Time partition interval must larger than 0!"); - System.exit(-1); - } - systemProperties.put(IOTDB_VERSION_STRING, () -> IoTDBConstant.VERSION); - for (String param : constantParamValueTable.keySet()) { - systemProperties.put(param, () -> getVal(param)); - } for (String param : variableParamValueTable.keySet()) { systemProperties.put(param, () -> getVal(param)); } @@ -414,7 +355,7 @@ public class IoTDBStartCheck { } /** Check all immutable properties */ - private void checkImmutableSystemProperties() throws ConfigurationException, IOException { + private void checkImmutableSystemProperties() throws IOException { for (Entry<String, Supplier<String>> entry : systemProperties.entrySet()) { if (!properties.containsKey(entry.getKey())) { upgradePropertiesFileFromBrokenFile(); @@ -422,12 +363,6 @@ public class IoTDBStartCheck { } } - for (String param : constantParamValueTable.keySet()) { - if (!(properties.getProperty(param).equals(getVal(param)))) { - throwException(param, getVal(param)); - } - } - // load configuration from system properties only when start as Data node if (properties.containsKey(IoTDBConstant.CLUSTER_NAME)) { config.setClusterName(properties.getProperty(IoTDBConstant.CLUSTER_NAME)); diff --git a/server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java b/server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java index b656d5a523f..b44d51aa72e 100644 --- a/server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java +++ b/server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java @@ -151,7 +151,7 @@ public class StorageEngine implements IService { } private static void initTimePartition() { - timePartitionInterval = IoTDBDescriptor.getInstance().getConfig().getTimePartitionInterval(); + timePartitionInterval = CommonDescriptor.getInstance().getConfig().getTimePartitionInterval(); } public static long getTimePartitionInterval() { diff --git a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegion.java b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegion.java index 5526a74b9fd..de9a822facf 100644 --- a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegion.java +++ b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegion.java @@ -33,6 +33,7 @@ import org.apache.iotdb.commons.file.SystemFileFactory; import org.apache.iotdb.commons.path.PartialPath; import org.apache.iotdb.commons.service.metric.MetricService; import org.apache.iotdb.commons.service.metric.PerformanceOverviewMetrics; +import org.apache.iotdb.commons.utils.CommonDateTimeUtils; import org.apache.iotdb.commons.utils.TestOnly; import org.apache.iotdb.consensus.ConsensusFactory; import org.apache.iotdb.db.conf.IoTDBConfig; @@ -1148,7 +1149,7 @@ public class DataRegion implements IDataRegionForQuery { } private void tryToUpdateBatchInsertLastCache(InsertTabletNode node, long latestFlushedTime) { - if (!IoTDBDescriptor.getInstance().getConfig().isLastCacheEnabled() + if (!CommonDescriptor.getInstance().getConfig().isLastCacheEnable() || (config.getDataRegionConsensusProtocolClass().equals(ConsensusFactory.IOT_CONSENSUS) && node.isSyncFromLeaderWhenUsingIoTConsensus())) { // disable updating last cache on follower @@ -1202,7 +1203,7 @@ public class DataRegion implements IDataRegionForQuery { } private void tryToUpdateInsertLastCache(InsertRowNode node, long latestFlushedTime) { - if (!IoTDBDescriptor.getInstance().getConfig().isLastCacheEnabled() + if (!CommonDescriptor.getInstance().getConfig().isLastCacheEnable() || (config.getDataRegionConsensusProtocolClass().equals(ConsensusFactory.IOT_CONSENSUS) && node.isSyncFromLeaderWhenUsingIoTConsensus())) { // disable updating last cache on follower @@ -1633,7 +1634,7 @@ public class DataRegion implements IDataRegionForQuery { resource.getTsFilePath(), new Date(ttlLowerBound), dataTTL, - config.getTimestampPrecision()); + CommonDescriptor.getInstance().getConfig().getTimestampPrecision()); } finally { resource.writeUnlock(); } @@ -2357,7 +2358,7 @@ public class DataRegion implements IDataRegionForQuery { } private void resetLastCacheWhenLoadingTsFile() throws IllegalPathException { - if (!IoTDBDescriptor.getInstance().getConfig().isLastCacheEnabled()) { + if (!CommonDescriptor.getInstance().getConfig().isLastCacheEnable()) { return; } DataNodeSchemaCache.getInstance().takeWriteLock(); @@ -2744,8 +2745,8 @@ public class DataRegion implements IDataRegionForQuery { public void setDataTTLWithTimePrecisionCheck(long dataTTL) { if (dataTTL != Long.MAX_VALUE) { dataTTL = - DateTimeUtils.convertMilliTimeWithPrecision( - dataTTL, IoTDBDescriptor.getInstance().getConfig().getTimestampPrecision()); + CommonDateTimeUtils.convertMilliTimeWithPrecision( + dataTTL, CommonDescriptor.getInstance().getConfig().getTimestampPrecision()); } this.dataTTL = dataTTL; } diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/cache/DataNodeLastCacheManager.java b/server/src/main/java/org/apache/iotdb/db/metadata/cache/DataNodeLastCacheManager.java index 7417160f47e..1ac491e5275 100644 --- a/server/src/main/java/org/apache/iotdb/db/metadata/cache/DataNodeLastCacheManager.java +++ b/server/src/main/java/org/apache/iotdb/db/metadata/cache/DataNodeLastCacheManager.java @@ -19,7 +19,7 @@ package org.apache.iotdb.db.metadata.cache; -import org.apache.iotdb.db.conf.IoTDBDescriptor; +import org.apache.iotdb.commons.conf.CommonDescriptor; import org.apache.iotdb.db.metadata.cache.lastCache.container.ILastCacheContainer; import org.apache.iotdb.tsfile.read.TimeValuePair; @@ -30,7 +30,7 @@ public class DataNodeLastCacheManager { private static final Logger logger = LoggerFactory.getLogger(DataNodeLastCacheManager.class); private static final boolean CACHE_ENABLED = - IoTDBDescriptor.getInstance().getConfig().isLastCacheEnabled(); + CommonDescriptor.getInstance().getConfig().isLastCacheEnable(); /** * get the last cache value from time series diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/metric/SchemaEngineMemMetric.java b/server/src/main/java/org/apache/iotdb/db/metadata/metric/SchemaEngineMemMetric.java index 389df823127..999a68e2e5b 100644 --- a/server/src/main/java/org/apache/iotdb/db/metadata/metric/SchemaEngineMemMetric.java +++ b/server/src/main/java/org/apache/iotdb/db/metadata/metric/SchemaEngineMemMetric.java @@ -18,6 +18,7 @@ */ package org.apache.iotdb.db.metadata.metric; +import org.apache.iotdb.commons.conf.CommonDescriptor; import org.apache.iotdb.commons.service.metric.enums.Metric; import org.apache.iotdb.commons.service.metric.enums.Tag; import org.apache.iotdb.consensus.ConsensusFactory; @@ -93,7 +94,7 @@ public class SchemaEngineMemMetric implements ISchemaEngineMetric { Tag.NAME.toString(), REGION_NUMBER); metricService.gauge( - SchemaEngineMode.valueOf(IoTDBDescriptor.getInstance().getConfig().getSchemaEngineMode()) + SchemaEngineMode.valueOf(CommonDescriptor.getInstance().getConfig().getSchemaEngineMode()) .getCode(), Metric.SCHEMA_ENGINE.toString(), MetricLevel.IMPORTANT, diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/metric/SchemaMetricManager.java b/server/src/main/java/org/apache/iotdb/db/metadata/metric/SchemaMetricManager.java index 37327c7a690..f62832a2234 100644 --- a/server/src/main/java/org/apache/iotdb/db/metadata/metric/SchemaMetricManager.java +++ b/server/src/main/java/org/apache/iotdb/db/metadata/metric/SchemaMetricManager.java @@ -18,8 +18,8 @@ */ package org.apache.iotdb.db.metadata.metric; +import org.apache.iotdb.commons.conf.CommonDescriptor; import org.apache.iotdb.commons.service.metric.MetricService; -import org.apache.iotdb.db.conf.IoTDBDescriptor; import org.apache.iotdb.db.metadata.mtree.store.disk.cache.CacheMemoryManager; import org.apache.iotdb.db.metadata.rescon.ISchemaEngineStatistics; import org.apache.iotdb.db.metadata.schemaregion.ISchemaRegion; @@ -35,7 +35,7 @@ public class SchemaMetricManager { private SchemaMetricManager() {} public void init(ISchemaEngineStatistics engineStatistics) { - if (IoTDBDescriptor.getInstance().getConfig().getSchemaEngineMode().equals("Memory")) { + if (CommonDescriptor.getInstance().getConfig().getSchemaEngineMode().equals("Memory")) { engineMetric = new SchemaEngineMemMetric(engineStatistics.getAsMemSchemaEngineStatistics()); } else { SchemaEngineCachedMetric schemaEngineCachedMetric = diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/rescon/SchemaResourceManager.java b/server/src/main/java/org/apache/iotdb/db/metadata/rescon/SchemaResourceManager.java index 457b5a894f0..28e85fd5e5d 100644 --- a/server/src/main/java/org/apache/iotdb/db/metadata/rescon/SchemaResourceManager.java +++ b/server/src/main/java/org/apache/iotdb/db/metadata/rescon/SchemaResourceManager.java @@ -19,7 +19,7 @@ package org.apache.iotdb.db.metadata.rescon; -import org.apache.iotdb.db.conf.IoTDBDescriptor; +import org.apache.iotdb.commons.conf.CommonDescriptor; import org.apache.iotdb.db.metadata.mtree.store.disk.cache.CacheMemoryManager; import org.apache.iotdb.db.metadata.schemaregion.SchemaEngineMode; @@ -28,7 +28,7 @@ public class SchemaResourceManager { private SchemaResourceManager() {} public static void initSchemaResource(ISchemaEngineStatistics engineStatistics) { - if (IoTDBDescriptor.getInstance() + if (CommonDescriptor.getInstance() .getConfig() .getSchemaEngineMode() .equals(SchemaEngineMode.PB_Tree.toString())) { @@ -37,7 +37,7 @@ public class SchemaResourceManager { } public static void clearSchemaResource() { - if (IoTDBDescriptor.getInstance() + if (CommonDescriptor.getInstance() .getConfig() .getSchemaEngineMode() .equals(SchemaEngineMode.PB_Tree.toString())) { diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/SchemaEngine.java b/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/SchemaEngine.java index eef8b139424..a28ddb2dc93 100644 --- a/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/SchemaEngine.java +++ b/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/SchemaEngine.java @@ -21,6 +21,7 @@ package org.apache.iotdb.db.metadata.schemaregion; import org.apache.iotdb.commons.concurrent.IoTDBThreadPoolFactory; import org.apache.iotdb.commons.concurrent.threadpool.ScheduledExecutorUtil; +import org.apache.iotdb.commons.conf.CommonDescriptor; import org.apache.iotdb.commons.consensus.SchemaRegionId; import org.apache.iotdb.commons.exception.IllegalPathException; import org.apache.iotdb.commons.exception.MetadataException; @@ -91,9 +92,11 @@ public class SchemaEngine { } public void init() { - logger.info("used schema engine mode: {}.", config.getSchemaEngineMode()); + logger.info( + "used schema engine mode: {}.", + CommonDescriptor.getInstance().getConfig().getSchemaEngineMode()); - schemaRegionLoader.init(config.getSchemaEngineMode()); + schemaRegionLoader.init(CommonDescriptor.getInstance().getConfig().getSchemaEngineMode()); initSchemaEngineStatistics(); SchemaResourceManager.initSchemaResource(schemaEngineStatistics); @@ -190,7 +193,7 @@ public class SchemaEngine { } private void initSchemaEngineStatistics() { - if (IoTDBDescriptor.getInstance().getConfig().getSchemaEngineMode().equals("Memory")) { + if (CommonDescriptor.getInstance().getConfig().getSchemaEngineMode().equals("Memory")) { schemaEngineStatistics = new MemSchemaEngineStatistics(); } else { schemaEngineStatistics = new CachedSchemaEngineStatistics(); diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/tag/TagLogFile.java b/server/src/main/java/org/apache/iotdb/db/metadata/tag/TagLogFile.java index 07d47d84000..ac3dffd8ba1 100644 --- a/server/src/main/java/org/apache/iotdb/db/metadata/tag/TagLogFile.java +++ b/server/src/main/java/org/apache/iotdb/db/metadata/tag/TagLogFile.java @@ -18,6 +18,7 @@ */ package org.apache.iotdb.db.metadata.tag; +import org.apache.iotdb.commons.conf.CommonDescriptor; import org.apache.iotdb.commons.exception.MetadataException; import org.apache.iotdb.commons.file.SystemFileFactory; import org.apache.iotdb.db.conf.IoTDBDescriptor; @@ -48,7 +49,7 @@ public class TagLogFile implements AutoCloseable { + "Please enlarge tag_attribute_total_size in iotdb-common.properties"; private static final int MAX_LENGTH = - IoTDBDescriptor.getInstance().getConfig().getTagAttributeTotalSize(); + CommonDescriptor.getInstance().getConfig().getTagAttributeTotalSize(); private static final int RECORD_FLUSH_INTERVAL = IoTDBDescriptor.getInstance().getConfig().getTagAttributeFlushInterval(); diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/tag/TagManager.java b/server/src/main/java/org/apache/iotdb/db/metadata/tag/TagManager.java index 428e0ebb7ee..1e1d74ae416 100644 --- a/server/src/main/java/org/apache/iotdb/db/metadata/tag/TagManager.java +++ b/server/src/main/java/org/apache/iotdb/db/metadata/tag/TagManager.java @@ -18,6 +18,8 @@ */ package org.apache.iotdb.db.metadata.tag; +import org.apache.iotdb.commons.conf.CommonConfig; +import org.apache.iotdb.commons.conf.CommonDescriptor; import org.apache.iotdb.commons.exception.MetadataException; import org.apache.iotdb.commons.file.SystemFileFactory; import org.apache.iotdb.commons.path.PartialPath; @@ -64,6 +66,7 @@ public class TagManager { private static final Logger logger = LoggerFactory.getLogger(TagManager.class); private static IoTDBConfig config = IoTDBDescriptor.getInstance().getConfig(); + private static final CommonConfig COMMON_CONFIG = CommonDescriptor.getInstance().getConfig(); private String sgSchemaDirPath; private TagLogFile tagLogFile; @@ -127,7 +130,7 @@ public class TagManager { public boolean recoverIndex(long offset, IMeasurementMNode<?> measurementMNode) throws IOException { - Map<String, String> tags = tagLogFile.readTag(config.getTagAttributeTotalSize(), offset); + Map<String, String> tags = tagLogFile.readTag(COMMON_CONFIG.getTagAttributeTotalSize(), offset); if (tags == null || tags.isEmpty()) { return false; } else { @@ -292,7 +295,7 @@ public class TagManager { return; } Map<String, String> tagMap = - tagLogFile.readTag(config.getTagAttributeTotalSize(), node.getOffset()); + tagLogFile.readTag(COMMON_CONFIG.getTagAttributeTotalSize(), node.getOffset()); if (tagMap != null) { for (Map.Entry<String, String> entry : tagMap.entrySet()) { if (tagIndex.containsKey(entry.getKey()) @@ -338,7 +341,7 @@ public class TagManager { throws MetadataException, IOException { Pair<Map<String, String>, Map<String, String>> pair = - tagLogFile.read(config.getTagAttributeTotalSize(), leafMNode.getOffset()); + tagLogFile.read(COMMON_CONFIG.getTagAttributeTotalSize(), leafMNode.getOffset()); if (tagsMap != null) { for (Map.Entry<String, String> entry : tagsMap.entrySet()) { @@ -402,7 +405,7 @@ public class TagManager { throws MetadataException, IOException { Pair<Map<String, String>, Map<String, String>> pair = - tagLogFile.read(config.getTagAttributeTotalSize(), leafMNode.getOffset()); + tagLogFile.read(COMMON_CONFIG.getTagAttributeTotalSize(), leafMNode.getOffset()); for (Map.Entry<String, String> entry : attributesMap.entrySet()) { String key = entry.getKey(); @@ -430,7 +433,7 @@ public class TagManager { throws MetadataException, IOException { Pair<Map<String, String>, Map<String, String>> pair = - tagLogFile.read(config.getTagAttributeTotalSize(), leafMNode.getOffset()); + tagLogFile.read(COMMON_CONFIG.getTagAttributeTotalSize(), leafMNode.getOffset()); for (Map.Entry<String, String> entry : tagsMap.entrySet()) { String key = entry.getKey(); @@ -459,7 +462,7 @@ public class TagManager { Set<String> keySet, PartialPath fullPath, IMeasurementMNode<?> leafMNode) throws MetadataException, IOException { Pair<Map<String, String>, Map<String, String>> pair = - tagLogFile.read(config.getTagAttributeTotalSize(), leafMNode.getOffset()); + tagLogFile.read(COMMON_CONFIG.getTagAttributeTotalSize(), leafMNode.getOffset()); Map<String, String> deleteTag = new HashMap<>(); for (String key : keySet) { @@ -531,7 +534,7 @@ public class TagManager { throws MetadataException, IOException { // tags, attributes Pair<Map<String, String>, Map<String, String>> pair = - tagLogFile.read(config.getTagAttributeTotalSize(), leafMNode.getOffset()); + tagLogFile.read(COMMON_CONFIG.getTagAttributeTotalSize(), leafMNode.getOffset()); Map<String, String> oldTagValue = new HashMap<>(); Map<String, String> newTagValue = new HashMap<>(); @@ -601,7 +604,7 @@ public class TagManager { throws MetadataException, IOException { // tags, attributes Pair<Map<String, String>, Map<String, String>> pair = - tagLogFile.read(config.getTagAttributeTotalSize(), leafMNode.getOffset()); + tagLogFile.read(COMMON_CONFIG.getTagAttributeTotalSize(), leafMNode.getOffset()); // current name has existed if (pair.left.containsKey(newKey) || pair.right.containsKey(newKey)) { @@ -663,7 +666,7 @@ public class TagManager { public Pair<Map<String, String>, Map<String, String>> readTagFile(long tagFileOffset) throws IOException { - return tagLogFile.read(config.getTagAttributeTotalSize(), tagFileOffset); + return tagLogFile.read(COMMON_CONFIG.getTagAttributeTotalSize(), tagFileOffset); } /** diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/process/last/LastQueryUtil.java b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/process/last/LastQueryUtil.java index f8bb75f0885..c674fc44f86 100644 --- a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/process/last/LastQueryUtil.java +++ b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/process/last/LastQueryUtil.java @@ -18,7 +18,7 @@ */ package org.apache.iotdb.db.mpp.execution.operator.process.last; -import org.apache.iotdb.db.conf.IoTDBDescriptor; +import org.apache.iotdb.commons.conf.CommonDescriptor; import org.apache.iotdb.db.mpp.aggregation.Aggregator; import org.apache.iotdb.db.mpp.aggregation.LastValueDescAccumulator; import org.apache.iotdb.db.mpp.aggregation.MaxTimeDescAccumulator; @@ -43,7 +43,7 @@ import java.util.List; public class LastQueryUtil { private static final boolean CACHE_ENABLED = - IoTDBDescriptor.getInstance().getConfig().isLastCacheEnabled(); + CommonDescriptor.getInstance().getConfig().isLastCacheEnable(); public static TsBlockBuilder createTsBlockBuilder() { return new TsBlockBuilder(ImmutableList.of(TSDataType.TEXT, TSDataType.TEXT, TSDataType.TEXT)); diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/GetTimeSlotListTask.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/GetTimeSlotListTask.java index f07abe7025a..9962d01d5bf 100644 --- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/GetTimeSlotListTask.java +++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/GetTimeSlotListTask.java @@ -20,8 +20,8 @@ package org.apache.iotdb.db.mpp.plan.execution.config.metadata; import org.apache.iotdb.common.rpc.thrift.TTimePartitionSlot; +import org.apache.iotdb.commons.conf.CommonDescriptor; import org.apache.iotdb.confignode.rpc.thrift.TGetTimeSlotListResp; -import org.apache.iotdb.db.conf.IoTDBDescriptor; import org.apache.iotdb.db.mpp.common.header.ColumnHeader; import org.apache.iotdb.db.mpp.common.header.ColumnHeaderConstant; import org.apache.iotdb.db.mpp.common.header.DatasetHeader; @@ -63,7 +63,7 @@ public class GetTimeSlotListTask implements IConfigTask { .getColumnBuilder(0) .writeLong( timePartitionSlot.getStartTime() - / IoTDBDescriptor.getInstance().getConfig().getTimePartitionInterval()); + / CommonDescriptor.getInstance().getConfig().getTimePartitionInterval()); builder .getColumnBuilder(1) .writeBinary(new Binary(DateTimeUtils.convertLongToDate(timePartitionSlot.getStartTime()))); diff --git a/server/src/main/java/org/apache/iotdb/db/pipe/connector/v1/IoTDBThriftConnectorV1.java b/server/src/main/java/org/apache/iotdb/db/pipe/connector/v1/IoTDBThriftConnectorV1.java index f0c4d54d929..bb18acda62d 100644 --- a/server/src/main/java/org/apache/iotdb/db/pipe/connector/v1/IoTDBThriftConnectorV1.java +++ b/server/src/main/java/org/apache/iotdb/db/pipe/connector/v1/IoTDBThriftConnectorV1.java @@ -106,7 +106,8 @@ public class IoTDBThriftConnectorV1 implements PipeConnector { try { final TPipeTransferResp resp = client.pipeTransfer( - PipeTransferHandshakeReq.toTPipeTransferReq(IOTDB_CONFIG.getTimestampPrecision())); + PipeTransferHandshakeReq.toTPipeTransferReq( + CommonDescriptor.getInstance().getConfig().getTimestampPrecision())); if (resp.getStatus().getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()) { throw new PipeException(String.format("Handshake error, result status %s.", resp.status)); } diff --git a/server/src/main/java/org/apache/iotdb/db/pipe/connector/v1/IoTDBThriftReceiverV1.java b/server/src/main/java/org/apache/iotdb/db/pipe/connector/v1/IoTDBThriftReceiverV1.java index 5ab2b19c5a7..cc803c33b95 100644 --- a/server/src/main/java/org/apache/iotdb/db/pipe/connector/v1/IoTDBThriftReceiverV1.java +++ b/server/src/main/java/org/apache/iotdb/db/pipe/connector/v1/IoTDBThriftReceiverV1.java @@ -20,6 +20,7 @@ package org.apache.iotdb.db.pipe.connector.v1; import org.apache.iotdb.common.rpc.thrift.TSStatus; +import org.apache.iotdb.commons.conf.CommonDescriptor; import org.apache.iotdb.db.conf.IoTDBConfig; import org.apache.iotdb.db.conf.IoTDBDescriptor; import org.apache.iotdb.db.mpp.plan.Coordinator; @@ -93,11 +94,15 @@ public class IoTDBThriftReceiverV1 implements IoTDBThriftReceiver { } private TPipeTransferResp handleTransferHandshake(PipeTransferHandshakeReq req) { - if (!IOTDB_CONFIG.getTimestampPrecision().equals(req.getTimestampPrecision())) { + if (!CommonDescriptor.getInstance() + .getConfig() + .getTimestampPrecision() + .equals(req.getTimestampPrecision())) { String msg = String.format( "IoTDB receiver's timestamp precision %s, connector's timestamp precision %s. validation fails.", - IOTDB_CONFIG.getTimestampPrecision(), req.getTimestampPrecision()); + CommonDescriptor.getInstance().getConfig().getTimestampPrecision(), + req.getTimestampPrecision()); LOGGER.warn(msg); return new TPipeTransferResp(RpcUtils.getStatus(TSStatusCode.PIPE_HANDSHAKE_ERROR, msg)); } diff --git a/server/src/main/java/org/apache/iotdb/db/pipe/connector/v2/IoTDBThriftConnectorV2.java b/server/src/main/java/org/apache/iotdb/db/pipe/connector/v2/IoTDBThriftConnectorV2.java index 8dffd1d544c..edba5374f75 100644 --- a/server/src/main/java/org/apache/iotdb/db/pipe/connector/v2/IoTDBThriftConnectorV2.java +++ b/server/src/main/java/org/apache/iotdb/db/pipe/connector/v2/IoTDBThriftConnectorV2.java @@ -145,7 +145,8 @@ public class IoTDBThriftConnectorV2 implements PipeConnector { firstNodeUrl.getPort())) { final TPipeTransferResp resp = client.pipeTransfer( - PipeTransferHandshakeReq.toTPipeTransferReq(IOTDB_CONFIG.getTimestampPrecision())); + PipeTransferHandshakeReq.toTPipeTransferReq( + CommonDescriptor.getInstance().getConfig().getTimestampPrecision())); if (resp.getStatus().getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()) { throw new PipeException(String.format("Handshake error, result status %s.", resp.status)); } diff --git a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/handler/QueryHandlerFactory.java b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/handler/QueryHandlerFactory.java index b944faf14ce..77c47cf57f2 100644 --- a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/handler/QueryHandlerFactory.java +++ b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/handler/QueryHandlerFactory.java @@ -18,6 +18,7 @@ */ package org.apache.iotdb.db.protocol.influxdb.handler; +import org.apache.iotdb.commons.conf.CommonDescriptor; import org.apache.iotdb.db.conf.IoTDBDescriptor; import org.apache.iotdb.db.service.thrift.impl.ClientRPCServiceImpl; @@ -34,7 +35,7 @@ public class QueryHandlerFactory { .getConfig() .getRpcImplClassName() .equals(ClientRPCServiceImpl.class.getName())) { - if ("Tag".equals(IoTDBDescriptor.getInstance().getConfig().getSchemaEngineMode())) { + if ("Tag".equals(CommonDescriptor.getInstance().getConfig().getSchemaEngineMode())) { return new TagQueryHandler(); } return new NewQueryHandler(); diff --git a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/meta/InfluxDBMetaManagerFactory.java b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/meta/InfluxDBMetaManagerFactory.java index 5efa5728ed7..106fe986d96 100644 --- a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/meta/InfluxDBMetaManagerFactory.java +++ b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/meta/InfluxDBMetaManagerFactory.java @@ -18,6 +18,7 @@ */ package org.apache.iotdb.db.protocol.influxdb.meta; +import org.apache.iotdb.commons.conf.CommonDescriptor; import org.apache.iotdb.db.conf.IoTDBDescriptor; import org.apache.iotdb.db.service.thrift.impl.ClientRPCServiceImpl; @@ -34,7 +35,7 @@ public class InfluxDBMetaManagerFactory { .getConfig() .getRpcImplClassName() .equals(ClientRPCServiceImpl.class.getName())) { - if ("Tag".equals(IoTDBDescriptor.getInstance().getConfig().getSchemaEngineMode())) { + if ("Tag".equals(CommonDescriptor.getInstance().getConfig().getSchemaEngineMode())) { return TagInfluxDBMetaManager.getInstance(); } return NewInfluxDBMetaManager.getInstance(); diff --git a/server/src/main/java/org/apache/iotdb/db/protocol/rest/v1/impl/GrafanaApiServiceImpl.java b/server/src/main/java/org/apache/iotdb/db/protocol/rest/v1/impl/GrafanaApiServiceImpl.java index 4301457b28a..a29116a990f 100644 --- a/server/src/main/java/org/apache/iotdb/db/protocol/rest/v1/impl/GrafanaApiServiceImpl.java +++ b/server/src/main/java/org/apache/iotdb/db/protocol/rest/v1/impl/GrafanaApiServiceImpl.java @@ -17,6 +17,7 @@ package org.apache.iotdb.db.protocol.rest.v1.impl; +import org.apache.iotdb.commons.conf.CommonDescriptor; import org.apache.iotdb.commons.path.PartialPath; import org.apache.iotdb.db.conf.IoTDBConfig; import org.apache.iotdb.db.conf.IoTDBDescriptor; @@ -72,7 +73,7 @@ public class GrafanaApiServiceImpl extends GrafanaApiService { SCHEMA_FETCHER = ClusterSchemaFetcher.getInstance(); authorizationHandler = new AuthorizationHandler(); - switch (IoTDBDescriptor.getInstance().getConfig().getTimestampPrecision()) { + switch (CommonDescriptor.getInstance().getConfig().getTimestampPrecision()) { case "ns": timePrecision = 1000000; break; diff --git a/server/src/main/java/org/apache/iotdb/db/protocol/rest/v2/impl/GrafanaApiServiceImpl.java b/server/src/main/java/org/apache/iotdb/db/protocol/rest/v2/impl/GrafanaApiServiceImpl.java index 1512b56a6f8..2a0a408df98 100644 --- a/server/src/main/java/org/apache/iotdb/db/protocol/rest/v2/impl/GrafanaApiServiceImpl.java +++ b/server/src/main/java/org/apache/iotdb/db/protocol/rest/v2/impl/GrafanaApiServiceImpl.java @@ -17,6 +17,7 @@ package org.apache.iotdb.db.protocol.rest.v2.impl; +import org.apache.iotdb.commons.conf.CommonDescriptor; import org.apache.iotdb.commons.path.PartialPath; import org.apache.iotdb.db.conf.IoTDBConfig; import org.apache.iotdb.db.conf.IoTDBDescriptor; @@ -72,7 +73,7 @@ public class GrafanaApiServiceImpl extends GrafanaApiService { SCHEMA_FETCHER = ClusterSchemaFetcher.getInstance(); authorizationHandler = new AuthorizationHandler(); - switch (IoTDBDescriptor.getInstance().getConfig().getTimestampPrecision()) { + switch (CommonDescriptor.getInstance().getConfig().getTimestampPrecision()) { case "ns": timePrecision = 1000000; break; diff --git a/server/src/main/java/org/apache/iotdb/db/service/IoTDBShutdownHook.java b/server/src/main/java/org/apache/iotdb/db/service/IoTDBShutdownHook.java index 72b8e1344c2..27af592a5f3 100644 --- a/server/src/main/java/org/apache/iotdb/db/service/IoTDBShutdownHook.java +++ b/server/src/main/java/org/apache/iotdb/db/service/IoTDBShutdownHook.java @@ -53,7 +53,7 @@ public class IoTDBShutdownHook extends Thread { @Override public void run() { // close rocksdb if possible to avoid lose data - if (SchemaEngineMode.valueOf(IoTDBDescriptor.getInstance().getConfig().getSchemaEngineMode()) + if (SchemaEngineMode.valueOf(CommonDescriptor.getInstance().getConfig().getSchemaEngineMode()) .equals(SchemaEngineMode.Rocksdb_based)) { SchemaEngine.getInstance().clear(); } diff --git a/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/ClientRPCServiceImpl.java b/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/ClientRPCServiceImpl.java index c1a0412e5c1..8a1f9e323d9 100644 --- a/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/ClientRPCServiceImpl.java +++ b/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/ClientRPCServiceImpl.java @@ -735,7 +735,7 @@ public class ClientRPCServiceImpl implements IClientRPCServiceWithHandler { properties.getSupportedTimeAggregationOperations().add(IoTDBConstant.MAX_TIME); properties.getSupportedTimeAggregationOperations().add(IoTDBConstant.MIN_TIME); properties.setTimestampPrecision( - IoTDBDescriptor.getInstance().getConfig().getTimestampPrecision()); + CommonDescriptor.getInstance().getConfig().getTimestampPrecision()); properties.setMaxConcurrentClientNum( IoTDBDescriptor.getInstance().getConfig().getRpcMaxConcurrentClientNum()); properties.setIsReadOnly(CommonDescriptor.getInstance().getConfig().isReadOnly()); diff --git a/server/src/main/java/org/apache/iotdb/db/utils/DateTimeUtils.java b/server/src/main/java/org/apache/iotdb/db/utils/DateTimeUtils.java index c7df46fbe94..e056f6138eb 100644 --- a/server/src/main/java/org/apache/iotdb/db/utils/DateTimeUtils.java +++ b/server/src/main/java/org/apache/iotdb/db/utils/DateTimeUtils.java @@ -18,6 +18,7 @@ */ package org.apache.iotdb.db.utils; +import org.apache.iotdb.commons.conf.CommonDescriptor; import org.apache.iotdb.commons.utils.TestOnly; import org.apache.iotdb.db.conf.IoTDBDescriptor; import org.apache.iotdb.db.query.control.SessionManager; @@ -454,7 +455,7 @@ public class DateTimeUtils { str, toZoneOffset(zoneId), 0, - IoTDBDescriptor.getInstance().getConfig().getTimestampPrecision()); + CommonDescriptor.getInstance().getConfig().getTimestampPrecision()); } public static long convertDatetimeStrToLong( @@ -532,7 +533,7 @@ public class DateTimeUtils { public static long convertDurationStrToLong(long currentTime, String duration) { return convertDurationStrToLong( - currentTime, duration, IoTDBDescriptor.getInstance().getConfig().getTimestampPrecision()); + currentTime, duration, CommonDescriptor.getInstance().getConfig().getTimestampPrecision()); } /** @@ -653,7 +654,7 @@ public class DateTimeUtils { public static long currentTime() { long startupNano = IoTDBDescriptor.getInstance().getConfig().getStartUpNanosecond(); - String timePrecision = IoTDBDescriptor.getInstance().getConfig().getTimestampPrecision(); + String timePrecision = CommonDescriptor.getInstance().getConfig().getTimestampPrecision(); switch (timePrecision) { case "ns": return System.currentTimeMillis() * 1000_000 + (System.nanoTime() - startupNano) % 1000_000; @@ -665,7 +666,7 @@ public class DateTimeUtils { } public static String convertLongToDate(long timestamp) { - String timePrecision = IoTDBDescriptor.getInstance().getConfig().getTimestampPrecision(); + String timePrecision = CommonDescriptor.getInstance().getConfig().getTimestampPrecision(); switch (timePrecision) { case "ns": timestamp /= 1000_000; @@ -686,21 +687,6 @@ public class DateTimeUtils { return ZonedDateTime.ofInstant(Instant.ofEpochMilli(millisecond), ZoneId.systemDefault()); } - public static long convertMilliTimeWithPrecision(long milliTime, String timePrecision) { - long result = milliTime; - switch (timePrecision) { - case "ns": - result = milliTime * 1000_000L; - break; - case "us": - result = milliTime * 1000L; - break; - default: - break; - } - return result; - } - public enum DurationUnit { y, mo, diff --git a/server/src/main/java/org/apache/iotdb/db/utils/TimePartitionUtils.java b/server/src/main/java/org/apache/iotdb/db/utils/TimePartitionUtils.java index 763b7e0d5ab..058ae2fe6a1 100644 --- a/server/src/main/java/org/apache/iotdb/db/utils/TimePartitionUtils.java +++ b/server/src/main/java/org/apache/iotdb/db/utils/TimePartitionUtils.java @@ -19,14 +19,14 @@ package org.apache.iotdb.db.utils; import org.apache.iotdb.common.rpc.thrift.TTimePartitionSlot; +import org.apache.iotdb.commons.conf.CommonDescriptor; import org.apache.iotdb.commons.utils.TestOnly; -import org.apache.iotdb.db.conf.IoTDBDescriptor; import org.apache.iotdb.db.conf.ServerConfigConsistent; public class TimePartitionUtils { @ServerConfigConsistent public static long timePartitionInterval = - IoTDBDescriptor.getInstance().getConfig().getTimePartitionInterval(); + CommonDescriptor.getInstance().getConfig().getTimePartitionInterval(); public static TTimePartitionSlot getTimePartition(long time) { TTimePartitionSlot timePartitionSlot = new TTimePartitionSlot(); diff --git a/server/src/test/java/org/apache/iotdb/db/engine/compaction/inner/sizetiered/SizeTieredCompactionSelectorTest.java b/server/src/test/java/org/apache/iotdb/db/engine/compaction/inner/sizetiered/SizeTieredCompactionSelectorTest.java index 5cd387cefb9..a4e42bf94c8 100644 --- a/server/src/test/java/org/apache/iotdb/db/engine/compaction/inner/sizetiered/SizeTieredCompactionSelectorTest.java +++ b/server/src/test/java/org/apache/iotdb/db/engine/compaction/inner/sizetiered/SizeTieredCompactionSelectorTest.java @@ -19,6 +19,7 @@ package org.apache.iotdb.db.engine.compaction.inner.sizetiered; +import org.apache.iotdb.commons.conf.CommonDescriptor; import org.apache.iotdb.db.conf.IoTDBDescriptor; import org.apache.iotdb.db.engine.compaction.schedule.CompactionTaskManager; import org.apache.iotdb.db.engine.compaction.selector.impl.SizeTieredCompactionSelector; @@ -40,8 +41,8 @@ public class SizeTieredCompactionSelectorTest { @Test public void testSubmitWhenNextTimePartitionExists() { long originPartitionInterval = - IoTDBDescriptor.getInstance().getConfig().getTimePartitionInterval(); - IoTDBDescriptor.getInstance().getConfig().setTimePartitionInterval(1000000); + CommonDescriptor.getInstance().getConfig().getTimePartitionInterval(); + CommonDescriptor.getInstance().getConfig().setTimePartitionInterval(1000000); List<TsFileResource> resources = new ArrayList<>(); for (int i = 0; i < 100; ++i) { diff --git a/server/src/test/java/org/apache/iotdb/db/engine/storagegroup/DataRegionTest.java b/server/src/test/java/org/apache/iotdb/db/engine/storagegroup/DataRegionTest.java index 01f311d1337..0088a8b2ec9 100644 --- a/server/src/test/java/org/apache/iotdb/db/engine/storagegroup/DataRegionTest.java +++ b/server/src/test/java/org/apache/iotdb/db/engine/storagegroup/DataRegionTest.java @@ -19,6 +19,7 @@ package org.apache.iotdb.db.engine.storagegroup; +import org.apache.iotdb.commons.conf.CommonConfig; import org.apache.iotdb.commons.conf.CommonDescriptor; import org.apache.iotdb.commons.consensus.DataRegionId; import org.apache.iotdb.commons.exception.IllegalPathException; @@ -75,6 +76,7 @@ import java.util.concurrent.atomic.AtomicInteger; public class DataRegionTest { private static final IoTDBConfig config = IoTDBDescriptor.getInstance().getConfig(); + private static final CommonConfig COMMON_CONFIG = CommonDescriptor.getInstance().getConfig(); private static final Logger logger = LoggerFactory.getLogger(DataRegionTest.class); private String storageGroup = "root.vehicle.d0"; @@ -413,9 +415,9 @@ public class DataRegionTest { public void testEnableDiscardOutOfOrderDataForInsertTablet1() throws QueryProcessException, IllegalPathException, IOException, WriteProcessException { boolean defaultEnableDiscard = config.isEnableDiscardOutOfOrderData(); - long defaultTimePartition = config.getTimePartitionInterval(); + long defaultTimePartition = COMMON_CONFIG.getTimePartitionInterval(); config.setEnableDiscardOutOfOrderData(true); - config.setTimePartitionInterval(100000); + COMMON_CONFIG.setTimePartitionInterval(100000); String[] measurements = new String[2]; measurements[0] = "s0"; @@ -494,16 +496,16 @@ public class DataRegionTest { } config.setEnableDiscardOutOfOrderData(defaultEnableDiscard); - config.setTimePartitionInterval(defaultTimePartition); + COMMON_CONFIG.setTimePartitionInterval(defaultTimePartition); } @Test public void testEnableDiscardOutOfOrderDataForInsertTablet2() throws QueryProcessException, IllegalPathException, IOException, WriteProcessException { boolean defaultEnableDiscard = config.isEnableDiscardOutOfOrderData(); - long defaultTimePartition = config.getTimePartitionInterval(); + long defaultTimePartition = COMMON_CONFIG.getTimePartitionInterval(); config.setEnableDiscardOutOfOrderData(true); - config.setTimePartitionInterval(1200000); + COMMON_CONFIG.setTimePartitionInterval(1200000); String[] measurements = new String[2]; measurements[0] = "s0"; @@ -582,16 +584,16 @@ public class DataRegionTest { } config.setEnableDiscardOutOfOrderData(defaultEnableDiscard); - config.setTimePartitionInterval(defaultTimePartition); + COMMON_CONFIG.setTimePartitionInterval(defaultTimePartition); } @Test public void testEnableDiscardOutOfOrderDataForInsertTablet3() throws QueryProcessException, IllegalPathException, IOException, WriteProcessException { boolean defaultEnableDiscard = config.isEnableDiscardOutOfOrderData(); - long defaultTimePartition = config.getTimePartitionInterval(); + long defaultTimePartition = COMMON_CONFIG.getTimePartitionInterval(); config.setEnableDiscardOutOfOrderData(true); - config.setTimePartitionInterval(1000000); + COMMON_CONFIG.setTimePartitionInterval(1000000); String[] measurements = new String[2]; measurements[0] = "s0"; @@ -670,7 +672,7 @@ public class DataRegionTest { } config.setEnableDiscardOutOfOrderData(defaultEnableDiscard); - config.setTimePartitionInterval(defaultTimePartition); + COMMON_CONFIG.setTimePartitionInterval(defaultTimePartition); } @Test diff --git a/server/src/test/java/org/apache/iotdb/db/engine/storagegroup/TTLTest.java b/server/src/test/java/org/apache/iotdb/db/engine/storagegroup/TTLTest.java index c2392bff9ec..8b34eab75b5 100644 --- a/server/src/test/java/org/apache/iotdb/db/engine/storagegroup/TTLTest.java +++ b/server/src/test/java/org/apache/iotdb/db/engine/storagegroup/TTLTest.java @@ -20,6 +20,7 @@ package org.apache.iotdb.db.engine.storagegroup; +import org.apache.iotdb.commons.conf.CommonDescriptor; import org.apache.iotdb.commons.conf.IoTDBConstant; import org.apache.iotdb.commons.consensus.DataRegionId; import org.apache.iotdb.commons.exception.IllegalPathException; @@ -82,8 +83,8 @@ public class TTLTest { @Before public void setUp() throws MetadataException, DataRegionException { - prevPartitionInterval = IoTDBDescriptor.getInstance().getConfig().getTimePartitionInterval(); - IoTDBDescriptor.getInstance().getConfig().setTimePartitionInterval(86400000); + prevPartitionInterval = CommonDescriptor.getInstance().getConfig().getTimePartitionInterval(); + CommonDescriptor.getInstance().getConfig().setTimePartitionInterval(86400000); EnvironmentUtils.envSetUp(); dataRegion = new DataRegion( @@ -98,7 +99,7 @@ public class TTLTest { public void tearDown() throws IOException, StorageEngineException { dataRegion.syncCloseAllWorkingTsFileProcessors(); EnvironmentUtils.cleanEnv(); - IoTDBDescriptor.getInstance().getConfig().setTimePartitionInterval(prevPartitionInterval); + CommonDescriptor.getInstance().getConfig().setTimePartitionInterval(prevPartitionInterval); } @Test diff --git a/server/src/test/java/org/apache/iotdb/db/metadata/mtree/schemafile/AliasIndexPageTest.java b/server/src/test/java/org/apache/iotdb/db/metadata/mtree/schemafile/AliasIndexPageTest.java index 32aba0b4c29..5a1f992c026 100644 --- a/server/src/test/java/org/apache/iotdb/db/metadata/mtree/schemafile/AliasIndexPageTest.java +++ b/server/src/test/java/org/apache/iotdb/db/metadata/mtree/schemafile/AliasIndexPageTest.java @@ -18,8 +18,8 @@ */ package org.apache.iotdb.db.metadata.mtree.schemafile; +import org.apache.iotdb.commons.conf.CommonDescriptor; import org.apache.iotdb.commons.exception.MetadataException; -import org.apache.iotdb.db.conf.IoTDBDescriptor; import org.apache.iotdb.db.metadata.mtree.store.disk.schemafile.ISchemaPage; import org.apache.iotdb.db.metadata.mtree.store.disk.schemafile.ISegment; import org.apache.iotdb.db.metadata.mtree.store.disk.schemafile.SchemaFileConfig; @@ -36,7 +36,7 @@ import java.nio.ByteBuffer; public class AliasIndexPageTest { @Before public void setUp() { - IoTDBDescriptor.getInstance() + CommonDescriptor.getInstance() .getConfig() .setSchemaEngineMode(SchemaEngineMode.PB_Tree.toString()); EnvironmentUtils.envSetUp(); @@ -45,7 +45,7 @@ public class AliasIndexPageTest { @After public void tearDown() throws Exception { EnvironmentUtils.cleanEnv(); - IoTDBDescriptor.getInstance() + CommonDescriptor.getInstance() .getConfig() .setSchemaEngineMode(SchemaEngineMode.Memory.toString()); } diff --git a/server/src/test/java/org/apache/iotdb/db/metadata/mtree/schemafile/InternalPageTest.java b/server/src/test/java/org/apache/iotdb/db/metadata/mtree/schemafile/InternalPageTest.java index 6a6b0a1449d..5f145b6f3fa 100644 --- a/server/src/test/java/org/apache/iotdb/db/metadata/mtree/schemafile/InternalPageTest.java +++ b/server/src/test/java/org/apache/iotdb/db/metadata/mtree/schemafile/InternalPageTest.java @@ -18,8 +18,8 @@ */ package org.apache.iotdb.db.metadata.mtree.schemafile; +import org.apache.iotdb.commons.conf.CommonDescriptor; import org.apache.iotdb.commons.exception.MetadataException; -import org.apache.iotdb.db.conf.IoTDBDescriptor; import org.apache.iotdb.db.metadata.mtree.store.disk.schemafile.ISchemaPage; import org.apache.iotdb.db.metadata.mtree.store.disk.schemafile.ISegment; import org.apache.iotdb.db.metadata.mtree.store.disk.schemafile.SchemaFileConfig; @@ -36,7 +36,7 @@ import java.nio.ByteBuffer; public class InternalPageTest { @Before public void setUp() { - IoTDBDescriptor.getInstance() + CommonDescriptor.getInstance() .getConfig() .setSchemaEngineMode(SchemaEngineMode.PB_Tree.toString()); EnvironmentUtils.envSetUp(); @@ -45,7 +45,7 @@ public class InternalPageTest { @After public void tearDown() throws Exception { EnvironmentUtils.cleanEnv(); - IoTDBDescriptor.getInstance() + CommonDescriptor.getInstance() .getConfig() .setSchemaEngineMode(SchemaEngineMode.Memory.toString()); } diff --git a/server/src/test/java/org/apache/iotdb/db/metadata/mtree/schemafile/SchemaFileLogTest.java b/server/src/test/java/org/apache/iotdb/db/metadata/mtree/schemafile/SchemaFileLogTest.java index fbbd7ab3f89..bc822554012 100644 --- a/server/src/test/java/org/apache/iotdb/db/metadata/mtree/schemafile/SchemaFileLogTest.java +++ b/server/src/test/java/org/apache/iotdb/db/metadata/mtree/schemafile/SchemaFileLogTest.java @@ -18,10 +18,10 @@ */ package org.apache.iotdb.db.metadata.mtree.schemafile; +import org.apache.iotdb.commons.conf.CommonDescriptor; import org.apache.iotdb.commons.exception.MetadataException; import org.apache.iotdb.commons.schema.node.role.IDatabaseMNode; import org.apache.iotdb.commons.schema.node.utils.IMNodeFactory; -import org.apache.iotdb.db.conf.IoTDBDescriptor; import org.apache.iotdb.db.metadata.MetadataConstant; import org.apache.iotdb.db.metadata.mnode.schemafile.ICachedMNode; import org.apache.iotdb.db.metadata.mnode.schemafile.factory.CacheMNodeFactory; @@ -56,7 +56,7 @@ public class SchemaFileLogTest { @Before public void setUp() { - IoTDBDescriptor.getInstance() + CommonDescriptor.getInstance() .getConfig() .setSchemaEngineMode(SchemaEngineMode.PB_Tree.toString()); EnvironmentUtils.envSetUp(); @@ -65,7 +65,7 @@ public class SchemaFileLogTest { @After public void tearDown() throws Exception { EnvironmentUtils.cleanEnv(); - IoTDBDescriptor.getInstance() + CommonDescriptor.getInstance() .getConfig() .setSchemaEngineMode(SchemaEngineMode.Memory.toString()); } diff --git a/server/src/test/java/org/apache/iotdb/db/metadata/mtree/schemafile/SchemaFileTest.java b/server/src/test/java/org/apache/iotdb/db/metadata/mtree/schemafile/SchemaFileTest.java index d9ac2c84628..38786528b8c 100644 --- a/server/src/test/java/org/apache/iotdb/db/metadata/mtree/schemafile/SchemaFileTest.java +++ b/server/src/test/java/org/apache/iotdb/db/metadata/mtree/schemafile/SchemaFileTest.java @@ -18,13 +18,13 @@ */ package org.apache.iotdb.db.metadata.mtree.schemafile; +import org.apache.iotdb.commons.conf.CommonDescriptor; import org.apache.iotdb.commons.exception.MetadataException; import org.apache.iotdb.commons.schema.node.IMNode; import org.apache.iotdb.commons.schema.node.role.IDatabaseMNode; import org.apache.iotdb.commons.schema.node.role.IMeasurementMNode; import org.apache.iotdb.commons.schema.node.utils.IMNodeFactory; import org.apache.iotdb.commons.utils.PathUtils; -import org.apache.iotdb.db.conf.IoTDBDescriptor; import org.apache.iotdb.db.metadata.mnode.schemafile.ICachedMNode; import org.apache.iotdb.db.metadata.mnode.schemafile.container.ICachedMNodeContainer; import org.apache.iotdb.db.metadata.mnode.schemafile.factory.CacheMNodeFactory; @@ -66,7 +66,7 @@ public class SchemaFileTest { @Before public void setUp() { - IoTDBDescriptor.getInstance() + CommonDescriptor.getInstance() .getConfig() .setSchemaEngineMode(SchemaEngineMode.PB_Tree.toString()); EnvironmentUtils.envSetUp(); @@ -75,7 +75,7 @@ public class SchemaFileTest { @After public void tearDown() throws Exception { EnvironmentUtils.cleanEnv(); - IoTDBDescriptor.getInstance() + CommonDescriptor.getInstance() .getConfig() .setSchemaEngineMode(SchemaEngineMode.Memory.toString()); } diff --git a/server/src/test/java/org/apache/iotdb/db/metadata/mtree/schemafile/WrappedSegmentTest.java b/server/src/test/java/org/apache/iotdb/db/metadata/mtree/schemafile/WrappedSegmentTest.java index daf2ff3ad35..be5c5ef15bd 100644 --- a/server/src/test/java/org/apache/iotdb/db/metadata/mtree/schemafile/WrappedSegmentTest.java +++ b/server/src/test/java/org/apache/iotdb/db/metadata/mtree/schemafile/WrappedSegmentTest.java @@ -18,9 +18,9 @@ */ package org.apache.iotdb.db.metadata.mtree.schemafile; +import org.apache.iotdb.commons.conf.CommonDescriptor; import org.apache.iotdb.commons.exception.MetadataException; import org.apache.iotdb.commons.schema.node.utils.IMNodeFactory; -import org.apache.iotdb.db.conf.IoTDBDescriptor; import org.apache.iotdb.db.metadata.mnode.schemafile.ICachedMNode; import org.apache.iotdb.db.metadata.mnode.schemafile.factory.CacheMNodeFactory; import org.apache.iotdb.db.metadata.mtree.store.disk.schemafile.ISegment; @@ -46,7 +46,7 @@ public class WrappedSegmentTest { @Before public void setUp() { - IoTDBDescriptor.getInstance() + CommonDescriptor.getInstance() .getConfig() .setSchemaEngineMode(SchemaEngineMode.PB_Tree.toString()); EnvironmentUtils.envSetUp(); @@ -55,7 +55,7 @@ public class WrappedSegmentTest { @After public void tearDown() throws Exception { EnvironmentUtils.cleanEnv(); - IoTDBDescriptor.getInstance() + CommonDescriptor.getInstance() .getConfig() .setSchemaEngineMode(SchemaEngineMode.Memory.toString()); } diff --git a/server/src/test/java/org/apache/iotdb/db/metadata/schemaRegion/AbstractSchemaRegionTest.java b/server/src/test/java/org/apache/iotdb/db/metadata/schemaRegion/AbstractSchemaRegionTest.java index 11b61d494ae..451277f8335 100644 --- a/server/src/test/java/org/apache/iotdb/db/metadata/schemaRegion/AbstractSchemaRegionTest.java +++ b/server/src/test/java/org/apache/iotdb/db/metadata/schemaRegion/AbstractSchemaRegionTest.java @@ -19,6 +19,8 @@ package org.apache.iotdb.db.metadata.schemaRegion; +import org.apache.iotdb.commons.conf.CommonConfig; +import org.apache.iotdb.commons.conf.CommonDescriptor; import org.apache.iotdb.commons.consensus.SchemaRegionId; import org.apache.iotdb.commons.path.PartialPath; import org.apache.iotdb.db.conf.IoTDBConfig; @@ -41,6 +43,7 @@ import java.util.List; public abstract class AbstractSchemaRegionTest { private static final IoTDBConfig config = IoTDBDescriptor.getInstance().getConfig(); + private static final CommonConfig COMMON_CONFIG = CommonDescriptor.getInstance().getConfig(); private SchemaRegionTestParams rawConfig; @@ -64,10 +67,10 @@ public abstract class AbstractSchemaRegionTest { rawConfig = new SchemaRegionTestParams( "Raw-Config", - config.getSchemaEngineMode(), + COMMON_CONFIG.getSchemaEngineMode(), config.getCachedMNodeSizeInPBTreeMode(), config.isClusterMode()); - config.setSchemaEngineMode(testParams.schemaEngineMode); + COMMON_CONFIG.setSchemaEngineMode(testParams.schemaEngineMode); config.setCachedMNodeSizeInPBTreeMode(testParams.cachedMNodeSize); config.setClusterMode(testParams.isClusterMode); SchemaEngine.getInstance().init(); @@ -77,7 +80,7 @@ public abstract class AbstractSchemaRegionTest { public void tearDown() throws Exception { SchemaEngine.getInstance().clear(); cleanEnv(); - config.setSchemaEngineMode(rawConfig.schemaEngineMode); + COMMON_CONFIG.setSchemaEngineMode(rawConfig.schemaEngineMode); config.setCachedMNodeSizeInPBTreeMode(rawConfig.cachedMNodeSize); config.setClusterMode(rawConfig.isClusterMode); } diff --git a/server/src/test/java/org/apache/iotdb/db/mpp/plan/analyze/QueryTimePartitionTest.java b/server/src/test/java/org/apache/iotdb/db/mpp/plan/analyze/QueryTimePartitionTest.java index c7951571a0a..a97026974f6 100644 --- a/server/src/test/java/org/apache/iotdb/db/mpp/plan/analyze/QueryTimePartitionTest.java +++ b/server/src/test/java/org/apache/iotdb/db/mpp/plan/analyze/QueryTimePartitionTest.java @@ -19,7 +19,7 @@ package org.apache.iotdb.db.mpp.plan.analyze; import org.apache.iotdb.common.rpc.thrift.TTimePartitionSlot; -import org.apache.iotdb.db.conf.IoTDBDescriptor; +import org.apache.iotdb.commons.conf.CommonDescriptor; import org.apache.iotdb.tsfile.read.common.TimeRange; import org.apache.iotdb.tsfile.read.filter.TimeFilter; import org.apache.iotdb.tsfile.read.filter.operator.AndFilter; @@ -397,16 +397,17 @@ public class QueryTimePartitionTest { new AndFilter( TimeFilter.gt(0), TimeFilter.ltEq( - IoTDBDescriptor.getInstance().getConfig().getTimePartitionInterval() * 3 + 1))); + CommonDescriptor.getInstance().getConfig().getTimePartitionInterval() * 3 + + 1))); expected = Arrays.asList( new TTimePartitionSlot(0), new TTimePartitionSlot( - IoTDBDescriptor.getInstance().getConfig().getTimePartitionInterval()), + CommonDescriptor.getInstance().getConfig().getTimePartitionInterval()), new TTimePartitionSlot( - IoTDBDescriptor.getInstance().getConfig().getTimePartitionInterval() * 2), + CommonDescriptor.getInstance().getConfig().getTimePartitionInterval() * 2), new TTimePartitionSlot( - IoTDBDescriptor.getInstance().getConfig().getTimePartitionInterval() * 3)); + CommonDescriptor.getInstance().getConfig().getTimePartitionInterval() * 3)); assertEquals(expected.size(), res.left.size()); for (int i = 0; i < expected.size(); i++) { assertEquals(expected.get(i), res.left.get(i)); @@ -420,14 +421,14 @@ public class QueryTimePartitionTest { getTimePartitionSlotList( new AndFilter( TimeFilter.gtEq( - IoTDBDescriptor.getInstance().getConfig().getTimePartitionInterval() - 1), + CommonDescriptor.getInstance().getConfig().getTimePartitionInterval() - 1), TimeFilter.lt( - IoTDBDescriptor.getInstance().getConfig().getTimePartitionInterval() + 1))); + CommonDescriptor.getInstance().getConfig().getTimePartitionInterval() + 1))); expected = Arrays.asList( new TTimePartitionSlot(0), new TTimePartitionSlot( - IoTDBDescriptor.getInstance().getConfig().getTimePartitionInterval())); + CommonDescriptor.getInstance().getConfig().getTimePartitionInterval())); assertEquals(expected.size(), res.left.size()); for (int i = 0; i < expected.size(); i++) { assertEquals(expected.get(i), res.left.get(i)); @@ -440,13 +441,13 @@ public class QueryTimePartitionTest { res = getTimePartitionSlotList( TimeFilter.between( - IoTDBDescriptor.getInstance().getConfig().getTimePartitionInterval() - 1, - IoTDBDescriptor.getInstance().getConfig().getTimePartitionInterval())); + CommonDescriptor.getInstance().getConfig().getTimePartitionInterval() - 1, + CommonDescriptor.getInstance().getConfig().getTimePartitionInterval())); expected = Arrays.asList( new TTimePartitionSlot(0), new TTimePartitionSlot( - IoTDBDescriptor.getInstance().getConfig().getTimePartitionInterval())); + CommonDescriptor.getInstance().getConfig().getTimePartitionInterval())); assertEquals(expected.size(), res.left.size()); for (int i = 0; i < expected.size(); i++) { assertEquals(expected.get(i), res.left.get(i)); @@ -460,13 +461,13 @@ public class QueryTimePartitionTest { getTimePartitionSlotList( new AndFilter( TimeFilter.gtEq( - IoTDBDescriptor.getInstance().getConfig().getTimePartitionInterval()), + CommonDescriptor.getInstance().getConfig().getTimePartitionInterval()), TimeFilter.ltEq( - IoTDBDescriptor.getInstance().getConfig().getTimePartitionInterval() + 1))); + CommonDescriptor.getInstance().getConfig().getTimePartitionInterval() + 1))); expected = Collections.singletonList( new TTimePartitionSlot( - IoTDBDescriptor.getInstance().getConfig().getTimePartitionInterval())); + CommonDescriptor.getInstance().getConfig().getTimePartitionInterval())); assertEquals(expected.size(), res.left.size()); for (int i = 0; i < expected.size(); i++) { assertEquals(expected.get(i), res.left.get(i)); @@ -479,12 +480,12 @@ public class QueryTimePartitionTest { res = getTimePartitionSlotList( TimeFilter.between( - IoTDBDescriptor.getInstance().getConfig().getTimePartitionInterval(), - IoTDBDescriptor.getInstance().getConfig().getTimePartitionInterval() + 1)); + CommonDescriptor.getInstance().getConfig().getTimePartitionInterval(), + CommonDescriptor.getInstance().getConfig().getTimePartitionInterval() + 1)); expected = Collections.singletonList( new TTimePartitionSlot( - IoTDBDescriptor.getInstance().getConfig().getTimePartitionInterval())); + CommonDescriptor.getInstance().getConfig().getTimePartitionInterval())); assertEquals(expected.size(), res.left.size()); for (int i = 0; i < expected.size(); i++) { assertEquals(expected.get(i), res.left.get(i)); @@ -507,38 +508,39 @@ public class QueryTimePartitionTest { new AndFilter( TimeFilter.gtEq(10), TimeFilter.lt( - IoTDBDescriptor.getInstance().getConfig().getTimePartitionInterval())), + CommonDescriptor.getInstance().getConfig().getTimePartitionInterval())), new AndFilter( - TimeFilter.gt(IoTDBDescriptor.getInstance().getConfig().getTimePartitionInterval()), + TimeFilter.gt( + CommonDescriptor.getInstance().getConfig().getTimePartitionInterval()), TimeFilter.lt( - IoTDBDescriptor.getInstance().getConfig().getTimePartitionInterval() * 2 + CommonDescriptor.getInstance().getConfig().getTimePartitionInterval() * 2 - 100))); OrFilter orFilter2 = new OrFilter( orFilter1, new AndFilter( TimeFilter.gt( - IoTDBDescriptor.getInstance().getConfig().getTimePartitionInterval() * 2 - 50), + CommonDescriptor.getInstance().getConfig().getTimePartitionInterval() * 2 - 50), TimeFilter.ltEq( - IoTDBDescriptor.getInstance().getConfig().getTimePartitionInterval() * 2 + CommonDescriptor.getInstance().getConfig().getTimePartitionInterval() * 2 - 40))); OrFilter orFilter3 = new OrFilter( orFilter2, new AndFilter( TimeFilter.gt( - IoTDBDescriptor.getInstance().getConfig().getTimePartitionInterval() * 2 - 20), + CommonDescriptor.getInstance().getConfig().getTimePartitionInterval() * 2 - 20), TimeFilter.ltEq( - IoTDBDescriptor.getInstance().getConfig().getTimePartitionInterval() * 3 + CommonDescriptor.getInstance().getConfig().getTimePartitionInterval() * 3 + 10))); OrFilter orFilter4 = new OrFilter( orFilter3, new AndFilter( TimeFilter.gt( - IoTDBDescriptor.getInstance().getConfig().getTimePartitionInterval() * 5 + 1), + CommonDescriptor.getInstance().getConfig().getTimePartitionInterval() * 5 + 1), TimeFilter.lt( - IoTDBDescriptor.getInstance().getConfig().getTimePartitionInterval() * 5 + CommonDescriptor.getInstance().getConfig().getTimePartitionInterval() * 5 + 10))); res = getTimePartitionSlotList(orFilter4); @@ -546,13 +548,13 @@ public class QueryTimePartitionTest { Arrays.asList( new TTimePartitionSlot(0), new TTimePartitionSlot( - IoTDBDescriptor.getInstance().getConfig().getTimePartitionInterval()), + CommonDescriptor.getInstance().getConfig().getTimePartitionInterval()), new TTimePartitionSlot( - IoTDBDescriptor.getInstance().getConfig().getTimePartitionInterval() * 2), + CommonDescriptor.getInstance().getConfig().getTimePartitionInterval() * 2), new TTimePartitionSlot( - IoTDBDescriptor.getInstance().getConfig().getTimePartitionInterval() * 3), + CommonDescriptor.getInstance().getConfig().getTimePartitionInterval() * 3), new TTimePartitionSlot( - IoTDBDescriptor.getInstance().getConfig().getTimePartitionInterval() * 5)); + CommonDescriptor.getInstance().getConfig().getTimePartitionInterval() * 5)); assertEquals(expected.size(), res.left.size()); for (int i = 0; i < expected.size(); i++) { assertEquals(expected.get(i), res.left.get(i)); diff --git a/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/node/write/WritePlanNodeSplitTest.java b/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/node/write/WritePlanNodeSplitTest.java index 76b5ced8eb8..b00c7544566 100644 --- a/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/node/write/WritePlanNodeSplitTest.java +++ b/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/node/write/WritePlanNodeSplitTest.java @@ -26,6 +26,7 @@ import org.apache.iotdb.common.rpc.thrift.TEndPoint; import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet; import org.apache.iotdb.common.rpc.thrift.TSeriesPartitionSlot; import org.apache.iotdb.common.rpc.thrift.TTimePartitionSlot; +import org.apache.iotdb.commons.conf.CommonDescriptor; import org.apache.iotdb.commons.exception.IllegalPathException; import org.apache.iotdb.commons.partition.DataPartition; import org.apache.iotdb.commons.partition.DataPartitionQueryParam; @@ -71,8 +72,8 @@ public class WritePlanNodeSplitTest { @Before public void setUp() { prevTimePartitionInterval = - IoTDBDescriptor.getInstance().getConfig().getTimePartitionInterval(); - IoTDBDescriptor.getInstance().getConfig().setTimePartitionInterval(100); + CommonDescriptor.getInstance().getConfig().getTimePartitionInterval(); + CommonDescriptor.getInstance().getConfig().setTimePartitionInterval(100); TimePartitionUtils.setTimePartitionInterval(100); executorClassName = IoTDBDescriptor.getInstance().getConfig().getSeriesPartitionExecutorClass(); @@ -316,6 +317,6 @@ public class WritePlanNodeSplitTest { @After public void tearDown() { TimePartitionUtils.setTimePartitionInterval(prevTimePartitionInterval); - IoTDBDescriptor.getInstance().getConfig().setTimePartitionInterval(prevTimePartitionInterval); + CommonDescriptor.getInstance().getConfig().setTimePartitionInterval(prevTimePartitionInterval); } } diff --git a/server/src/test/java/org/apache/iotdb/db/qp/sql/ASTVisitorTest.java b/server/src/test/java/org/apache/iotdb/db/qp/sql/ASTVisitorTest.java index 10770eb2044..539a99c48b0 100644 --- a/server/src/test/java/org/apache/iotdb/db/qp/sql/ASTVisitorTest.java +++ b/server/src/test/java/org/apache/iotdb/db/qp/sql/ASTVisitorTest.java @@ -19,7 +19,7 @@ package org.apache.iotdb.db.qp.sql; -import org.apache.iotdb.db.conf.IoTDBDescriptor; +import org.apache.iotdb.commons.conf.CommonDescriptor; import org.apache.iotdb.db.constant.SqlConstant; import org.apache.iotdb.db.exception.sql.SemanticException; import org.apache.iotdb.db.mpp.plan.parser.ASTVisitor; @@ -71,22 +71,22 @@ public class ASTVisitorTest { @Test public void testParseTimeFormatNowPrecision() { - String timePrecision = IoTDBDescriptor.getInstance().getConfig().getTimestampPrecision(); - IoTDBDescriptor.getInstance().getConfig().setTimestampPrecision("ms"); + String timePrecision = CommonDescriptor.getInstance().getConfig().getTimestampPrecision(); + CommonDescriptor.getInstance().getConfig().setTimestampPrecision("ms"); long now_ms = visitor.parseDateFormat(SqlConstant.NOW_FUNC); String ms_str = String.valueOf(now_ms); - IoTDBDescriptor.getInstance().getConfig().setTimestampPrecision("us"); + CommonDescriptor.getInstance().getConfig().setTimestampPrecision("us"); long now_us = visitor.parseDateFormat(SqlConstant.NOW_FUNC); String us_str = String.valueOf(now_us); - IoTDBDescriptor.getInstance().getConfig().setTimestampPrecision("ns"); + CommonDescriptor.getInstance().getConfig().setTimestampPrecision("ns"); long now_ns = visitor.parseDateFormat(SqlConstant.NOW_FUNC); String ns_str = String.valueOf(now_ns); assertEquals(ms_str.length() + 3, (us_str).length()); assertEquals(us_str.length() + 3, (ns_str).length()); - IoTDBDescriptor.getInstance().getConfig().setTimestampPrecision(timePrecision); + CommonDescriptor.getInstance().getConfig().setTimestampPrecision(timePrecision); } @Test(expected = SemanticException.class) diff --git a/server/src/test/java/org/apache/iotdb/db/tools/PBTreeFileSketchTest.java b/server/src/test/java/org/apache/iotdb/db/tools/PBTreeFileSketchTest.java index 1a6140208bf..e5fd2cd1e56 100644 --- a/server/src/test/java/org/apache/iotdb/db/tools/PBTreeFileSketchTest.java +++ b/server/src/test/java/org/apache/iotdb/db/tools/PBTreeFileSketchTest.java @@ -19,9 +19,9 @@ package org.apache.iotdb.db.tools; +import org.apache.iotdb.commons.conf.CommonDescriptor; import org.apache.iotdb.commons.exception.MetadataException; import org.apache.iotdb.commons.schema.node.utils.IMNodeFactory; -import org.apache.iotdb.db.conf.IoTDBDescriptor; import org.apache.iotdb.db.metadata.MetadataConstant; import org.apache.iotdb.db.metadata.mnode.schemafile.ICachedMNode; import org.apache.iotdb.db.metadata.mnode.schemafile.factory.CacheMNodeFactory; @@ -55,7 +55,7 @@ public class PBTreeFileSketchTest { @Before public void setUp() { - IoTDBDescriptor.getInstance() + CommonDescriptor.getInstance() .getConfig() .setSchemaEngineMode(SchemaEngineMode.PB_Tree.toString()); EnvironmentUtils.envSetUp(); @@ -66,7 +66,7 @@ public class PBTreeFileSketchTest { File sketch = new File("sketch_schemafile.txt"); sketch.deleteOnExit(); EnvironmentUtils.cleanEnv(); - IoTDBDescriptor.getInstance() + CommonDescriptor.getInstance() .getConfig() .setSchemaEngineMode(SchemaEngineMode.Memory.toString()); } diff --git a/server/src/test/java/org/apache/iotdb/db/tools/TsFileAndModSettleToolTest.java b/server/src/test/java/org/apache/iotdb/db/tools/TsFileAndModSettleToolTest.java index e7b3ddb5e11..9dc8066b786 100644 --- a/server/src/test/java/org/apache/iotdb/db/tools/TsFileAndModSettleToolTest.java +++ b/server/src/test/java/org/apache/iotdb/db/tools/TsFileAndModSettleToolTest.java @@ -18,6 +18,8 @@ */ package org.apache.iotdb.db.tools; +import org.apache.iotdb.commons.conf.CommonConfig; +import org.apache.iotdb.commons.conf.CommonDescriptor; import org.apache.iotdb.commons.exception.IllegalPathException; import org.apache.iotdb.commons.path.PartialPath; import org.apache.iotdb.commons.utils.FileUtils; @@ -65,14 +67,14 @@ public class TsFileAndModSettleToolTest { protected final String SENSOR2 = "sensor_2"; private final long VALUE_OFFSET = 1; private String path = null; - private IoTDBConfig config; + private final IoTDBConfig config = IoTDBDescriptor.getInstance().getConfig(); + private static final CommonConfig COMMON_CONFIG = CommonDescriptor.getInstance().getConfig(); private long originPartitionInterval; @Before public void setUp() { - config = IoTDBDescriptor.getInstance().getConfig(); - originPartitionInterval = config.getTimePartitionInterval(); - config.setTimePartitionInterval(newPartitionInterval); + originPartitionInterval = COMMON_CONFIG.getTimePartitionInterval(); + COMMON_CONFIG.setTimePartitionInterval(newPartitionInterval); EnvironmentUtils.envSetUp(); File f = new File(folder); @@ -100,7 +102,7 @@ public class TsFileAndModSettleToolTest { } catch (Exception e) { Assert.fail(e.getMessage()); } finally { - config.setTimePartitionInterval(originPartitionInterval); + COMMON_CONFIG.setTimePartitionInterval(originPartitionInterval); } }
