Skip to content

Commit b8cf6de

Browse files
committed
Fix flaky ExistsQueryBuilderTests.testToQuery
Test was generating field patterns that matched raw.derived_keyword, which doesnt support exists queries. Fixed by replacing problematic patterns with TEXT_FIELD_NAME. Fixes #18724 Signed-off-by: Atri Sharma <atri.jiit@gmail.com>
1 parent d18d06f commit b8cf6de

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

server/src/test/java/org/opensearch/index/query/ExistsQueryBuilderTests.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,9 +89,13 @@ protected ExistsQueryBuilder doCreateTestQueryBuilder() {
8989
}
9090
// also sometimes test wildcard patterns
9191
if (randomBoolean()) {
92-
if (randomBoolean()) {
93-
fieldPattern = fieldPattern + "*";
94-
}
92+
fieldPattern = fieldPattern + "*";
93+
}
94+
// Avoid patterns that would match the derived field "raw.derived_keyword"
95+
// This includes "raw", "raw*", "raw.xxx", "r*", "ra*", etc.
96+
if (fieldPattern.equals("raw") || fieldPattern.startsWith("raw") ||
97+
(fieldPattern.contains("*") && "raw.derived_keyword".startsWith(fieldPattern.replace("*", "")))) {
98+
fieldPattern = TEXT_FIELD_NAME;
9599
}
96100
return new ExistsQueryBuilder(fieldPattern);
97101
}

0 commit comments

Comments
 (0)