Module org.elasticsearch.server
Class WriteLoadConstraintSettings
java.lang.Object
org.elasticsearch.cluster.routing.allocation.WriteLoadConstraintSettings
Settings definitions for the write load allocation decider and associated infrastructure
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumControls what type of shard-level write load estimate value the write load decider will use.static enum -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Setting<RatioValue> The threshold over which we consider write thread pool utilization hot-spotting in a balancing movement, when a node is being considered as a destination for a shardstatic final Setting<WriteLoadConstraintSettings.WriteLoadDeciderStatus> static final Setting<RatioValue> The threshold over which we consider a single shard as carrying enough of the load, such that trying to correct a hotspot by relocating shards is not taken: the hot-spot is created by a single shard.static final Setting<RatioValue> The threshold over which we consider write thread pool utilization hotspotting in a canRemain check, when a shard is being considered for moving off of a nodeThe minimum amount of time between logging messages about write load decider interventionsWhen the decider isWriteLoadConstraintSettings.WriteLoadDeciderStatus.ENABLED, the write-load monitor will callRerouteService.reroute(String, Priority, ActionListener)when we see tasks being delayed by this amount of time and the utilization is above a certain threshold (but no more often thanWRITE_LOAD_DECIDER_REROUTE_INTERVAL_SETTING)The minimum amount of time between successive calls to reroute to address write load hot-spots -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondoubledoubledouble
-
Field Details
-
WRITE_LOAD_DECIDER_ENABLED_SETTING
public static final Setting<WriteLoadConstraintSettings.WriteLoadDeciderStatus> WRITE_LOAD_DECIDER_ENABLED_SETTING -
WRITE_LOAD_DECIDER_SHARD_WRITE_LOAD_TYPE_SETTING
public static final Setting<WriteLoadConstraintSettings.WriteLoadDeciderShardWriteLoadType> WRITE_LOAD_DECIDER_SHARD_WRITE_LOAD_TYPE_SETTING -
WRITE_LOAD_DECIDER_ALLOCATION_UTILIZATION_THRESHOLD_SETTING
The threshold over which we consider write thread pool utilization hot-spotting in a balancing movement, when a node is being considered as a destination for a shard -
WRITE_LOAD_DECIDER_QUEUE_LATENCY_THRESHOLD_SETTING
When the decider isWriteLoadConstraintSettings.WriteLoadDeciderStatus.ENABLED, the write-load monitor will callRerouteService.reroute(String, Priority, ActionListener)when we see tasks being delayed by this amount of time and the utilization is above a certain threshold (but no more often thanWRITE_LOAD_DECIDER_REROUTE_INTERVAL_SETTING) -
WRITE_LOAD_DECIDER_HOTSPOT_UTILIZATION_THRESHOLD_SETTING
The threshold over which we consider write thread pool utilization hotspotting in a canRemain check, when a shard is being considered for moving off of a node -
WRITE_LOAD_DECIDER_HOTSPOT_MAX_SHARD_WRITE_LOAD_PROPORTION_THRESHOLD_SETTING
public static final Setting<RatioValue> WRITE_LOAD_DECIDER_HOTSPOT_MAX_SHARD_WRITE_LOAD_PROPORTION_THRESHOLD_SETTINGThe threshold over which we consider a single shard as carrying enough of the load, such that trying to correct a hotspot by relocating shards is not taken: the hot-spot is created by a single shard. This is phrased as a ratio. The production values should always be in (0.50, 1.0]. 0.0 turns this off -
WRITE_LOAD_DECIDER_REROUTE_INTERVAL_SETTING
The minimum amount of time between successive calls to reroute to address write load hot-spots -
WRITE_LOAD_DECIDER_MINIMUM_LOGGING_INTERVAL
The minimum amount of time between logging messages about write load decider interventions
-
-
Constructor Details
-
WriteLoadConstraintSettings
-
-
Method Details
-
getWriteLoadConstraintEnabled
-
getMinimumRerouteInterval
-
getQueueLatencyThreshold
- Returns:
- The queue latency threshold as a time duration for use in checking whether a node is hotspotting and a shard should be moved off of it
-
getHotspotUtilizationThreshold
public double getHotspotUtilizationThreshold()- Returns:
- The utilization threshold as a ratio - i.e. in [0, 1], for use in checking whether a node is hotspotting and a shard should be moved off of it
-
getHotspotUtilizationThresholdString
-
getHotspotMaxShardWriteLoadProportionThreshold
public double getHotspotMaxShardWriteLoadProportionThreshold()- Returns:
- The utilization threshold for a single shard as a proportion in [0, 1] for use in checking whether a hotspot is too focused on a single shard for correction with shard movement
-
getAllocationUtilizationThreshold
public double getAllocationUtilizationThreshold()- Returns:
- The utilization threshold as a ratio - i.e. in [0, 1], for use in checking whether a node can accept a shard in a canAllocation call during allocation balancing
-