github-actions[bot] commented on code in PR #69554:
URL: https://github.com/apache/doris/pull/69554#discussion_r4370819077
##########
be/src/exec/sink/writer/vtablet_writer.cpp:
##########
@@ -174,7 +188,11 @@ Status IndexChannel::init(RuntimeState* state, const
std::vector<TTabletWithPart
}
}
channels.push_back(channel);
- _tablets_by_channel[replica_node_id].insert(tablet.tablet_id);
+ if (tablet.tablet_id != V1_DUMMY_TABLET_ID) [[likely]] {
+ // Tablet 0 only bootstraps an empty automatic table. It
receives no rows and must
+ // not consume the real tablets' failure allowance before
partitions are created.
+ _tablets_by_channel[replica_node_id].insert(tablet.tablet_id);
Review Comment:
[P1] Preserve real tablet errors for bootstrap-only senders
In a parallel legacy load into an empty automatic table, W2 can open only
tablet 0 on BE1 while W1 creates and writes real partitions. With replication=3
and min_load_replica_num=1, let A have only BE1 selected because its other two
replicas are load-disabled, and let B have healthy destinations elsewhere.
Excluding tablet 0 here leaves W2 without any `_tablets_by_channel[BE1]` entry.
If W1 sends EOS first and W2 closes BE1 last, `TabletsChannel::close()` returns
A's late rowset-build/delete-bitmap/commit error only to W2. Its
`mark_as_failed()` returns at the missing-backend lookup before reaching the
new nonlocal-tablet guard. Neither writer reports A's failure or an A commit
info, while B's commit infos let FE skip A entirely; the load can succeed with
all A rows lost. Retain backend bookkeeping while excluding the dummy tablet
from failure budgets, or handle explicit tablet errors before that early
return, and cover an empty-input final sender in a mixed-partition regression.
Unlike thread 4370332388's sender with real-tablet bookkeeping, this new
dummy-only branch silently discards the error instead of rejecting the load.
--
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]