From 52209c407fdecc907d9756de27776a71563dd76d Mon Sep 17 00:00:00 2001 From: Benjamin Trent <4357155+benwtrent@users.noreply.github.com> Date: Thu, 13 Feb 2025 17:21:36 -0500 Subject: [PATCH 1/2] Addressing bbq bwc failures --- muted-tests.yml | 12 ------------ .../elasticsearch/upgrades/VectorSearchIT.java | 16 ++++++++-------- 2 files changed, 8 insertions(+), 20 deletions(-) diff --git a/muted-tests.yml b/muted-tests.yml index 1810e98f6ca08..31f370e446b75 100644 --- a/muted-tests.yml +++ b/muted-tests.yml @@ -268,18 +268,6 @@ tests: - class: org.elasticsearch.xpack.test.rest.XPackRestIT method: test {p0=ml/*} issue: https://github.com/elastic/elasticsearch/issues/120816 -- class: org.elasticsearch.upgrades.VectorSearchIT - method: testBBQVectorSearch {upgradedNodes=0} - issue: https://github.com/elastic/elasticsearch/issues/121253 -- class: org.elasticsearch.upgrades.VectorSearchIT - method: testBBQVectorSearch {upgradedNodes=1} - issue: https://github.com/elastic/elasticsearch/issues/121271 -- class: org.elasticsearch.upgrades.VectorSearchIT - method: testBBQVectorSearch {upgradedNodes=2} - issue: https://github.com/elastic/elasticsearch/issues/121272 -- class: org.elasticsearch.upgrades.VectorSearchIT - method: testBBQVectorSearch {upgradedNodes=3} - issue: https://github.com/elastic/elasticsearch/issues/121273 - class: org.elasticsearch.xpack.security.authc.ldap.ActiveDirectorySessionFactoryTests issue: https://github.com/elastic/elasticsearch/issues/121285 - class: org.elasticsearch.smoketest.DocsClientYamlTestSuiteIT diff --git a/qa/rolling-upgrade/src/javaRestTest/java/org/elasticsearch/upgrades/VectorSearchIT.java b/qa/rolling-upgrade/src/javaRestTest/java/org/elasticsearch/upgrades/VectorSearchIT.java index 5308fe85c1cab..2b9ddf4022a5c 100644 --- a/qa/rolling-upgrade/src/javaRestTest/java/org/elasticsearch/upgrades/VectorSearchIT.java +++ b/qa/rolling-upgrade/src/javaRestTest/java/org/elasticsearch/upgrades/VectorSearchIT.java @@ -485,8 +485,8 @@ public void testBBQVectorSearch() throws Exception { Map response = search(searchRequest); assertThat(extractValue(response, "hits.total.value"), equalTo(7)); List> hits = extractValue(response, "hits.hits"); - assertThat(hits.get(0).get("_id"), equalTo("0")); - assertThat((double) hits.get(0).get("_score"), closeTo(1.9869276, 0.0001)); + assertThat("hits: " + response, hits.get(0).get("_id"), equalTo("0")); + assertThat("hits: " + response, (double) hits.get(0).get("_score"), closeTo(1.9869276, 0.0001)); // search with knn searchRequest = new Request("POST", "/" + BBQ_INDEX_NAME + "/_search"); @@ -504,8 +504,8 @@ public void testBBQVectorSearch() throws Exception { response = search(searchRequest); assertThat(extractValue(response, "hits.total.value"), equalTo(2)); hits = extractValue(response, "hits.hits"); - assertThat(hits.get(0).get("_id"), equalTo("0")); - assertThat((double) hits.get(0).get("_score"), closeTo(0.9934857, 0.005)); + assertThat("hits: " + response, hits.get(0).get("_id"), equalTo("0")); + assertThat("hits: " + response, (double) hits.get(0).get("_score"), closeTo(0.9934857, 0.005)); } public void testFlatBBQVectorSearch() throws Exception { @@ -559,8 +559,8 @@ public void testFlatBBQVectorSearch() throws Exception { Map response = search(searchRequest); assertThat(extractValue(response, "hits.total.value"), equalTo(7)); List> hits = extractValue(response, "hits.hits"); - assertThat(hits.get(0).get("_id"), equalTo("0")); - assertThat((double) hits.get(0).get("_score"), closeTo(1.9869276, 0.0001)); + assertThat("hits: " + response, hits.get(0).get("_id"), equalTo("0")); + assertThat("hits: " + response, (double) hits.get(0).get("_score"), closeTo(1.9869276, 0.0001)); // search with knn searchRequest = new Request("POST", "/" + FLAT_BBQ_INDEX_NAME + "/_search"); @@ -578,8 +578,8 @@ public void testFlatBBQVectorSearch() throws Exception { response = search(searchRequest); assertThat(extractValue(response, "hits.total.value"), equalTo(2)); hits = extractValue(response, "hits.hits"); - assertThat(hits.get(0).get("_id"), equalTo("0")); - assertThat((double) hits.get(0).get("_score"), closeTo(0.9934857, 0.005)); + assertThat("hits: " + response, hits.get(0).get("_id"), equalTo("0")); + assertThat("hits: " + response, (double) hits.get(0).get("_score"), closeTo(0.9934857, 0.005)); } private void index64DimVectors(String indexName) throws Exception { From 8d4c3399b8ff24d59d3bafe6ed762c4389ee8fe3 Mon Sep 17 00:00:00 2001 From: Benjamin Trent <4357155+benwtrent@users.noreply.github.com> Date: Fri, 14 Feb 2025 10:38:09 -0500 Subject: [PATCH 2/2] iter --- .../upgrades/VectorSearchIT.java | 30 +++++++++++++++---- 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/qa/rolling-upgrade/src/javaRestTest/java/org/elasticsearch/upgrades/VectorSearchIT.java b/qa/rolling-upgrade/src/javaRestTest/java/org/elasticsearch/upgrades/VectorSearchIT.java index 2b9ddf4022a5c..07034618be4a6 100644 --- a/qa/rolling-upgrade/src/javaRestTest/java/org/elasticsearch/upgrades/VectorSearchIT.java +++ b/qa/rolling-upgrade/src/javaRestTest/java/org/elasticsearch/upgrades/VectorSearchIT.java @@ -13,6 +13,7 @@ import org.elasticsearch.client.Request; import org.elasticsearch.client.Response; +import org.elasticsearch.cluster.metadata.IndexMetadata; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.xcontent.support.XContentMapValues; @@ -456,7 +457,11 @@ public void testBBQVectorSearch() throws Exception { } """; // create index and index 10 random floating point vectors - createIndex(BBQ_INDEX_NAME, Settings.EMPTY, mapping); + createIndex( + BBQ_INDEX_NAME, + Settings.builder().put(IndexMetadata.SETTING_NUMBER_OF_SHARDS, 1).put(IndexMetadata.SETTING_NUMBER_OF_REPLICAS, 0).build(), + mapping + ); index64DimVectors(BBQ_INDEX_NAME); // force merge the index client().performRequest(new Request("POST", "/" + BBQ_INDEX_NAME + "/_forcemerge?max_num_segments=1")); @@ -504,8 +509,12 @@ public void testBBQVectorSearch() throws Exception { response = search(searchRequest); assertThat(extractValue(response, "hits.total.value"), equalTo(2)); hits = extractValue(response, "hits.hits"); - assertThat("hits: " + response, hits.get(0).get("_id"), equalTo("0")); - assertThat("hits: " + response, (double) hits.get(0).get("_score"), closeTo(0.9934857, 0.005)); + assertThat("expected: 0 received" + hits.get(0).get("_id") + " hits: " + response, hits.get(0).get("_id"), equalTo("0")); + assertThat( + "expected_near: 0.99 received" + hits.get(0).get("_score") + "hits: " + response, + (double) hits.get(0).get("_score"), + closeTo(0.9934857, 0.005) + ); } public void testFlatBBQVectorSearch() throws Exception { @@ -530,7 +539,11 @@ public void testFlatBBQVectorSearch() throws Exception { } """; // create index and index 10 random floating point vectors - createIndex(FLAT_BBQ_INDEX_NAME, Settings.EMPTY, mapping); + createIndex( + FLAT_BBQ_INDEX_NAME, + Settings.builder().put(IndexMetadata.SETTING_NUMBER_OF_SHARDS, 1).put(IndexMetadata.SETTING_NUMBER_OF_REPLICAS, 0).build(), + mapping + ); index64DimVectors(FLAT_BBQ_INDEX_NAME); // force merge the index client().performRequest(new Request("POST", "/" + FLAT_BBQ_INDEX_NAME + "/_forcemerge?max_num_segments=1")); @@ -578,8 +591,12 @@ public void testFlatBBQVectorSearch() throws Exception { response = search(searchRequest); assertThat(extractValue(response, "hits.total.value"), equalTo(2)); hits = extractValue(response, "hits.hits"); - assertThat("hits: " + response, hits.get(0).get("_id"), equalTo("0")); - assertThat("hits: " + response, (double) hits.get(0).get("_score"), closeTo(0.9934857, 0.005)); + assertThat("expected: 0 received" + hits.get(0).get("_id") + " hits: " + response, hits.get(0).get("_id"), equalTo("0")); + assertThat( + "expected_near: 0.99 received" + hits.get(0).get("_score") + "hits: " + response, + (double) hits.get(0).get("_score"), + closeTo(0.9934857, 0.005) + ); } private void index64DimVectors(String indexName) throws Exception { @@ -605,6 +622,7 @@ private void index64DimVectors(String indexName) throws Exception { assertOK(client().performRequest(indexRequest)); } // always refresh to ensure the data is visible + flush(indexName, true); refresh(indexName); }