…e route
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>
Description
The 7 comparison-operator tests in
OperatorIT/CalciteOperatorIT(testEqualOperator,testNotEqualOperator,testLessOperator,testLteOperator,testGreaterOperator,testGteOperator,testNotOperator) fail on the analytics-engine route (-Dtests.analytics.parquet_indices=true).Root cause. They use the implicit search-filter syntax (
source=idx age = 32), which the PPLsearchcommand lowers to a Lucenequery_stringpredicate:Executing that on the analytics route fails with:
query_stringis full-text search — it needs an inverted-indexLuceneReader/searcher. A parquet-backed analytics index (composite.primary_data_format=parquet, no Lucene secondary) has no Lucene reader, and DataFusion is a columnar engine, not a full-text engine. So full-text search is genuinely unsupported on the analytics route, not a bug.Fix. Exclude these tests on the analytics route, gated on
tests.analytics.parquet_indices, following the existinginteg-test/build.gradleexclusion pattern — recording that full-text search isn't supported there rather than changing what the tests assert. The v2 / Calcite (Lucene-backed) path is unaffected; the tests run and pass there.Testing
CalciteOperatorIT(21 tests):Check List
--signoff.By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.