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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]