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]