CRZbulabula commented on code in PR #18472:
URL: https://github.com/apache/iotdb/pull/18472#discussion_r3844329675


##########
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java:
##########
@@ -1089,6 +1089,16 @@ public void loadProperties(TrimProperties properties) 
throws BadNodeUrlException
     loadQuerySampleThroughput(properties);
     // update trusted_uri_pattern
     loadTrustedUriPattern(properties);
+    conf.setPartitionTableRecoverWorkerNum(

Review Comment:
   [P2] Please port the validation for the partition-table recovery settings 
from master (#17498 / bfb4856ef98).
   
   - `partition_table_recover_worker_num <= 0` makes `ArrayBlockingQueue` or 
the recovery executor fail during construction.
   - A non-positive read-rate value makes `RateLimiter.create(...)` fail when 
the generator is created.
   - In either case, `REPAIR DATA PARTITION TABLE` cannot start.
   
   Master logs a warning and falls back to the default values; the backport 
should preserve that behavior.



##########
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java:
##########
@@ -1089,6 +1089,16 @@ public void loadProperties(TrimProperties properties) 
throws BadNodeUrlException
     loadQuerySampleThroughput(properties);
     // update trusted_uri_pattern
     loadTrustedUriPattern(properties);
+    conf.setPartitionTableRecoverWorkerNum(
+        Integer.parseInt(
+            properties.getProperty(
+                "partition_table_recover_worker_num",
+                String.valueOf(conf.getPartitionTableRecoverWorkerNum()))));
+    conf.setPartitionTableRecoverMaxReadMBsPerSecond(
+        Integer.parseInt(
+            properties.getProperty(
+                "partition_table_recover_max_read_megabytes_per_second",

Review Comment:
   [P2] Please keep this public configuration key aligned with master (#18138 / 
611b66aded0).
   
   - Master uses `partition_table_recover_max_read_mb_per_sec`.
   - This backport still uses 
`partition_table_recover_max_read_megabytes_per_second` in both the loader and 
the template.
   - A configuration copied across versions is therefore silently ignored, and 
the repair scan runs with the default rate.
   
   Please use the master key, or accept both names while preferring the master 
name.



##########
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/StatementType.java:
##########
@@ -178,6 +178,8 @@ public enum StatementType {
   PIPE_ENRICHED,
   START_REPAIR_DATA,
   STOP_REPAIR_DATA,
+  REPAIR_DATA_PARTITION_TABLE,

Review Comment:
   [P2] Please register both new statement types in the dev/1.3 audit 
classification.
   
   - `AuditLogger.judgeLogOperation(...)` currently recognizes neither of these 
values.
   - Audit-enabled executions fall through to `AuditLogOperation.NULL`, emit an 
"Unrecognizable operator type" error, and are not recorded.
   - Master explicitly audits these operations as `INTEGRITY_CHECK`.
   
   For the 1.3 audit model, `REPAIR_DATA_PARTITION_TABLE` should be classified 
as a control/DML operation and `SHOW_REPAIR_DATA_PARTITION_TABLE_PROGRESS` as a 
query operation.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to