This is an automated email from the ASF dual-hosted git repository.

yongzao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/master by this push:
     new bfb4856ef98 Do some operations when some config params are invalid 
(#17498)
bfb4856ef98 is described below

commit bfb4856ef987e088baed916519cf25867d23491c
Author: libo <[email protected]>
AuthorDate: Thu Apr 16 19:17:31 2026 +0800

    Do some operations when some config params are invalid (#17498)
---
 .../confignode/conf/ConfigNodeDescriptor.java      | 15 +++++++++++--
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  | 26 ++++++++++++++++++----
 2 files changed, 35 insertions(+), 6 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 9f8206f5dd7..dd32415ebe0 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
@@ -322,11 +322,22 @@ public class ConfigNodeDescriptor {
                 "failure_detector_phi_acceptable_pause_in_ms",
                 
String.valueOf(conf.getFailureDetectorPhiAcceptablePauseInMs()))));
 
-    conf.setPartitionTableRecoverWaitAllDnUpTimeoutInMs(
+    long partitionTableRecoverWaitAllDnUpTimeoutInMs =
         Long.parseLong(
             properties.getProperty(
                 "partition_table_recover_wait_all_dn_up_timeout_ms",
-                
String.valueOf(conf.getPartitionTableRecoverWaitAllDnUpTimeoutInMs()))));
+                
String.valueOf(conf.getPartitionTableRecoverWaitAllDnUpTimeoutInMs())));
+    if (partitionTableRecoverWaitAllDnUpTimeoutInMs <= 0) {
+      LOGGER.warn(
+          "partition_table_recover_wait_all_dn_up_timeout_ms should be greater 
than 0, "
+              + "but current value is {}, ignore that and use the default 
value {}",
+          partitionTableRecoverWaitAllDnUpTimeoutInMs,
+          conf.getPartitionTableRecoverWaitAllDnUpTimeoutInMs());
+      partitionTableRecoverWaitAllDnUpTimeoutInMs =
+          conf.getPartitionTableRecoverWaitAllDnUpTimeoutInMs();
+    }
+    conf.setPartitionTableRecoverWaitAllDnUpTimeoutInMs(
+        partitionTableRecoverWaitAllDnUpTimeoutInMs);
 
     String leaderDistributionPolicy =
         properties.getProperty("leader_distribution_policy", 
conf.getLeaderDistributionPolicy());
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 8fb45106d1a..b221d8810a5 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
@@ -1139,16 +1139,34 @@ public class IoTDBDescriptor {
     // update trusted_uri_pattern
     loadTrustedUriPattern(properties);
 
-    conf.setPartitionTableRecoverWorkerNum(
+    int partitionTableRecoverWorkerNum =
         Integer.parseInt(
             properties.getProperty(
                 "partition_table_recover_worker_num",
-                String.valueOf(conf.getPartitionTableRecoverWorkerNum()))));
-    conf.setPartitionTableRecoverMaxReadMBsPerSecond(
+                String.valueOf(conf.getPartitionTableRecoverWorkerNum())));
+    if (partitionTableRecoverWorkerNum <= 0) {
+      LOGGER.warn(
+          "partition_table_recover_worker_num should be greater than 0, "
+              + "but current value is {}, ignore that and use the default 
value {}",
+          partitionTableRecoverWorkerNum,
+          conf.getPartitionTableRecoverWorkerNum());
+      partitionTableRecoverWorkerNum = 
conf.getPartitionTableRecoverWorkerNum();
+    }
+    conf.setPartitionTableRecoverWorkerNum(partitionTableRecoverWorkerNum);
+    int partitionTableRecoverMaxReadMBsPerSecond =
         Integer.parseInt(
             properties.getProperty(
                 "partition_table_recover_max_read_megabytes_per_second",
-                
String.valueOf(conf.getPartitionTableRecoverMaxReadMBsPerSecond()))));
+                
String.valueOf(conf.getPartitionTableRecoverMaxReadMBsPerSecond())));
+    if (partitionTableRecoverMaxReadMBsPerSecond <= 0) {
+      LOGGER.warn(
+          "partition_table_recover_max_read_megabytes_per_second should be 
greater than 0, "
+              + "but current value is {}, ignore that and use the default 
value {}",
+          partitionTableRecoverMaxReadMBsPerSecond,
+          conf.getPartitionTableRecoverMaxReadMBsPerSecond());
+      partitionTableRecoverMaxReadMBsPerSecond = 
conf.getPartitionTableRecoverMaxReadMBsPerSecond();
+    }
+    
conf.setPartitionTableRecoverMaxReadMBsPerSecond(partitionTableRecoverMaxReadMBsPerSecond);
 
     conf.setIncludeNullValueInWriteThroughputMetric(
         Boolean.parseBoolean(

Reply via email to