This is an automated email from the ASF dual-hosted git repository.
dataroaring pushed a commit to branch branch-3.0
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-3.0 by this push:
new 5124dc82f88 branch-3.0: [fix](table) Breaking up dynamic partition
table scheduling consuming peak CPU consumption #48577 (#48879)
5124dc82f88 is described below
commit 5124dc82f88d423772a83437cb9a3fd148c95922
Author: github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Tue Mar 11 11:45:28 2025 +0800
branch-3.0: [fix](table) Breaking up dynamic partition table scheduling
consuming peak CPU consumption #48577 (#48879)
Cherry-picked from #48577
Co-authored-by: deardeng <[email protected]>
---
.../src/main/java/org/apache/doris/common/Config.java | 8 ++++++++
.../org/apache/doris/clone/DynamicPartitionScheduler.java | 14 ++++++++++++++
2 files changed, 22 insertions(+)
diff --git a/fe/fe-common/src/main/java/org/apache/doris/common/Config.java
b/fe/fe-common/src/main/java/org/apache/doris/common/Config.java
index 90a1951fc45..33062fb164c 100644
--- a/fe/fe-common/src/main/java/org/apache/doris/common/Config.java
+++ b/fe/fe-common/src/main/java/org/apache/doris/common/Config.java
@@ -1324,6 +1324,14 @@ public class Config extends ConfigBase {
@ConfField(mutable = true, masterOnly = true)
public static long dynamic_partition_check_interval_seconds = 600;
+ /**
+ * When scheduling dynamic partition tables,
+ * the execution interval of each table to prevent excessive consumption
of FE CPU at the same time
+ * default is 0
+ */
+ @ConfField(mutable = true, masterOnly = true)
+ public static long dynamic_partition_step_interval_ms = 0;
+
/**
* If set to true, dynamic partition feature will open
*/
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/clone/DynamicPartitionScheduler.java
b/fe/fe-core/src/main/java/org/apache/doris/clone/DynamicPartitionScheduler.java
index e875bcf47d8..8e5f46573ee 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/clone/DynamicPartitionScheduler.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/clone/DynamicPartitionScheduler.java
@@ -671,6 +671,20 @@ public class DynamicPartitionScheduler extends
MasterDaemon {
}
cloudBatchAfterCreatePartitions(executeFirstTime, partsInfo,
addPartitionClauses, db, olapTable, indexIds,
tableName);
+
+ // ATTN: Breaking up dynamic partition table scheduling,
consuming peak CPU consumption
+ if (!executeFirstTime && !addPartitionClauses.isEmpty()
+ && Config.dynamic_partition_step_interval_ms > 0) {
+ long sleep = Config.dynamic_partition_step_interval_ms;
+ if (sleep > 1800 * 1000) {
+ LOG.warn("fe conf dynamic_partition_step_interval_ms
bigger than 1800s, plz check it");
+ }
+ try {
+ Thread.sleep(sleep);
+ } catch (InterruptedException e) {
+ LOG.warn("sleep err", e);
+ }
+ }
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]