deardeng commented on code in PR #66191:
URL: https://github.com/apache/doris/pull/66191#discussion_r3850563341
##########
fe/fe-core/src/main/java/org/apache/doris/clone/ColocateTableCheckerAndBalancer.java:
##########
@@ -558,6 +567,9 @@ private void matchGroups() {
replicaAlloc,
System.currentTimeMillis());
// the tablet status will be set again
when being scheduled
tabletCtx.setTabletHealth(tabletHealth);
+ if (rowBinlogHealthResult != null) {
+
rowBinlogHealthResult.applyTo(tabletCtx);
Review Comment:
The base/row-binlog relationship is a pair-locality invariant, not a
colocate-group invariant. Reusing the existing colocate repair machinery is
reasonable, but the current implementation also exposes that internal reuse
through COLOCATE_MISMATCH, COLOCATE_REDUNDANT, colocateBackendsSet, scheduler
logs, proc output, and colocate counters. This makes it difficult to
distinguish an actual colocate-group placement issue from a row-binlog
backend/path locality issue during troubleshooting.
Could you please:
Add a comment to RowBinlogHealthResult.applyTo() clarifying that
colocateBackendsSet is only reused to carry the paired base tablet’s effective
backend set, and does not represent the user-defined colocate-group layout.
Introduce explicit statuses such as ROW_BINLOG_MISMATCH and
ROW_BINLOG_REDUNDANT (or an equivalent explicit repair reason). The
implementation can still route these statuses to the existing colocate repair
handlers; there is no need to duplicate the scheduling logic.
Add row-binlog-specific diagnostics to logs/proc/counters, including the
base tablet ID, row-binlog tablet ID, expected backend -> pathHash mapping, and
actual replica locations.
Update TabletHealthProcDir to use
RowBinlogTabletLocality.getRowBinlogHealth() for row-binlog indexes. Currently
it uses normal colocate/generic health calculation, which does not represent
the required same-backend and same-path invariant.
Without this separation, a reported COLOCATE_MISMATCH does not tell
operators whether the colocate-group layout is broken or only the
base/row-binlog pair locality needs repair.
--
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]