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]

Reply via email to