This is an automated email from the ASF dual-hosted git repository.
wangbo 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 ff36e08fcb8 [Bug](dry-run) make dryrun result set collect multi
batch's QueryStatistics (#38303)
ff36e08fcb8 is described below
commit ff36e08fcb8475fdecd73ff8d1954a837d5d5612
Author: Pxl <[email protected]>
AuthorDate: Thu Jul 25 20:07:06 2024 +0800
[Bug](dry-run) make dryrun result set collect multi batch's QueryStatistics
(#38303)
## Proposed changes
make dryrun result set collect multi batch's QueryStatistics
---
.../src/main/java/org/apache/doris/qe/Coordinator.java | 18 ++++++++++++------
.../main/java/org/apache/doris/qe/StmtExecutor.java | 9 +++++++--
2 files changed, 19 insertions(+), 8 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 fdfa468538d..70857c9be5b 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
@@ -303,6 +303,10 @@ public class Coordinator implements CoordInterface {
this.tWorkloadGroups = tWorkloadGroups;
}
+ public long getNumReceivedRows() {
+ return numReceivedRows;
+ }
+
public List<TPipelineWorkloadGroup> gettWorkloadGroups() {
return tWorkloadGroups;
}
@@ -1187,6 +1191,14 @@ public class Coordinator implements CoordInterface {
}
}
+ if (ConnectContext.get() != null &&
ConnectContext.get().getSessionVariable().dryRunQuery) {
+ if (resultBatch.isEos()) {
+ numReceivedRows +=
resultBatch.getQueryStatistics().getReturnedRows();
+ }
+ } else if (resultBatch.getBatch() != null) {
+ numReceivedRows += resultBatch.getBatch().getRowsSize();
+ }
+
if (resultBatch.isEos()) {
receivers.remove(receivers.size() - 1);
if (receivers.isEmpty()) {
@@ -1204,12 +1216,6 @@ public class Coordinator implements CoordInterface {
}
cancelInternal(new Status(TStatusCode.LIMIT_REACH, "query
reach limit"));
}
- if (ConnectContext.get() != null &&
ConnectContext.get().getSessionVariable().dryRunQuery) {
- numReceivedRows = 0;
- numReceivedRows +=
resultBatch.getQueryStatistics().getReturnedRows();
- }
- } else if (resultBatch.getBatch() != null) {
- numReceivedRows += resultBatch.getBatch().getRowsSize();
}
return resultBatch;
diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java
b/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java
index 825b38cc757..3f5d480a4af 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java
@@ -2008,8 +2008,13 @@ public class StmtExecutor {
if (!isOutfileQuery) {
if (ConnectContext.get() != null && isDryRun) {
// Return a one row one column result set, with the
real result number
- List<String> data =
Lists.newArrayList(batch.getQueryStatistics() == null ? "0"
- : batch.getQueryStatistics().getReturnedRows()
+ "");
+ long rows = 0;
+ if (coordBase instanceof Coordinator) {
+ rows = ((Coordinator)
coordBase).getNumReceivedRows();
+ } else if (batch.getQueryStatistics() != null) {
+ rows =
batch.getQueryStatistics().getReturnedRows();
+ }
+ List<String> data =
Lists.newArrayList(String.valueOf(rows));
ResultSet resultSet = new
CommonResultSet(DRY_RUN_QUERY_METADATA,
Collections.singletonList(data));
sendResultSet(resultSet);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]