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

panxiaolei 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 751a7680c5 [Bug](exchange) fix core dump on send_local_block (#22494)
751a7680c5 is described below

commit 751a7680c5bc0de083196cd8dc7063dfc24bd9d1
Author: Pxl <[email protected]>
AuthorDate: Wed Aug 2 18:12:34 2023 +0800

    [Bug](exchange) fix core dump on send_local_block (#22494)
    
    fix core dump on send_local_block
---
 be/src/vec/sink/vdata_stream_sender.cpp | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/be/src/vec/sink/vdata_stream_sender.cpp 
b/be/src/vec/sink/vdata_stream_sender.cpp
index d1c768a5e6..d7ccbade32 100644
--- a/be/src/vec/sink/vdata_stream_sender.cpp
+++ b/be/src/vec/sink/vdata_stream_sender.cpp
@@ -224,7 +224,9 @@ Status Channel::close_wait(RuntimeState* state) {
         _need_close = false;
         return st;
     }
-    _serializer->reset_block();
+    if (_serializer) {
+        _serializer->reset_block();
+    }
     return Status::OK();
 }
 
@@ -647,14 +649,14 @@ Status VDataStreamSender::try_close(RuntimeState* state, 
Status exec_status) {
         RETURN_IF_ERROR(_get_next_available_buffer(&block_holder));
         {
             SCOPED_CONSUME_MEM_TRACKER(_mem_tracker.get());
-            auto block = _serializer->get_block()->to_block();
+            Block block = _serializer->get_block()->to_block();
             RETURN_IF_ERROR(_serializer->serialize_block(&block, 
block_holder->get_block(),
                                                          _channels.size()));
             Status status;
             for (auto channel : _channels) {
                 if (!channel->is_receiver_eof()) {
                     if (channel->is_local()) {
-                        status = channel->send_local_block(block);
+                        status = channel->send_local_block(&block);
                     } else {
                         SCOPED_CONSUME_MEM_TRACKER(_mem_tracker.get());
                         status = channel->send_block(block_holder, false);


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to