a2l007 commented on a change in pull request #10213:
URL: https://github.com/apache/druid/pull/10213#discussion_r590535621
##########
File path:
server/src/main/java/org/apache/druid/server/coordinator/SegmentReplicantLookup.java
##########
@@ -59,7 +59,10 @@ public static SegmentReplicantLookup make(DruidCluster
cluster)
if (numReplicants == null) {
numReplicants = 0;
}
- loadingSegments.put(segment.getId(), server.getTier(), numReplicants
+ 1);
+ // Timed out segments need to be replicated in another server for
faster availability
+ if (!serverHolder.getPeon().getTimedOutSegments().contains(segment))
{
+ loadingSegments.put(segment.getId(), server.getTier(),
numReplicants + 1);
Review comment:
@jihoonson @himanshug Would it make sense to make the replication
behavior user configurable? We could have a dynamic config like
`replicateAfterLoadTimeout` which would control whether the segments would be
attempted to be replicated to a different historical in case of a load timeout
to the current historical. The default could be true but a cluster operator can
set this to false if they wish to avoid the additional churn and know the
historicals are OK and it would eventually load the segments.
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]