This is an automated email from the ASF dual-hosted git repository.
shuwenwei pushed a commit to branch showConfigurationSQL
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/showConfigurationSQL by this
push:
new 26e4bf09177 rename
26e4bf09177 is described below
commit 26e4bf0917790d1c2fa4abf0bf8379706a44d30a
Author: shuwenwei <[email protected]>
AuthorDate: Fri Aug 29 11:28:47 2025 +0800
rename
---
.../confignode/conf/ConfigNodeDescriptor.java | 7 +--
.../iotdb/confignode/manager/ConfigManager.java | 2 +-
.../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 6 +--
.../impl/DataNodeInternalRPCServiceImpl.java | 3 +-
.../execution/config/TableConfigTaskVisitor.java | 2 +-
.../config/executor/ClusterConfigTaskExecutor.java | 8 ++--
.../plan/relational/sql/ast/AstVisitor.java | 2 +-
.../plan/relational/sql/ast/ShowConfiguration.java | 2 +-
.../iotdb/commons/conf/ConfigurationFileUtils.java | 50 +++++-----------------
9 files changed, 26 insertions(+), 56 deletions(-)
diff --git
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeDescriptor.java
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeDescriptor.java
index 3243c4634ae..84cd36fc394 100644
---
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeDescriptor.java
+++
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeDescriptor.java
@@ -147,7 +147,7 @@ public class ConfigNodeDescriptor {
}
private void loadProperties(TrimProperties properties) throws
BadNodeUrlException, IOException {
- ConfigurationFileUtils.updateLastAppliedProperties(properties, false);
+ ConfigurationFileUtils.updateAppliedProperties(properties, false);
conf.setClusterName(properties.getProperty(IoTDBConstant.CLUSTER_NAME,
conf.getClusterName()));
conf.setInternalAddress(
@@ -766,8 +766,9 @@ public class ConfigNodeDescriptor {
}
public void loadHotModifiedProps(TrimProperties properties) throws
IOException {
- ConfigurationFileUtils.updateLastAppliedProperties(properties, true);
- conf.setClusterName(properties.getProperty(IoTDBConstant.CLUSTER_NAME,
conf.getClusterName()));
+ ConfigurationFileUtils.updateAppliedProperties(properties, true);
+ Optional.ofNullable(properties.getProperty(IoTDBConstant.CLUSTER_NAME))
+ .ifPresent(conf::setClusterName);
}
public static ConfigNodeDescriptor getInstance() {
diff --git
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java
index d0f77f613d2..10b63c6a74b 100644
---
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java
+++
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java
@@ -1795,7 +1795,7 @@ public class ConfigManager implements IManager {
TShowAppliedConfigurationsResp resp = new
TShowAppliedConfigurationsResp();
resp.setStatus(RpcUtils.SUCCESS_STATUS);
try {
- resp.setData(ConfigurationFileUtils.getLastAppliedProperties());
+ resp.setData(ConfigurationFileUtils.getAppliedProperties());
} catch (Exception e) {
resp.setStatus(RpcUtils.getStatus(TSStatusCode.EXECUTE_STATEMENT_ERROR,
e.getMessage()));
}
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
index 69081fe62be..c50c01f68b5 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
@@ -182,7 +182,7 @@ public class IoTDBDescriptor {
* @return url object if location exit, otherwise null.
*/
public static URL getPropsUrl(String configFileName) {
- String urlString =
"/Users/shuww/IdeaProjects/iotdb2/iotdb-core/datanode/src/test/resources";
+ String urlString = commonDescriptor.getConfDir();
if (urlString == null) {
// If urlString wasn't provided, try to find a default config in the
root of the classpath.
URL uri = IoTDBConfig.class.getResource("/" + configFileName);
@@ -255,7 +255,7 @@ public class IoTDBDescriptor {
}
public void loadProperties(TrimProperties properties) throws
BadNodeUrlException, IOException {
- ConfigurationFileUtils.updateLastAppliedProperties(properties, false);
+ ConfigurationFileUtils.updateAppliedProperties(properties, false);
conf.setClusterName(properties.getProperty(IoTDBConstant.CLUSTER_NAME,
conf.getClusterName()));
conf.setRpcAddress(properties.getProperty(IoTDBConstant.DN_RPC_ADDRESS,
conf.getRpcAddress()));
@@ -1962,7 +1962,7 @@ public class IoTDBDescriptor {
public synchronized void loadHotModifiedProps(TrimProperties properties)
throws QueryProcessException, IOException {
- ConfigurationFileUtils.updateLastAppliedProperties(properties, true);
+ ConfigurationFileUtils.updateAppliedProperties(properties, true);
try {
// update data dirs
String dataDirs = properties.getProperty("dn_data_dirs", null);
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/DataNodeInternalRPCServiceImpl.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/DataNodeInternalRPCServiceImpl.java
index 0d08cce15e2..419e45075e3 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/DataNodeInternalRPCServiceImpl.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/DataNodeInternalRPCServiceImpl.java
@@ -2409,8 +2409,7 @@ public class DataNodeInternalRPCServiceImpl implements
IDataNodeRPCService.Iface
TShowAppliedConfigurationsResp resp = new TShowAppliedConfigurationsResp();
resp.setStatus(RpcUtils.SUCCESS_STATUS);
try {
- resp.setData(ConfigurationFileUtils.getLastAppliedProperties());
-
+ resp.setData(ConfigurationFileUtils.getAppliedProperties());
} catch (Exception e) {
resp.setStatus(RpcUtils.getStatus(TSStatusCode.EXECUTE_STATEMENT_ERROR,
e.getMessage()));
}
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/TableConfigTaskVisitor.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/TableConfigTaskVisitor.java
index 72e07e6330d..6974d327aa3 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/TableConfigTaskVisitor.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/TableConfigTaskVisitor.java
@@ -918,7 +918,7 @@ public class TableConfigTaskVisitor extends
AstVisitor<IConfigTask, MPPQueryCont
}
@Override
- protected IConfigTask visitShowConfigurations(ShowConfiguration node,
MPPQueryContext context) {
+ protected IConfigTask visitShowConfiguration(ShowConfiguration node,
MPPQueryContext context) {
context.setQueryType(QueryType.READ);
accessControl.checkUserIsAdmin(context.getSession().getUserName());
return new ShowConfigurationTask((ShowConfigurationStatement)
node.getInnerTreeStatement());
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/executor/ClusterConfigTaskExecutor.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/executor/ClusterConfigTaskExecutor.java
index 9897c2d839f..658d974a38b 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/executor/ClusterConfigTaskExecutor.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/executor/ClusterConfigTaskExecutor.java
@@ -1280,9 +1280,9 @@ public class ClusterConfigTaskExecutor implements
IConfigTaskExecutor {
try {
boolean onLocal =
nodeId == -1 ||
IoTDBDescriptor.getInstance().getConfig().getDataNodeId() == nodeId;
- Map<String, String> lastAppliedProperties;
+ Map<String, String> appliedProperties;
if (onLocal) {
- lastAppliedProperties =
ConfigurationFileUtils.getLastAppliedProperties();
+ appliedProperties = ConfigurationFileUtils.getAppliedProperties();
} else {
try (ConfigNodeClient client =
CONFIG_NODE_CLIENT_MANAGER.borrowClient(ConfigNodeInfo.CONFIG_REGION_ID)) {
@@ -1291,11 +1291,11 @@ public class ClusterConfigTaskExecutor implements
IConfigTaskExecutor {
future.setException(new IoTDBException(resp.getStatus()));
return future;
}
- lastAppliedProperties =
client.showAppliedConfigurations(nodeId).getData();
+ appliedProperties =
client.showAppliedConfigurations(nodeId).getData();
}
}
ShowConfigurationTask.buildTsBlock(
- lastAppliedProperties,
+ appliedProperties,
showConfigurationStatement.isShowAllConfigurations(),
showConfigurationStatement.withDescription(),
future);
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/AstVisitor.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/AstVisitor.java
index 159f7573b72..f4ceb114632 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/AstVisitor.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/AstVisitor.java
@@ -477,7 +477,7 @@ public abstract class AstVisitor<R, C> {
return visitStatement(node, context);
}
- protected R visitShowConfigurations(ShowConfiguration node, C context) {
+ protected R visitShowConfiguration(ShowConfiguration node, C context) {
return visitStatement(node, context);
}
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ShowConfiguration.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ShowConfiguration.java
index fc9237d5fe9..b8bd5578246 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ShowConfiguration.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ShowConfiguration.java
@@ -30,6 +30,6 @@ public class ShowConfiguration extends WrappedStatement {
@Override
public <R, C> R accept(AstVisitor<R, C> visitor, C context) {
- return visitor.visitShowConfigurations(this, context);
+ return visitor.visitShowConfiguration(this, context);
}
}
diff --git
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/conf/ConfigurationFileUtils.java
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/conf/ConfigurationFileUtils.java
index 5493a761709..f291a51a28f 100644
---
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/conf/ConfigurationFileUtils.java
+++
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/conf/ConfigurationFileUtils.java
@@ -36,15 +36,13 @@ import java.net.URL;
import java.nio.file.Files;
import java.nio.file.StandardCopyOption;
import java.util.ArrayList;
-import java.util.Arrays;
+import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
-import java.util.Set;
import java.util.StringJoiner;
import java.util.concurrent.TimeUnit;
@@ -79,40 +77,10 @@ public class ConfigurationFileUtils {
private static final String DATATYPE_PREFIX = "Datatype:";
private static Map<String, DefaultConfigurationItem>
configuration2DefaultValue;
- // This is a temporary implementations
- private static final Set<String> ignoreConfigKeys =
- new HashSet<>(
- Arrays.asList(
- "cn_internal_address",
- "cn_internal_port",
- "cn_consensus_port",
- "cn_seed_config_node",
- "dn_internal_address",
- "dn_internal_port",
- "dn_mpp_data_exchange_port",
- "dn_schema_region_consensus_port",
- "dn_data_region_consensus_port",
- "dn_seed_config_node",
- "dn_session_timeout_threshold",
- "config_node_consensus_protocol_class",
- "schema_replication_factor",
- "data_replication_factor",
- "data_region_consensus_protocol_class",
- "series_slot_num",
- "series_partition_executor_class",
- "time_partition_interval",
- "schema_engine_mode",
- "tag_attribute_flush_interval",
- "tag_attribute_total_size",
- "timestamp_precision",
- "iotdb_server_encrypt_decrypt_provider",
- "iotdb_server_encrypt_decrypt_provider_parameter",
- "pipe_lib_dir"));
-
private static final Map<String, String> lastAppliedProperties = new
HashMap<>();
- public static void updateLastAppliedProperties(
- TrimProperties properties, boolean isHotReloading) throws IOException {
+ public static void updateAppliedProperties(TrimProperties properties,
boolean isHotReloading)
+ throws IOException {
loadConfigurationDefaultValueFromTemplate();
for (Map.Entry<Object, Object> entry : properties.entrySet()) {
String key = entry.getKey().toString();
@@ -129,7 +97,7 @@ public class ConfigurationFileUtils {
}
}
- public static Map<String, String> getLastAppliedProperties() {
+ public static Map<String, String> getAppliedProperties() {
return lastAppliedProperties;
}
@@ -241,13 +209,15 @@ public class ConfigurationFileUtils {
} catch (IOException e) {
successLoadDefaultValueMap = false;
}
+ if (!successLoadDefaultValueMap) {
+ return Collections.emptyList();
+ }
List<String> ignoredConfigItems = new ArrayList<>();
for (String key : configItems.keySet()) {
- if (ignoreConfigKeys.contains(key)) {
- ignoredConfigItems.add(key);
- }
- if (successLoadDefaultValueMap &&
!configuration2DefaultValue.containsKey(key)) {
+ DefaultConfigurationItem defaultConfigurationItem =
configuration2DefaultValue.get(key);
+ if (defaultConfigurationItem == null
+ || defaultConfigurationItem.effectiveMode ==
EffectiveModeType.FIRST_START) {
ignoredConfigItems.add(key);
}
}