From f636a88fa609eb77d7ae421f6e57da0fe1760cbe Mon Sep 17 00:00:00 2001 From: Nick Tindall Date: Wed, 27 Aug 2025 11:51:48 +1000 Subject: [PATCH 1/3] Reduce default queue-latency threshold to 10s --- .../cluster/routing/allocation/WriteLoadConstraintSettings.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/main/java/org/elasticsearch/cluster/routing/allocation/WriteLoadConstraintSettings.java b/server/src/main/java/org/elasticsearch/cluster/routing/allocation/WriteLoadConstraintSettings.java index 3ee0702b13192..43e807371b616 100644 --- a/server/src/main/java/org/elasticsearch/cluster/routing/allocation/WriteLoadConstraintSettings.java +++ b/server/src/main/java/org/elasticsearch/cluster/routing/allocation/WriteLoadConstraintSettings.java @@ -92,7 +92,7 @@ public boolean disabled() { */ public static final Setting WRITE_LOAD_DECIDER_QUEUE_LATENCY_THRESHOLD_SETTING = Setting.timeSetting( SETTING_PREFIX + "queue_latency_threshold", - TimeValue.timeValueSeconds(30), + TimeValue.timeValueSeconds(10), Setting.Property.Dynamic, Setting.Property.NodeScope ); From 0ea50ddc55b9f106443d6a58102d3d1fd63872e5 Mon Sep 17 00:00:00 2001 From: Nick Tindall Date: Wed, 27 Aug 2025 12:00:48 +1000 Subject: [PATCH 2/3] Default reroute interval to 0s, remove redundant setting --- .../allocation/WriteLoadConstraintSettings.java | 12 +----------- .../common/settings/ClusterSettings.java | 1 - .../function/scalar/string/ContainsEvaluator.java | 11 +++++++++++ 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/server/src/main/java/org/elasticsearch/cluster/routing/allocation/WriteLoadConstraintSettings.java b/server/src/main/java/org/elasticsearch/cluster/routing/allocation/WriteLoadConstraintSettings.java index 43e807371b616..c6654c7fced19 100644 --- a/server/src/main/java/org/elasticsearch/cluster/routing/allocation/WriteLoadConstraintSettings.java +++ b/server/src/main/java/org/elasticsearch/cluster/routing/allocation/WriteLoadConstraintSettings.java @@ -97,22 +97,12 @@ public boolean disabled() { Setting.Property.NodeScope ); - /** - * How often the data node calculates the write-loads for the individual shards - */ - public static final Setting WRITE_LOAD_DECIDER_SHARD_WRITE_LOAD_POLLING_INTERVAL_SETTING = Setting.timeSetting( - SETTING_PREFIX + "shard_write_load_polling_interval", - TimeValue.timeValueSeconds(60), - Setting.Property.Dynamic, - Setting.Property.NodeScope - ); - /** * The minimum amount of time between successive calls to reroute to address write load hot-spots */ public static final Setting WRITE_LOAD_DECIDER_REROUTE_INTERVAL_SETTING = Setting.timeSetting( SETTING_PREFIX + "reroute_interval", - TimeValue.timeValueSeconds(60), + TimeValue.ZERO, Setting.Property.Dynamic, Setting.Property.NodeScope ); diff --git a/server/src/main/java/org/elasticsearch/common/settings/ClusterSettings.java b/server/src/main/java/org/elasticsearch/common/settings/ClusterSettings.java index b6353680651fd..94df2a1a87ba9 100644 --- a/server/src/main/java/org/elasticsearch/common/settings/ClusterSettings.java +++ b/server/src/main/java/org/elasticsearch/common/settings/ClusterSettings.java @@ -649,7 +649,6 @@ public void apply(Settings value, Settings current, Settings previous) { WriteLoadConstraintSettings.WRITE_LOAD_DECIDER_HIGH_UTILIZATION_THRESHOLD_SETTING, WriteLoadConstraintSettings.WRITE_LOAD_DECIDER_HIGH_UTILIZATION_DURATION_SETTING, WriteLoadConstraintSettings.WRITE_LOAD_DECIDER_QUEUE_LATENCY_THRESHOLD_SETTING, - WriteLoadConstraintSettings.WRITE_LOAD_DECIDER_SHARD_WRITE_LOAD_POLLING_INTERVAL_SETTING, WriteLoadConstraintSettings.WRITE_LOAD_DECIDER_REROUTE_INTERVAL_SETTING ); } diff --git a/x-pack/plugin/esql/src/main/generated/org/elasticsearch/xpack/esql/expression/function/scalar/string/ContainsEvaluator.java b/x-pack/plugin/esql/src/main/generated/org/elasticsearch/xpack/esql/expression/function/scalar/string/ContainsEvaluator.java index cd4d40dabaec2..2a922687127d2 100644 --- a/x-pack/plugin/esql/src/main/generated/org/elasticsearch/xpack/esql/expression/function/scalar/string/ContainsEvaluator.java +++ b/x-pack/plugin/esql/src/main/generated/org/elasticsearch/xpack/esql/expression/function/scalar/string/ContainsEvaluator.java @@ -8,6 +8,7 @@ import java.lang.Override; import java.lang.String; import org.apache.lucene.util.BytesRef; +import org.apache.lucene.util.RamUsageEstimator; import org.elasticsearch.compute.data.Block; import org.elasticsearch.compute.data.BooleanBlock; import org.elasticsearch.compute.data.BooleanVector; @@ -25,6 +26,8 @@ * This class is generated. Edit {@code EvaluatorImplementer} instead. */ public final class ContainsEvaluator implements EvalOperator.ExpressionEvaluator { + private static final long BASE_RAM_BYTES_USED = RamUsageEstimator.shallowSizeOfInstance(ContainsEvaluator.class); + private final Source source; private final EvalOperator.ExpressionEvaluator str; @@ -60,6 +63,14 @@ public Block eval(Page page) { } } + @Override + public long baseRamBytesUsed() { + long baseRamBytesUsed = BASE_RAM_BYTES_USED; + baseRamBytesUsed += str.baseRamBytesUsed(); + baseRamBytesUsed += substr.baseRamBytesUsed(); + return baseRamBytesUsed; + } + public BooleanBlock eval(int positionCount, BytesRefBlock strBlock, BytesRefBlock substrBlock) { try(BooleanBlock.Builder result = driverContext.blockFactory().newBooleanBlockBuilder(positionCount)) { BytesRef strScratch = new BytesRef(); From f84d2dd02d508b9122ec05c2e32182d44f208214 Mon Sep 17 00:00:00 2001 From: Nick Tindall Date: Wed, 27 Aug 2025 16:34:44 +1000 Subject: [PATCH 3/3] Undo unexpected change --- .../function/scalar/string/ContainsEvaluator.java | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/x-pack/plugin/esql/src/main/generated/org/elasticsearch/xpack/esql/expression/function/scalar/string/ContainsEvaluator.java b/x-pack/plugin/esql/src/main/generated/org/elasticsearch/xpack/esql/expression/function/scalar/string/ContainsEvaluator.java index 2a922687127d2..cd4d40dabaec2 100644 --- a/x-pack/plugin/esql/src/main/generated/org/elasticsearch/xpack/esql/expression/function/scalar/string/ContainsEvaluator.java +++ b/x-pack/plugin/esql/src/main/generated/org/elasticsearch/xpack/esql/expression/function/scalar/string/ContainsEvaluator.java @@ -8,7 +8,6 @@ import java.lang.Override; import java.lang.String; import org.apache.lucene.util.BytesRef; -import org.apache.lucene.util.RamUsageEstimator; import org.elasticsearch.compute.data.Block; import org.elasticsearch.compute.data.BooleanBlock; import org.elasticsearch.compute.data.BooleanVector; @@ -26,8 +25,6 @@ * This class is generated. Edit {@code EvaluatorImplementer} instead. */ public final class ContainsEvaluator implements EvalOperator.ExpressionEvaluator { - private static final long BASE_RAM_BYTES_USED = RamUsageEstimator.shallowSizeOfInstance(ContainsEvaluator.class); - private final Source source; private final EvalOperator.ExpressionEvaluator str; @@ -63,14 +60,6 @@ public Block eval(Page page) { } } - @Override - public long baseRamBytesUsed() { - long baseRamBytesUsed = BASE_RAM_BYTES_USED; - baseRamBytesUsed += str.baseRamBytesUsed(); - baseRamBytesUsed += substr.baseRamBytesUsed(); - return baseRamBytesUsed; - } - public BooleanBlock eval(int positionCount, BytesRefBlock strBlock, BytesRefBlock substrBlock) { try(BooleanBlock.Builder result = driverContext.blockFactory().newBooleanBlockBuilder(positionCount)) { BytesRef strScratch = new BytesRef();