Class CoordinatorDynamicConfig

java.lang.Object
org.apache.druid.server.coordinator.CoordinatorDynamicConfig

public class CoordinatorDynamicConfig extends Object
This class is for users to change their configurations while their Druid cluster is running. These configurations are designed to allow only simple values rather than complicated JSON objects.
See Also:
  • Field Details

  • Constructor Details

    • CoordinatorDynamicConfig

      public CoordinatorDynamicConfig(long markSegmentAsUnusedDelayMillis, int maxSegmentsToMove, int replicantLifetime, int replicationThrottleLimit, int balancerComputeThreads, Object specificDataSourcesToKillUnusedSegmentsIn, @Nullable Double killTaskSlotRatio, @Nullable Integer maxKillTaskSlots, Object dataSourcesToNotKillStalePendingSegmentsIn, @Nullable Integer maxSegmentsInNodeLoadingQueue, Object decommissioningNodes, boolean pauseCoordination, boolean replicateAfterLoadTimeout, @Nullable Boolean useRoundRobinSegmentAssignment, @Nullable Boolean smartSegmentLoading, @Nullable Map<String,String> debugDimensions, @Nullable Set<String> turboLoadingNodes, @Nullable Map<String,String> cloneServers)
  • Method Details

    • getLoadingModeForServer

      public SegmentLoadingMode getLoadingModeForServer(String serverName)
    • getMarkSegmentAsUnusedDelayMillis

      public long getMarkSegmentAsUnusedDelayMillis()
    • getMaxSegmentsToMove

      public int getMaxSegmentsToMove()
    • getReplicantLifetime

      public int getReplicantLifetime()
    • getReplicationThrottleLimit

      public int getReplicationThrottleLimit()
    • getBalancerComputeThreads

      public int getBalancerComputeThreads()
    • getSpecificDataSourcesToKillUnusedSegmentsIn

      public Set<String> getSpecificDataSourcesToKillUnusedSegmentsIn()
    • getKillTaskSlotRatio

      public double getKillTaskSlotRatio()
    • getMaxKillTaskSlots

      public int getMaxKillTaskSlots()
    • getDataSourcesToNotKillStalePendingSegmentsIn

      public Set<String> getDataSourcesToNotKillStalePendingSegmentsIn()
    • getMaxSegmentsInNodeLoadingQueue

      public int getMaxSegmentsInNodeLoadingQueue()
    • isUseRoundRobinSegmentAssignment

      public boolean isUseRoundRobinSegmentAssignment()
    • isSmartSegmentLoading

      public boolean isSmartSegmentLoading()
    • getDecommissioningNodes

      public Set<String> getDecommissioningNodes()
      List of historical servers to 'decommission'. Coordinator will not assign new segments to 'decommissioning' servers, and segments will be moved away from them to be placed on non-decommissioning servers.
      Returns:
      Set of host:port entries
    • getDebugDimensions

      public Map<String,String> getDebugDimensions()
    • getValidatedDebugDimensions

      public Map<Dimension,String> getValidatedDebugDimensions()
    • getPauseCoordination

      public boolean getPauseCoordination()
    • getReplicateAfterLoadTimeout

      public boolean getReplicateAfterLoadTimeout()
    • getCloneServers

      public Map<String,String> getCloneServers()
      Map from target Historical server to source Historical server which should be cloned by the target. The target Historical does not participate in regular segment assignment or balancing. Instead, the Coordinator mirrors any segment assignment made to the source Historical onto the target Historical, so that the target becomes an exact copy of the source. Segments on the target Historical do not count towards replica counts either. If the source disappears, the target remains in the last known state of the source server until removed from the cloneServers.
    • getTurboLoadingNodes

      public Set<String> getTurboLoadingNodes()
      List of servers to put in turbo-loading mode. These servers will use a larger thread pool to load segments. This causes decreases the average time taken to load segments. However, this also means less resources available to query threads which may cause a drop in query performance.
      Returns:
      Set of host:port entries
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • builder

      public static CoordinatorDynamicConfig.Builder builder()
    • getDefaultBalancerComputeThreads

      public static int getDefaultBalancerComputeThreads()
      Returns a value of (num processors / 2) to ensure that balancing computations do not hog all Coordinator resources.