This is an automated email from the ASF dual-hosted git repository.
dataroaring 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 d482a5f5770 [fix](insert-into) fix insert into lose data (#29802)
d482a5f5770 is described below
commit d482a5f577074abef14d74bb8fc0b9629536a5bf
Author: HHoflittlefish777 <[email protected]>
AuthorDate: Wed Jan 10 21:51:05 2024 +0800
[fix](insert-into) fix insert into lose data (#29802)
---
.../src/main/java/org/apache/doris/qe/Coordinator.java | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java
b/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java
index efee918dfde..12be2b2d8ec 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java
@@ -2520,7 +2520,14 @@ public class Coordinator implements CoordInterface {
params.getBackendId(), status.getErrorMsg());
updateStatus(status, params.getFragmentInstanceId());
}
- if
(ctx.fragmentInstancesMap.get(params.fragment_instance_id).getIsDone()) {
+
+ // params.isDone() should be promised.
+ // There are some periodic reports during the load process,
+ // and the reports from the intermediate process may be concurrent
with the last report.
+ // The last report causes the counter to decrease to zero,
+ // but it is possible that the report without commit-info
triggered the commit operation,
+ // resulting in the data not being published.
+ if
(ctx.fragmentInstancesMap.get(params.fragment_instance_id).getIsDone() &&
params.isDone()) {
if (params.isSetDeltaUrls()) {
updateDeltas(params.getDeltaUrls());
}
@@ -2585,7 +2592,13 @@ public class Coordinator implements CoordInterface {
}
}
- if (execState.done) {
+ // params.isDone() should be promised.
+ // There are some periodic reports during the load process,
+ // and the reports from the intermediate process may be concurrent
with the last report.
+ // The last report causes the counter to decrease to zero,
+ // but it is possible that the report without commit-info
triggered the commit operation,
+ // resulting in the data not being published.
+ if (execState.done && params.isDone()) {
if (params.isSetDeltaUrls()) {
updateDeltas(params.getDeltaUrls());
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]