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]