github-actions[bot] commented on code in PR #68628:
URL: https://github.com/apache/doris/pull/68628#discussion_r4135939976
##########
be/src/load/channel/tablets_channel.cpp:
##########
@@ -88,8 +91,10 @@ BaseTabletsChannel::~BaseTabletsChannel() {
TabletsChannel::~TabletsChannel() = default;
Status BaseTabletsChannel::_get_current_seq(int64_t& cur_seq,
- const
PTabletWriterAddBlockRequest& request) {
+ const
PTabletWriterAddBlockRequest& request,
+ bool& should_write) {
Review Comment:
[P2] Return a failure for new blocks on a cancelled channel. `cancel()` sets
`kFinished` without changing the default OK `_close_status`, so
`_get_current_seq` now leaves `should_write=false` and both local and cloud
`add_batch` acknowledge a later block as OK without writing rows or adding a
tablet error. This is reachable after `LoadChannelMgr::add_batch` cancels a
load on an earlier error but retains it in the map: high-priority loads skip
the manager's cancellation check, and other requests can pass that check before
cancellation. Previously the block reached the cancelled `MemTableWriter`,
whose failure became a tablet error for the sender. Distinguish cancellation
from an already accepted duplicate so an unaccepted block fails rather than
being silently acknowledged.
--
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]