This is an automated email from the ASF dual-hosted git repository.

yiguolei pushed a commit to branch branch-3.0
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/branch-3.0 by this push:
     new 4f78c0ce7ce branch-3.0: [fix](arrow-flight-sql) Fix query result is 
empty and not return query error message #45023 (#45052)
4f78c0ce7ce is described below

commit 4f78c0ce7cecdca2bc885e2c189f475789fd0701
Author: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Fri Dec 6 09:27:56 2024 +0800

    branch-3.0: [fix](arrow-flight-sql) Fix query result is empty and not 
return query error message #45023 (#45052)
    
    Cherry-picked from #45023
    
    Co-authored-by: Xinyi Zou <zouxi...@selectdb.com>
---
 be/src/runtime/buffer_control_block.cpp              | 20 +++++++++++++++-----
 .../arrow_flight/arrow_flight_batch_reader.cpp       |  2 +-
 2 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/be/src/runtime/buffer_control_block.cpp 
b/be/src/runtime/buffer_control_block.cpp
index 98feb85ad6b..3a119b3cc1c 100644
--- a/be/src/runtime/buffer_control_block.cpp
+++ b/be/src/runtime/buffer_control_block.cpp
@@ -292,6 +292,9 @@ Status 
BufferControlBlock::get_arrow_batch(std::shared_ptr<vectorized::Block>* r
         _arrow_data_arrival.wait_for(l, std::chrono::milliseconds(20));
     }
 
+    if (!_status.ok()) {
+        return _status;
+    }
     if (_is_cancelled) {
         return Status::Cancelled(fmt::format("Cancelled ()", 
print_id(_fragment_id)));
     }
@@ -311,9 +314,12 @@ Status 
BufferControlBlock::get_arrow_batch(std::shared_ptr<vectorized::Block>* r
 
     // normal path end
     if (_is_close) {
+        if (!_status.ok()) {
+            return _status;
+        }
         std::stringstream ss;
         _profile.pretty_print(&ss);
-        VLOG_NOTICE << fmt::format(
+        LOG(INFO) << fmt::format(
                 "BufferControlBlock finished, fragment_id={}, is_close={}, 
is_cancelled={}, "
                 "packet_num={}, peak_memory_usage={}, profile={}",
                 print_id(_fragment_id), _is_close, _is_cancelled, _packet_num,
@@ -321,7 +327,7 @@ Status 
BufferControlBlock::get_arrow_batch(std::shared_ptr<vectorized::Block>* r
         return Status::OK();
     }
     return Status::InternalError(
-            fmt::format("Get Arrow Batch Abnormal Ending ()", 
print_id(_fragment_id)));
+            fmt::format("Get Arrow Batch Abnormal Ending (), ()", 
print_id(_fragment_id), _status));
 }
 
 void BufferControlBlock::get_arrow_batch(GetArrowResultBatchCtx* ctx) {
@@ -354,10 +360,14 @@ void 
BufferControlBlock::get_arrow_batch(GetArrowResultBatchCtx* ctx) {
 
     // normal path end
     if (_is_close) {
+        if (!_status.ok()) {
+            ctx->on_failure(_status);
+            return;
+        }
         ctx->on_close(_packet_num);
         std::stringstream ss;
         _profile.pretty_print(&ss);
-        VLOG_NOTICE << fmt::format(
+        LOG(INFO) << fmt::format(
                 "BufferControlBlock finished, fragment_id={}, is_close={}, 
is_cancelled={}, "
                 "packet_num={}, peak_memory_usage={}, profile={}",
                 print_id(_fragment_id), _is_close, _is_cancelled, _packet_num,
@@ -391,8 +401,8 @@ Status 
BufferControlBlock::find_arrow_schema(std::shared_ptr<arrow::Schema>* arr
     if (_is_close) {
         return Status::RuntimeError(fmt::format("Closed ()", 
print_id(_fragment_id)));
     }
-    return Status::InternalError(
-            fmt::format("Get Arrow Schema Abnormal Ending ()", 
print_id(_fragment_id)));
+    return Status::InternalError(fmt::format("Get Arrow Schema Abnormal Ending 
(), ()",
+                                             print_id(_fragment_id), _status));
 }
 
 Status BufferControlBlock::close(const TUniqueId& id, Status exec_status) {
diff --git a/be/src/service/arrow_flight/arrow_flight_batch_reader.cpp 
b/be/src/service/arrow_flight/arrow_flight_batch_reader.cpp
index e935aff996d..c24fcb73384 100644
--- a/be/src/service/arrow_flight/arrow_flight_batch_reader.cpp
+++ b/be/src/service/arrow_flight/arrow_flight_batch_reader.cpp
@@ -56,7 +56,7 @@ arrow::Status 
ArrowFlightBatchReaderBase::_return_invalid_status(const std::stri
 }
 
 ArrowFlightBatchReaderBase::~ArrowFlightBatchReaderBase() {
-    VLOG_NOTICE << fmt::format(
+    LOG(INFO) << fmt::format(
             "ArrowFlightBatchReader finished, packet_seq={}, 
result_addr={}:{}, finistId={}, "
             "convert_arrow_batch_timer={}, deserialize_block_timer={}, 
peak_memory_usage={}",
             _packet_seq, _statement->result_addr.hostname, 
_statement->result_addr.port,


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to