This is an automated email from the ASF dual-hosted git repository. spricoder pushed a commit to branch optimize/metric_constant in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 34d6d291b1ef9509d158283671579022e2ee66a5 Author: spricoder <[email protected]> AuthorDate: Tue Jun 20 00:51:34 2023 +0800 Move default database from IoTDBMetricsUtils to IoTDBConfig --- .../org/apache/iotdb/confignode/conf/ConfigNodeDescriptor.java | 4 +++- .../confignode/manager/pipe/runtime/PipeLeaderChangeHandler.java | 4 ++-- .../iotdb/confignode/manager/schema/ClusterSchemaManager.java | 6 +++--- .../procedure/impl/pipe/task/CreatePipeProcedureV2.java | 4 ++-- .../confignode/service/thrift/ConfigNodeRPCServiceProcessor.java | 4 ++-- .../main/java/org/apache/iotdb/metrics/config/MetricConfig.java | 8 +++++++- .../apache/iotdb/metrics/reporter/iotdb/IoTDBSessionReporter.java | 7 +++++-- .../java/org/apache/iotdb/metrics/utils/IoTDBMetricsUtils.java | 3 +-- server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java | 1 + .../src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java | 3 ++- .../java/org/apache/iotdb/db/engine/flush/MemTableFlushTask.java | 3 +-- .../iotdb/db/mpp/plan/planner/distribution/SourceRewriter.java | 8 ++++---- .../iotdb/db/service/metrics/IoTDBInternalLocalReporter.java | 6 +++--- 13 files changed, 36 insertions(+), 25 deletions(-) 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 9864c382941..81874d7ffa9 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 @@ -27,6 +27,7 @@ import org.apache.iotdb.confignode.manager.load.balancer.RegionBalancer; import org.apache.iotdb.confignode.manager.load.balancer.router.leader.ILeaderBalancer; import org.apache.iotdb.confignode.manager.load.balancer.router.priority.IPriorityBalancer; import org.apache.iotdb.confignode.manager.partition.RegionGroupExtensionPolicy; +import org.apache.iotdb.db.conf.IoTDBConfig; import org.apache.iotdb.metrics.config.MetricConfigDescriptor; import org.apache.iotdb.metrics.utils.NodeType; @@ -134,7 +135,8 @@ public class ConfigNodeDescriptor { MetricConfigDescriptor.getInstance().loadProps(commonProperties); MetricConfigDescriptor.getInstance() .getMetricConfig() - .updateRpcInstance(conf.getClusterName(), NodeType.CONFIGNODE); + .updateRpcInstance( + conf.getClusterName(), NodeType.CONFIGNODE, IoTDBConfig.SYSTEM_DATABASE); } } else { LOGGER.warn( diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/runtime/PipeLeaderChangeHandler.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/runtime/PipeLeaderChangeHandler.java index 3f93fb022b9..fb4aa8465d3 100644 --- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/runtime/PipeLeaderChangeHandler.java +++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/runtime/PipeLeaderChangeHandler.java @@ -25,7 +25,7 @@ import org.apache.iotdb.confignode.manager.ConfigManager; import org.apache.iotdb.confignode.manager.load.subscriber.IClusterStatusSubscriber; import org.apache.iotdb.confignode.manager.load.subscriber.RouteChangeEvent; import org.apache.iotdb.confignode.manager.load.subscriber.StatisticsChangeEvent; -import org.apache.iotdb.metrics.utils.IoTDBMetricsUtils; +import org.apache.iotdb.db.conf.IoTDBConfig; import org.apache.iotdb.tsfile.utils.Pair; import java.util.HashMap; @@ -61,7 +61,7 @@ public class PipeLeaderChangeHandler implements IClusterStatusSubscriber { if (regionGroupId.getType().equals(TConsensusGroupType.DataRegion)) { final String databaseName = configManager.getPartitionManager().getRegionStorageGroup(regionGroupId); - if (databaseName != null && !databaseName.equals(IoTDBMetricsUtils.DATABASE)) { + if (databaseName != null && !databaseName.equals(IoTDBConfig.SYSTEM_DATABASE)) { // pipe only collect user's data, filter metric database here. dataRegionGroupToOldAndNewLeaderPairMap.put( regionGroupId, diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/schema/ClusterSchemaManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/schema/ClusterSchemaManager.java index 0dcb842aab4..b555064a547 100644 --- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/schema/ClusterSchemaManager.java +++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/schema/ClusterSchemaManager.java @@ -72,12 +72,12 @@ import org.apache.iotdb.confignode.rpc.thrift.TGetAllTemplatesResp; import org.apache.iotdb.confignode.rpc.thrift.TGetPathsSetTemplatesResp; import org.apache.iotdb.confignode.rpc.thrift.TGetTemplateResp; import org.apache.iotdb.confignode.rpc.thrift.TShowDatabaseResp; +import org.apache.iotdb.db.conf.IoTDBConfig; import org.apache.iotdb.db.metadata.template.Template; import org.apache.iotdb.db.metadata.template.TemplateInternalRPCUpdateType; import org.apache.iotdb.db.metadata.template.TemplateInternalRPCUtil; import org.apache.iotdb.db.metadata.template.alter.TemplateExtendInfo; import org.apache.iotdb.db.utils.SchemaUtils; -import org.apache.iotdb.metrics.utils.IoTDBMetricsUtils; import org.apache.iotdb.mpp.rpc.thrift.TUpdateTemplateReq; import org.apache.iotdb.rpc.RpcUtils; import org.apache.iotdb.rpc.TSStatusCode; @@ -403,7 +403,7 @@ public class ClusterSchemaManager { for (TDatabaseSchema databaseSchema : databaseSchemaMap.values()) { if (!isDatabaseExist(databaseSchema.getName()) - || databaseSchema.getName().equals(IoTDBMetricsUtils.DATABASE)) { + || databaseSchema.getName().equals(IoTDBConfig.SYSTEM_DATABASE)) { // filter the pre deleted database and the system database databaseNum--; } @@ -411,7 +411,7 @@ public class ClusterSchemaManager { AdjustMaxRegionGroupNumPlan adjustMaxRegionGroupNumPlan = new AdjustMaxRegionGroupNumPlan(); for (TDatabaseSchema databaseSchema : databaseSchemaMap.values()) { - if (databaseSchema.getName().equals(IoTDBMetricsUtils.DATABASE)) { + if (databaseSchema.getName().equals(IoTDBConfig.SYSTEM_DATABASE)) { // filter the system database continue; } diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/pipe/task/CreatePipeProcedureV2.java b/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/pipe/task/CreatePipeProcedureV2.java index 746ca40b878..2bb5e7b4a07 100644 --- a/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/pipe/task/CreatePipeProcedureV2.java +++ b/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/pipe/task/CreatePipeProcedureV2.java @@ -35,7 +35,7 @@ import org.apache.iotdb.confignode.procedure.impl.pipe.PipeTaskOperation; import org.apache.iotdb.confignode.procedure.store.ProcedureType; import org.apache.iotdb.confignode.rpc.thrift.TCreatePipeReq; import org.apache.iotdb.consensus.common.response.ConsensusWriteResponse; -import org.apache.iotdb.metrics.utils.IoTDBMetricsUtils; +import org.apache.iotdb.db.conf.IoTDBConfig; import org.apache.iotdb.pipe.api.exception.PipeException; import org.apache.iotdb.rpc.TSStatusCode; import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils; @@ -111,7 +111,7 @@ public class CreatePipeProcedureV2 extends AbstractOperatePipeProcedureV2 { env.getConfigManager() .getPartitionManager() .getRegionStorageGroup(regionGroupId); - if (databaseName != null && !databaseName.equals(IoTDBMetricsUtils.DATABASE)) { + if (databaseName != null && !databaseName.equals(IoTDBConfig.SYSTEM_DATABASE)) { // pipe only collect user's data, filter metric database here. consensusGroupIdToTaskMetaMap.put( regionGroupId, 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 c2cbf6496c1..01ea8526aa1 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 @@ -163,8 +163,8 @@ import org.apache.iotdb.confignode.rpc.thrift.TUpdateModelInfoReq; import org.apache.iotdb.confignode.rpc.thrift.TUpdateModelStateReq; import org.apache.iotdb.confignode.service.ConfigNode; import org.apache.iotdb.consensus.common.response.ConsensusGenericResponse; +import org.apache.iotdb.db.conf.IoTDBConfig; import org.apache.iotdb.db.mpp.plan.statement.AuthorType; -import org.apache.iotdb.metrics.utils.IoTDBMetricsUtils; import org.apache.iotdb.rpc.RpcUtils; import org.apache.iotdb.rpc.TSStatusCode; @@ -281,7 +281,7 @@ public class ConfigNodeRPCServiceProcessor implements IConfigNodeRPCService.Ifac @Override public TSStatus setDatabase(TDatabaseSchema databaseSchema) { TSStatus errorResp = null; - boolean isSystemDatabase = databaseSchema.getName().equals(IoTDBMetricsUtils.DATABASE); + boolean isSystemDatabase = databaseSchema.getName().equals(IoTDBConfig.SYSTEM_DATABASE); // Set default configurations if necessary if (!databaseSchema.isSetTTL()) { diff --git a/metrics/interface/src/main/java/org/apache/iotdb/metrics/config/MetricConfig.java b/metrics/interface/src/main/java/org/apache/iotdb/metrics/config/MetricConfig.java index 4989cfbdacf..8be699eb106 100644 --- a/metrics/interface/src/main/java/org/apache/iotdb/metrics/config/MetricConfig.java +++ b/metrics/interface/src/main/java/org/apache/iotdb/metrics/config/MetricConfig.java @@ -70,6 +70,7 @@ public class MetricConfig { private int nodeId = 0; private long upTimeInNs = 0; + private String internalDatabase = "root.__system"; public MetricConfig() { // try to get pid of iotdb instance @@ -161,10 +162,15 @@ public class MetricConfig { return upTimeInNs; } + public String getInternalDatabase() { + return internalDatabase; + } + /** Update rpc address and rpc port of monitored node. */ - public void updateRpcInstance(String clusterName, NodeType nodeType) { + public void updateRpcInstance(String clusterName, NodeType nodeType, String internalDatabase) { this.clusterName = clusterName; this.nodeType = nodeType; + this.internalDatabase = internalDatabase; } public void setNodeId(int nodeId) { diff --git a/metrics/interface/src/main/java/org/apache/iotdb/metrics/reporter/iotdb/IoTDBSessionReporter.java b/metrics/interface/src/main/java/org/apache/iotdb/metrics/reporter/iotdb/IoTDBSessionReporter.java index b0744c0d617..af5a0529f78 100644 --- a/metrics/interface/src/main/java/org/apache/iotdb/metrics/reporter/iotdb/IoTDBSessionReporter.java +++ b/metrics/interface/src/main/java/org/apache/iotdb/metrics/reporter/iotdb/IoTDBSessionReporter.java @@ -46,6 +46,8 @@ import java.util.concurrent.TimeUnit; public class IoTDBSessionReporter extends IoTDBReporter { private static final Logger LOGGER = LoggerFactory.getLogger(IoTDBSessionReporter.class); + private static final MetricConfig metricConfig = + MetricConfigDescriptor.getInstance().getMetricConfig(); private static final MetricConfig.IoTDBReporterConfig ioTDBReporterConfig = MetricConfigDescriptor.getInstance().getMetricConfig().getIotdbReporterConfig(); private Future<?> currentServiceFuture; @@ -66,12 +68,13 @@ public class IoTDBSessionReporter extends IoTDBReporter { ioTDBReporterConfig.getPassword(), ioTDBReporterConfig.getMaxConnectionNumber()); try (SessionDataSetWrapper result = - this.sessionPool.executeQueryStatement("SHOW DATABASES " + IoTDBMetricsUtils.DATABASE)) { + this.sessionPool.executeQueryStatement( + "SHOW DATABASES " + metricConfig.getInternalDatabase())) { if (!result.hasNext()) { try (SessionDataSetWrapper result2 = this.sessionPool.executeQueryStatement( "CREATE " - + IoTDBMetricsUtils.DATABASE + + metricConfig.getInternalDatabase() + " WITH SCHEMA_REPLICATION_FACTOR=1, DATA_REPLICATION_FACTOR=1, SCHEMA_REGION_GROUP_NUM=1, DATA_REGION_GROUP_NUM=1")) { if (!result2.hasNext()) { LOGGER.error("IoTDBSessionReporter checkOrCreateDatabase failed."); diff --git a/metrics/interface/src/main/java/org/apache/iotdb/metrics/utils/IoTDBMetricsUtils.java b/metrics/interface/src/main/java/org/apache/iotdb/metrics/utils/IoTDBMetricsUtils.java index 6cb886554b0..632d27345d3 100644 --- a/metrics/interface/src/main/java/org/apache/iotdb/metrics/utils/IoTDBMetricsUtils.java +++ b/metrics/interface/src/main/java/org/apache/iotdb/metrics/utils/IoTDBMetricsUtils.java @@ -30,7 +30,6 @@ import static org.apache.iotdb.tsfile.common.constant.TsFileConstant.DOUBLE_BACK public class IoTDBMetricsUtils { private static final MetricConfig METRIC_CONFIG = MetricConfigDescriptor.getInstance().getMetricConfig(); - public static final String DATABASE = "root.__system"; /** Generate the path of metric by metricInfo. */ public static String generatePath(MetricInfo metricInfo) { @@ -71,7 +70,7 @@ public class IoTDBMetricsUtils { private static StringBuilder generateMetric(String name) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder - .append(DATABASE) + .append(METRIC_CONFIG.getInternalDatabase()) .append(".") .append(METRIC_CONFIG.getIotdbReporterConfig().getLocation()) .append(".`") 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 1cc7f3c436b..d5433fcb0bc 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 @@ -91,6 +91,7 @@ public class IoTDBConfig { "([" + PATH_SEPARATOR + "])?" + NODE_NAME_MATCHER + "(" + PARTIAL_NODE_MATCHER + ")*"; public static final Pattern NODE_PATTERN = Pattern.compile(NODE_MATCHER); + public static final String SYSTEM_DATABASE = "root.__system"; /** whether to enable the mqtt service. */ private boolean enableMQTTService = false; 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 02e7a7a48bd..e33fc0437bb 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 @@ -193,7 +193,8 @@ public class IoTDBDescriptor { MetricConfigDescriptor.getInstance().loadProps(commonProperties); MetricConfigDescriptor.getInstance() .getMetricConfig() - .updateRpcInstance(conf.getClusterName(), NodeType.DATANODE); + .updateRpcInstance( + conf.getClusterName(), NodeType.DATANODE, IoTDBConfig.SYSTEM_DATABASE); } } else { logger.warn( diff --git a/server/src/main/java/org/apache/iotdb/db/engine/flush/MemTableFlushTask.java b/server/src/main/java/org/apache/iotdb/db/engine/flush/MemTableFlushTask.java index 2a81dbe26b3..7f12528d8e1 100644 --- a/server/src/main/java/org/apache/iotdb/db/engine/flush/MemTableFlushTask.java +++ b/server/src/main/java/org/apache/iotdb/db/engine/flush/MemTableFlushTask.java @@ -31,7 +31,6 @@ import org.apache.iotdb.db.exception.runtime.FlushRunTimeException; import org.apache.iotdb.db.metadata.idtable.entry.IDeviceID; import org.apache.iotdb.db.rescon.SystemInfo; import org.apache.iotdb.db.service.metrics.WritingMetrics; -import org.apache.iotdb.metrics.utils.IoTDBMetricsUtils; import org.apache.iotdb.metrics.utils.MetricLevel; import org.apache.iotdb.tsfile.write.chunk.IChunkWriter; import org.apache.iotdb.tsfile.write.writer.RestorableTsFileIOWriter; @@ -279,7 +278,7 @@ public class MemTableFlushTask { Thread.currentThread().interrupt(); } - if (!storageGroup.startsWith(IoTDBMetricsUtils.DATABASE)) { + if (!storageGroup.startsWith(IoTDBConfig.SYSTEM_DATABASE)) { int lastIndex = storageGroup.lastIndexOf("-"); if (lastIndex == -1) { lastIndex = storageGroup.length(); diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/distribution/SourceRewriter.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/distribution/SourceRewriter.java index e0239b98e8b..fea6109d195 100644 --- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/distribution/SourceRewriter.java +++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/distribution/SourceRewriter.java @@ -23,6 +23,7 @@ import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet; import org.apache.iotdb.commons.exception.IllegalPathException; import org.apache.iotdb.commons.path.PartialPath; import org.apache.iotdb.commons.path.PathPatternTree; +import org.apache.iotdb.db.conf.IoTDBConfig; import org.apache.iotdb.db.mpp.common.MPPQueryContext; import org.apache.iotdb.db.mpp.plan.analyze.Analysis; import org.apache.iotdb.db.mpp.plan.expression.Expression; @@ -63,7 +64,6 @@ import org.apache.iotdb.db.mpp.plan.planner.plan.parameter.AggregationStep; import org.apache.iotdb.db.mpp.plan.planner.plan.parameter.CrossSeriesAggregationDescriptor; import org.apache.iotdb.db.mpp.plan.statement.component.Ordering; import org.apache.iotdb.db.mpp.plan.statement.crud.QueryStatement; -import org.apache.iotdb.metrics.utils.IoTDBMetricsUtils; import java.util.ArrayList; import java.util.Collections; @@ -313,7 +313,7 @@ public class SourceRewriter extends SimplePlanNodeRewriter<DistributionPlanConte .getSchemaPartitionMap() .forEach( (storageGroup, deviceGroup) -> { - if (storageGroup.equals(IoTDBMetricsUtils.DATABASE)) { + if (storageGroup.equals(IoTDBConfig.SYSTEM_DATABASE)) { deviceGroup.forEach( (deviceGroupId, schemaRegionReplicaSet) -> regionsOfSystemDatabase.add(schemaRegionReplicaSet)); @@ -353,7 +353,7 @@ public class SourceRewriter extends SimplePlanNodeRewriter<DistributionPlanConte .getSchemaPartitionMap() .forEach( (storageGroup, deviceGroup) -> { - if (storageGroup.equals(IoTDBMetricsUtils.DATABASE)) { + if (storageGroup.equals(IoTDBConfig.SYSTEM_DATABASE)) { deviceGroup.forEach( (deviceGroupId, schemaRegionReplicaSet) -> regionsOfSystemDatabase.add(schemaRegionReplicaSet)); @@ -384,7 +384,7 @@ public class SourceRewriter extends SimplePlanNodeRewriter<DistributionPlanConte }); if (!regionsOfSystemDatabase.isEmpty()) { List<PartialPath> filteredPathPatternList = - filterPathPattern(patternTree, IoTDBMetricsUtils.DATABASE); + filterPathPattern(patternTree, IoTDBConfig.SYSTEM_DATABASE); regionsOfSystemDatabase.forEach( region -> { addSchemaSourceNode( diff --git a/server/src/main/java/org/apache/iotdb/db/service/metrics/IoTDBInternalLocalReporter.java b/server/src/main/java/org/apache/iotdb/db/service/metrics/IoTDBInternalLocalReporter.java index a634b678a03..5935a95ee11 100644 --- a/server/src/main/java/org/apache/iotdb/db/service/metrics/IoTDBInternalLocalReporter.java +++ b/server/src/main/java/org/apache/iotdb/db/service/metrics/IoTDBInternalLocalReporter.java @@ -30,6 +30,7 @@ import org.apache.iotdb.confignode.rpc.thrift.TShowDatabaseResp; import org.apache.iotdb.db.client.ConfigNodeClient; import org.apache.iotdb.db.client.ConfigNodeClientManager; import org.apache.iotdb.db.client.ConfigNodeInfo; +import org.apache.iotdb.db.conf.IoTDBConfig; import org.apache.iotdb.db.exception.query.QueryProcessException; import org.apache.iotdb.db.mpp.common.SessionInfo; import org.apache.iotdb.db.mpp.plan.Coordinator; @@ -44,7 +45,6 @@ import org.apache.iotdb.db.query.control.SessionManager; import org.apache.iotdb.metrics.config.MetricConfigDescriptor; import org.apache.iotdb.metrics.reporter.iotdb.IoTDBInternalReporter; import org.apache.iotdb.metrics.utils.InternalReporterType; -import org.apache.iotdb.metrics.utils.IoTDBMetricsUtils; import org.apache.iotdb.metrics.utils.ReporterType; import org.apache.iotdb.rpc.IoTDBConnectionException; import org.apache.iotdb.rpc.TSStatusCode; @@ -87,11 +87,11 @@ public class IoTDBInternalLocalReporter extends IoTDBInternalReporter { try (ConfigNodeClient client = configNodeClientManager.borrowClient(ConfigNodeInfo.CONFIG_REGION_ID)) { TShowDatabaseResp showDatabaseResp = - client.showDatabase(Arrays.asList(IoTDBMetricsUtils.DATABASE.split("\\."))); + client.showDatabase(Arrays.asList(IoTDBConfig.SYSTEM_DATABASE.split("\\."))); if (TSStatusCode.SUCCESS_STATUS.getStatusCode() == showDatabaseResp.getStatus().getCode() && showDatabaseResp.getDatabaseInfoMapSize() == 0) { TDatabaseSchema databaseSchema = new TDatabaseSchema(); - databaseSchema.setName(IoTDBMetricsUtils.DATABASE); + databaseSchema.setName(IoTDBConfig.SYSTEM_DATABASE); databaseSchema.setSchemaReplicationFactor(1); databaseSchema.setDataReplicationFactor(1); databaseSchema.setMaxSchemaRegionGroupNum(1);
