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

morningman pushed a commit to branch dev-1.0.0
in repository https://gitbox.apache.org/repos/asf/incubator-doris.git

commit f4e0971530e2deb921e4ef28fbecea773c370c7c
Author: HappenLee <happen...@hotmail.com>
AuthorDate: Sat Mar 5 15:28:23 2022 +0800

    [fix][vectorized] coredump about const compare in exchange node (#8302)
---
 be/src/vec/runtime/vdata_stream_recvr.cpp | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/be/src/vec/runtime/vdata_stream_recvr.cpp 
b/be/src/vec/runtime/vdata_stream_recvr.cpp
index 59e18d0..e3eb3d4 100644
--- a/be/src/vec/runtime/vdata_stream_recvr.cpp
+++ b/be/src/vec/runtime/vdata_stream_recvr.cpp
@@ -20,7 +20,9 @@
 #include "gen_cpp/data.pb.h"
 #include "runtime/mem_tracker.h"
 #include "util/uid_util.h"
+
 #include "vec/core/block.h"
+#include "vec/core/materialize_block.h"
 #include "vec/core/sort_cursor.h"
 #include "vec/runtime/vdata_stream_mgr.h"
 #include "vec/runtime/vsorted_run_merger.h"
@@ -138,7 +140,6 @@ void VDataStreamRecvr::SenderQueue::add_block(const PBlock& 
pblock, int be_numbe
 }
 
 void VDataStreamRecvr::SenderQueue::add_block(Block* block, bool use_move) {
-    std::unique_lock<std::mutex> l(_lock);
     if (_is_cancelled) {
         return;
     }
@@ -155,7 +156,10 @@ void VDataStreamRecvr::SenderQueue::add_block(Block* 
block, bool use_move) {
                     nblock->get_by_position(i).column->clone_resized(rows);
         }
     }
+    materialize_block_inplace(*nblock);
 
+
+    std::unique_lock<std::mutex> l(_lock);
     size_t block_size = nblock->bytes();
     _block_queue.emplace_back(block_size, nblock);
     _recvr->_mem_tracker->Consume(nblock->bytes());

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

Reply via email to