Skip to content

Commit

Permalink
Fix the way the wait_manual_compact function parses the output of the…
Browse files Browse the repository at this point in the history
… remote_command -t replica-server replica.query-compact shell command.
  • Loading branch information
wangguangshuo committed Feb 6, 2025
1 parent 7ceef5d commit 8a9e3cb
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions admin_tools/pegasus_manual_compact.sh
Original file line number Diff line number Diff line change
Expand Up @@ -119,10 +119,10 @@ function wait_manual_compact()
query_log_file="/tmp/$UID.$PID.pegasus.query_compact.${app_id}"
echo "${query_cmd}" | ./run.sh shell --cluster ${cluster} &>${query_log_file}

queue_count=`grep 'recent enqueue at' ${query_log_file} | grep -v 'recent start at' | wc -l`
running_count=`grep 'recent start at' ${query_log_file} | wc -l`
queue_count=$(awk 'BEGIN {count=0} {match($0, /"recent_enqueue_at":"([^"]+)"/, enqueue); match($0, /"recent_start_at":"([^"]+)"/, start); if (enqueue[1] != "-" && start[1] == "-") {count++}} END {print count}' "$query_log_file")
running_count=$(awk 'BEGIN {count=0} {match($0, /"recent_start_at":"([^"]+)"/, start); if (start[1] != "-" && length(start[1]) > 0) {count++}} END {print count}' "$query_log_file")
processing_count=$((queue_count+running_count))
finish_count=`grep "last finish at" ${query_log_file} | grep -v "recent enqueue at" | grep -v "recent start at" | grep -o 'last finish at [^,]*' | sed 's/\[/,/;s/\]//' | awk -F"," -v date="$earliest_finish_time_ms" 'BEGIN{count=0}{if(length($2)==23 && $2>=date){count++;}}END{print count}'`
finish_count=$(awk 'BEGIN {count=0} {match($0, /"last_finish":"([^"]+)"/, finish); if (finish[1] != "-" && length(finish[1]) > 0) {count++}} END {print count}' "$query_log_file")
not_finish_count=$((total_replica_count-finish_count))

if [ ${processing_count} -eq 0 -a ${finish_count} -eq ${total_replica_count} ]; then
Expand Down

0 comments on commit 8a9e3cb

Please sign in to comment.