FrankChen021 commented on code in PR #20247:
URL: https://github.com/apache/druid/pull/20247#discussion_r3968479483
##########
server/src/main/java/org/apache/druid/server/coordinator/duty/CloneHistoricals.java:
##########
@@ -120,6 +126,12 @@ public DruidCoordinatorRuntimeParams
run(DruidCoordinatorRuntimeParams params)
if (shouldLoadSegmentOnTargetServer(segment, sourceProfile,
targetServer, targetProjectedSegments)) {
loadSegmentOnTargetServer(segment, sourceProfile, targetServer,
params);
}
+
+ if (params.isUsedSegment(segment)
Review Comment:
[P1] Count source segments that remain unsynced
This still undercounts a source-served segment when reconciliation cannot
leave a LOAD action on the target. For example, if a prior clone reconciliation
has queued DROP for a segment and the source starts serving it again,
targetProjectedSegments excludes it, shouldLoadSegmentOnTargetServer calls
loadSegmentOnTargetServer, and SegmentLoadQueueManager.loadSegment returns
false because ServerHolder.startOperation refuses an existing DROP. The target
is not serving the segment, but isLoadingSegment is false, so it contributes
zero pending segments and isSynced() can report SYNCED (and emit 1) while the
target is about to drop or miss a source segment. The same false positive
occurs when the attempted load throws and is cancelled. Count source-served
segments that remain unsynced after reconciliation, rather than only exact LOAD
actions.
##########
server/src/main/java/org/apache/druid/server/coordinator/CoordinatorDynamicConfig.java:
##########
@@ -77,6 +77,7 @@ public class CoordinatorDynamicConfig
private final Set<String> turboLoadingNodes;
private final Map<String, String> cloneServers;
+ private final CloneSyncCriteria cloneSyncCriteria;
Review Comment:
Confirmed resolved at current head: cloneSyncCriteria is included in
CoordinatorDynamicConfig.equals() and hashCode(), and the existing
EqualsVerifier test covers it. I reviewed all 17 current changed files; no
further action is needed on this thread.
<!-- mergelens:review -->
--
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]