FrankChen021 commented on code in PR #19409:
URL: https://github.com/apache/druid/pull/19409#discussion_r3195621301
##########
server/src/main/java/org/apache/druid/server/coordinator/rules/PartialLoadRule.java:
##########
@@ -89,9 +90,21 @@ public boolean appliesTo(DataSegment segment, DateTime
referenceTimestamp)
@Override
public void run(DataSegment segment, SegmentActionHandler handler)
{
- // Partial plumbing is added in future work. For now, a partial rule that
applies to a segment full-loads it,
- // identical behavior to the corresponding non-partial rule
- handler.replicateSegment(segment, getTieredReplicants());
+ final PartialLoadMatcher.MatchResult result = matcher.match(segment,
segment.getLoadSpec());
+ if (result != null) {
+ // Matcher resolved: route through the partial-load handler. The
wrappedLoadSpec map carries scheme-specific
+ // data that the historical-side wrapper deserializes.
+ handler.replicateSegmentPartially(
Review Comment:
[P1] Matched partial rules now call an unimplemented production handler
This changes matched partial-load rules from the prior full-load behavior to
`handler.replicateSegmentPartially(...)`, but the production
`StrategicSegmentAssigner` does not override that method; the only
implementation is the new `SegmentActionHandler` default, which throws
`UnsupportedOperationException`. Since `RunRules` passes a
`StrategicSegmentAssigner` directly and does not catch this per rule, any
configured partial-load rule whose matcher resolves for a segment can abort the
coordinator rules duty instead of loading or falling back. Either keep the
previous full-load path until assignment is implemented, or add a production
override that degrades safely.
--
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]