From 6e3e5b0ac085242ae3232490e340ee2d7448d065 Mon Sep 17 00:00:00 2001 From: Tian Jiang Date: Thu, 13 Aug 2026 16:26:56 +0800 Subject: [PATCH] fix double load mem config --- .../java/org/apache/iotdb/db/conf/IoTDBDescriptor.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) 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 15d2b7d003d5..711a82038b51 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 @@ -141,7 +141,7 @@ public class IoTDBDescriptor { } protected IoTDBDescriptor() { - loadProps(); + boolean hasLoadedProperties = loadProps(); ServiceLoader propertiesLoaderServiceLoader = ServiceLoader.load(IPropertiesLoader.class); boolean hasProperties = false; @@ -167,8 +167,8 @@ protected IoTDBDescriptor() { .getConfig() .setCustomizedProperties(loader.getCustomizedProperties()); } - // if there are no properties, we need to init memory config - if (!hasProperties) { + // If no configuration source initialized the memory config, initialize it with defaults. + if (!hasLoadedProperties && !hasProperties) { memoryConfig.init(new TrimProperties()); } } @@ -227,7 +227,7 @@ else if (!urlString.endsWith(".properties")) { /** load a property file and set TsfileDBConfig variables. */ @SuppressWarnings("squid:S3776") // Suppress high Cognitive Complexity warning - private void loadProps() { + private boolean loadProps() { TrimProperties commonProperties = new TrimProperties(); // if new properties file exist, skip old properties files URL url = getPropsUrl(CommonConfig.SYSTEM_CONFIG_NAME); @@ -256,11 +256,13 @@ private void loadProps() { .getMetricConfig() .updateRpcInstance(NodeType.DATANODE, SchemaConstant.SYSTEM_DATABASE); } + return true; } else { LOGGER.warn( DataNodeMiscMessages .MISC_LOG_COULDN_T_LOAD_THE_CONFIGURATION_FROM_ANY_OF_THE_KNOWN_SOURCES_EE3ED103, CommonConfig.SYSTEM_CONFIG_NAME); + return false; } }