github-actions[bot] commented on code in PR #61739:
URL: https://github.com/apache/doris/pull/61739#discussion_r2992203003


##########
be/src/runtime/result_block_buffer.h:
##########
@@ -56,9 +56,21 @@ class ResultBlockBufferBase {
     ResultBlockBufferBase() = default;
     virtual ~ResultBlockBufferBase() = default;
 
-    virtual Status close(const TUniqueId& id, Status exec_status, int64_t 
num_rows) = 0;
+    // Close one fragment instance's contribution to this buffer.  When the 
last
+    // registered instance calls close(), |is_fully_closed| is set to true,
+    // indicating that no more producers will write to this buffer and callers 
may
+    // safely schedule deferred cleanup.  The buffer is keyed in 
ResultBufferMgr

Review Comment:
   **[Build Break]** The `close()` signature changed from 3 to 4 parameters, 
but the following test call sites were not updated and will fail to compile:
   
   - `be/test/exec/sink/result_block_buffer_test.cpp` lines 163, 292, 311
   - `be/test/exec/sink/arrow_result_block_buffer_test.cpp` lines 176, 308, 327
   
   All 6 sites call `buffer.close(ins_id, Status::..., 0)` with only 3 
arguments. They need to be updated to pass `bool& is_fully_closed`, e.g.:
   ```cpp
   bool is_fully_closed = false;
   EXPECT_TRUE(buffer.close(ins_id, Status::OK(), 0, is_fully_closed).ok());
   ```
   
   Also consider adding test assertions on `is_fully_closed` itself — e.g., 
verify it returns `false` when other dependencies remain, and `true` when the 
last instance closes.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to