This is an automated email from the ASF dual-hosted git repository. liaoxin pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push: new dd182711e94 [improve](load) show 99.99% instead of 100.00% in progess when load is not finished (#43224) dd182711e94 is described below commit dd182711e940b46bb071205c4aff57c7c0910111 Author: Kaijie Chen <c...@apache.org> AuthorDate: Mon Nov 11 09:53:59 2024 +0800 [improve](load) show 99.99% instead of 100.00% in progess when load is not finished (#43224) ### What problem does this PR solve? Currently when all instances finished, but the load is not finished, the progress will display `100.00%`, which is misleading to users. This PR detected changes it to `99.99%`. --- .../org/apache/doris/job/extensions/insert/InsertJob.java | 3 ++- .../main/java/org/apache/doris/load/loadv2/LoadJob.java | 3 ++- .../org/apache/doris/load/loadv2/ProgressManager.java | 15 ++++++++------- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/job/extensions/insert/InsertJob.java b/fe/fe-core/src/main/java/org/apache/doris/job/extensions/insert/InsertJob.java index ce35227feb1..f4a91498fea 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/job/extensions/insert/InsertJob.java +++ b/fe/fe-core/src/main/java/org/apache/doris/job/extensions/insert/InsertJob.java @@ -440,7 +440,8 @@ public class InsertJob extends AbstractJob<InsertTask, Map<Object, Object>> impl } // progress - String progress = Env.getCurrentProgressManager().getProgressInfo(String.valueOf(getJobId())); + String progress = Env.getCurrentProgressManager() + .getProgressInfo(String.valueOf(getJobId()), getJobStatus() == JobStatus.FINISHED); switch (getJobStatus()) { case RUNNING: if (isPending()) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadJob.java b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadJob.java index 652819ae8e1..8cb9070cf7a 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadJob.java +++ b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadJob.java @@ -757,7 +757,8 @@ public abstract class LoadJob extends AbstractTxnStateChangeCallback // progress // check null - String progress = Env.getCurrentProgressManager().getProgressInfo(String.valueOf(id)); + String progress = Env.getCurrentProgressManager() + .getProgressInfo(String.valueOf(id), state == JobState.FINISHED); switch (state) { case PENDING: jobInfo.add("0%"); diff --git a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/ProgressManager.java b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/ProgressManager.java index c333f88ad98..c0de94062ff 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/ProgressManager.java +++ b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/ProgressManager.java @@ -67,13 +67,13 @@ public class ProgressManager { } } - public String getProgressInfo(String id) { + public String getProgressInfo(String id, boolean finished) { String progressInfo = "Unknown id: " + id; Progress progress = idToProgress.get(id); if (progress != null) { int finish = progress.getFinishedScanNums(); int total = progress.getTotalScanNums(); - String currentProgress = String.format("%.2f", progress.getProgress()); + String currentProgress = String.format("%.2f", progress.getProgress(finished)); progressInfo = currentProgress + "% (" + finish + "/" + total + ")"; } return progressInfo; @@ -107,12 +107,13 @@ public class ProgressManager { return result; } - public double getProgress() { + public double getProgress(boolean finished) { // if no scan range found, the progress should be finished(100%) - if (totalScanNums == 0) { - return 100.0; + int finishedScanNums = getFinishedScanNums(); + if (totalScanNums == 0 || finishedScanNums == totalScanNums) { + return finished ? 100.0 : 99.99; } - return getFinishedScanNums() * 100 / (double) totalScanNums; + return finishedScanNums * 100.0 / totalScanNums; } public Progress(int totalScanNums) { @@ -127,7 +128,7 @@ public class ProgressManager { sb.append("/"); sb.append(totalScanNums); sb.append(" => "); - sb.append(getProgress()); + sb.append(getProgress(true)); sb.append("%"); return sb.toString(); } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org