Skip to content

Commit ab58c4d

Browse files
authored
Exclude full-text search-filter operator tests on the analytics-engine route (#5527)
The 7 comparison-operator tests in OperatorIT / CalciteOperatorIT use the search-filter syntax (source=idx age = 32), which lowers to a Lucene query_string predicate. Executing it on the analytics-engine route fails with a null LuceneReader: query_string needs an inverted-index searcher, which parquet-backed analytics indices don't have (DataFusion is not a full-text engine). Full-text search is genuinely unsupported there. Exclude these tests only when the analytics route is actually enabled (Boolean.parseBoolean(tests.analytics.parquet_indices), matching AnalyticsIndexConfig.isEnabled) so the v2 path still runs them, following the established build.gradle exclusion pattern. Signed-off-by: Kai Huang <ahkcs@amazon.com>
1 parent f861d02 commit ab58c4d

1 file changed

Lines changed: 19 additions & 2 deletions

File tree

integ-test/build.gradle

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1035,13 +1035,30 @@ task integTestRemote(type: RestIntegTestTask) {
10351035
systemProperty 'tests.analytics.parquet_indices', System.getProperty("tests.analytics.parquet_indices")
10361036
}
10371037

1038+
// True only when the analytics-engine route is active (every test index parquet-backed). Matches
1039+
// AnalyticsIndexConfig.isEnabled, which parses the value rather than checking mere presence, so a
1040+
// `-Dtests.analytics.parquet_indices=false` run stays on the v2 path.
1041+
def analyticsEnabled = Boolean.parseBoolean(System.getProperty("tests.analytics.parquet_indices", "false"))
1042+
10381043
// Set default query size limit
10391044
systemProperty 'defaultQuerySizeLimit', '10000'
10401045

1041-
if (System.getProperty("tests.rest.bwcsuite") == null) {
1042-
filter {
1046+
filter {
1047+
if (System.getProperty("tests.rest.bwcsuite") == null) {
10431048
excludeTestsMatching "org.opensearch.sql.bwc.*IT"
10441049
}
1050+
1051+
if (analyticsEnabled) {
1052+
// Full-text search (search-filter syntax -> Lucene query_string) needs an inverted-index
1053+
// reader that parquet-backed analytics indices lack, so it's unsupported on this route.
1054+
excludeTestsMatching '*OperatorIT.testEqualOperator'
1055+
excludeTestsMatching '*OperatorIT.testNotEqualOperator'
1056+
excludeTestsMatching '*OperatorIT.testLessOperator'
1057+
excludeTestsMatching '*OperatorIT.testLteOperator'
1058+
excludeTestsMatching '*OperatorIT.testGreaterOperator'
1059+
excludeTestsMatching '*OperatorIT.testGteOperator'
1060+
excludeTestsMatching '*OperatorIT.testNotOperator'
1061+
}
10451062
}
10461063

10471064
// Exclude the same tests that are excluded for integTest

0 commit comments

Comments
 (0)