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

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


The following commit(s) were added to refs/heads/branch-2.0 by this push:
     new b4186c718a0 [fix](pipeline) fix exception safety issue in 
MultiCastDataStreamer (#36813)
b4186c718a0 is described below

commit b4186c718a0d9c675331f2ce578205e641383e2e
Author: Jerry Hu <[email protected]>
AuthorDate: Wed Jun 26 17:34:33 2024 +0800

    [fix](pipeline) fix exception safety issue in MultiCastDataStreamer (#36813)
    
    ## Proposed changes
    
    pick #36748
    
    ```cpp
    RETURN_IF_ERROR(vectorized::MutableBlock(block).merge(*pos_to_pull->_block))
    ```
    this line may throw an exception(cannot allocate)
    
    <!--Describe your changes.-->
---
 be/src/pipeline/exec/multi_cast_data_streamer.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/be/src/pipeline/exec/multi_cast_data_streamer.cpp 
b/be/src/pipeline/exec/multi_cast_data_streamer.cpp
index 3948ef0b9cd..373a896852e 100644
--- a/be/src/pipeline/exec/multi_cast_data_streamer.cpp
+++ b/be/src/pipeline/exec/multi_cast_data_streamer.cpp
@@ -39,9 +39,9 @@ Status MultiCastDataStreamer::pull(int sender_idx, 
doris::vectorized::Block* blo
             pos_to_pull++;
             _multi_cast_blocks.pop_front();
         } else {
-            pos_to_pull->_used_count--;
             pos_to_pull->_block->create_same_struct_block(0)->swap(*block);
             
RETURN_IF_ERROR(vectorized::MutableBlock(block).merge(*pos_to_pull->_block));
+            pos_to_pull->_used_count--;
             pos_to_pull++;
         }
     }


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

Reply via email to