This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch branch-4.0
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-4.0 by this push:
new c4f01746b0f branch-4.0: [improve](tools) optimize
calculate_process_numbers logic in fdb_ctl.sh #60292 (#60384)
c4f01746b0f is described below
commit c4f01746b0f9ca8c5f98e1ea5ba49016ad6ef485
Author: github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Fri Jan 30 16:36:10 2026 +0800
branch-4.0: [improve](tools) optimize calculate_process_numbers logic in
fdb_ctl.sh #60292 (#60384)
Cherry-picked from #60292
Co-authored-by: walter <[email protected]>
---
tools/fdb/fdb_ctl.sh | 22 ++++++++++------------
1 file changed, 10 insertions(+), 12 deletions(-)
diff --git a/tools/fdb/fdb_ctl.sh b/tools/fdb/fdb_ctl.sh
index 841f198bf12..d3d2f08aef5 100755
--- a/tools/fdb/fdb_ctl.sh
+++ b/tools/fdb/fdb_ctl.sh
@@ -180,30 +180,28 @@ calculate_process_numbers() {
# Find maximum number of processes while maintaining the specified ratio
while true; do
- # Calculate process counts based on the ratio
- storage_processes=$((storage_processes + num_storage))
- stateless_processes=$((storage_processes * num_stateless /
num_storage))
- log_processes=$((storage_processes * num_log / num_storage))
+ # Calculate candidate process counts based on the ratio
+ local new_storage_processes=$((storage_processes + num_storage))
+ local new_stateless_processes=$((new_storage_processes * num_stateless
/ num_storage))
+ local new_log_processes=$((new_storage_processes * num_log /
num_storage))
# Calculate total CPUs used
- local total_cpu_used=$((storage_processes + stateless_processes +
log_processes))
+ local total_cpu_used=$((new_storage_processes +
new_stateless_processes + new_log_processes))
# Check memory constraint
- local total_memory_used=$(((MEMORY_STORAGE_GB * storage_processes) +
(MEMORY_STATELESS_GB * stateless_processes) + (MEMORY_LOG_GB * log_processes)))
+ local total_memory_used=$(((MEMORY_STORAGE_GB * new_storage_processes)
+ (MEMORY_STATELESS_GB * new_stateless_processes) + (MEMORY_LOG_GB *
new_log_processes)))
# Check datadir limits
- if ((storage_processes > storage_process_num_limit || log_processes >
log_process_num_limit)); then
+ if ((new_storage_processes > storage_process_num_limit ||
new_log_processes > log_process_num_limit)); then
break
fi
# Check overall constraints
if ((total_memory_used <= memory_limit_gb && total_cpu_used <=
cpu_cores_limit)); then
- continue
+ storage_processes=${new_storage_processes}
+ stateless_processes=${new_stateless_processes}
+ log_processes=${new_log_processes}
else
- # If constraints are violated, revert back
- storage_processes=$((storage_processes - num_storage))
- stateless_processes=$((storage_processes * num_stateless /
num_storage))
- log_processes=$((storage_processes * num_log / num_storage))
break
fi
done
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]