From 445e8f3f5970157b4e7a0df079221603739867dd Mon Sep 17 00:00:00 2001 From: "ievgen.degtiarenko" Date: Thu, 6 Mar 2025 15:13:36 +0100 Subject: [PATCH 1/3] Run HeapAttackIT with no replicas --- .../org/elasticsearch/xpack/esql/heap_attack/HeapAttackIT.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/external-modules/esql-heap-attack/src/javaRestTest/java/org/elasticsearch/xpack/esql/heap_attack/HeapAttackIT.java b/test/external-modules/esql-heap-attack/src/javaRestTest/java/org/elasticsearch/xpack/esql/heap_attack/HeapAttackIT.java index 70f1ba529ec5e..9e5cf46facca7 100644 --- a/test/external-modules/esql-heap-attack/src/javaRestTest/java/org/elasticsearch/xpack/esql/heap_attack/HeapAttackIT.java +++ b/test/external-modules/esql-heap-attack/src/javaRestTest/java/org/elasticsearch/xpack/esql/heap_attack/HeapAttackIT.java @@ -19,6 +19,7 @@ import org.elasticsearch.client.ResponseException; import org.elasticsearch.client.RestClient; import org.elasticsearch.client.WarningsHandler; +import org.elasticsearch.cluster.metadata.IndexMetadata; import org.elasticsearch.common.CheckedSupplier; import org.elasticsearch.common.Strings; import org.elasticsearch.common.breaker.CircuitBreakingException; @@ -972,7 +973,7 @@ private void bulk(String name, String bulk) throws IOException { private void initIndex(String name, String bulk) throws IOException { if (indexExists(name) == false) { // not strictly required, but this can help isolate failure from bulk indexing. - createIndex(name); + createIndex(name, Settings.builder().put(IndexMetadata.SETTING_NUMBER_OF_REPLICAS, 0).build()); } if (hasText(bulk)) { bulk(name, bulk); From 3f16f72adbfcf987d2edb036f634db675cda4c91 Mon Sep 17 00:00:00 2001 From: "ievgen.degtiarenko" Date: Fri, 25 Apr 2025 09:42:53 +0200 Subject: [PATCH 2/3] keep replicas in serverless --- .../elasticsearch/xpack/esql/heap_attack/HeapAttackIT.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/test/external-modules/esql-heap-attack/src/javaRestTest/java/org/elasticsearch/xpack/esql/heap_attack/HeapAttackIT.java b/test/external-modules/esql-heap-attack/src/javaRestTest/java/org/elasticsearch/xpack/esql/heap_attack/HeapAttackIT.java index d14e551e430ba..705ae80a1684c 100644 --- a/test/external-modules/esql-heap-attack/src/javaRestTest/java/org/elasticsearch/xpack/esql/heap_attack/HeapAttackIT.java +++ b/test/external-modules/esql-heap-attack/src/javaRestTest/java/org/elasticsearch/xpack/esql/heap_attack/HeapAttackIT.java @@ -20,6 +20,7 @@ import org.elasticsearch.client.RestClient; import org.elasticsearch.client.WarningsHandler; import org.elasticsearch.cluster.metadata.IndexMetadata; +import org.elasticsearch.cluster.routing.allocation.ExistingShardsAllocator; import org.elasticsearch.common.CheckedSupplier; import org.elasticsearch.common.Strings; import org.elasticsearch.common.breaker.CircuitBreakingException; @@ -973,7 +974,11 @@ private void bulk(String name, String bulk) throws IOException { private void initIndex(String name, String bulk) throws IOException { if (indexExists(name) == false) { // not strictly required, but this can help isolate failure from bulk indexing. - createIndex(name, Settings.builder().put(IndexMetadata.SETTING_NUMBER_OF_REPLICAS, 0).build()); + createIndex(name); + var settings = getIndexSettings(name); + if (settings.containsKey(ExistingShardsAllocator.EXISTING_SHARDS_ALLOCATOR_SETTING.getKey()) == false) { + updateIndexSettings(name, Settings.builder().put(IndexMetadata.SETTING_NUMBER_OF_REPLICAS, 0)); + } } if (hasText(bulk)) { bulk(name, bulk); From 38dab3994d5416dda48493f1fdb7eb777de4762f Mon Sep 17 00:00:00 2001 From: "ievgen.degtiarenko" Date: Fri, 25 Apr 2025 11:31:55 +0200 Subject: [PATCH 3/3] upd --- .../org/elasticsearch/xpack/esql/heap_attack/HeapAttackIT.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/external-modules/esql-heap-attack/src/javaRestTest/java/org/elasticsearch/xpack/esql/heap_attack/HeapAttackIT.java b/test/external-modules/esql-heap-attack/src/javaRestTest/java/org/elasticsearch/xpack/esql/heap_attack/HeapAttackIT.java index 705ae80a1684c..e168f12e648e9 100644 --- a/test/external-modules/esql-heap-attack/src/javaRestTest/java/org/elasticsearch/xpack/esql/heap_attack/HeapAttackIT.java +++ b/test/external-modules/esql-heap-attack/src/javaRestTest/java/org/elasticsearch/xpack/esql/heap_attack/HeapAttackIT.java @@ -975,7 +975,7 @@ private void initIndex(String name, String bulk) throws IOException { if (indexExists(name) == false) { // not strictly required, but this can help isolate failure from bulk indexing. createIndex(name); - var settings = getIndexSettings(name); + var settings = (Map) ((Map) getIndexSettings(name).get(name)).get("settings"); if (settings.containsKey(ExistingShardsAllocator.EXISTING_SHARDS_ALLOCATOR_SETTING.getKey()) == false) { updateIndexSettings(name, Settings.builder().put(IndexMetadata.SETTING_NUMBER_OF_REPLICAS, 0)); }