Add DSL query-type parquet REST test suite (initial) - #22608
Add DSL query-type parquet REST test suite (initial)#22608Siritejagaddameedi wants to merge 1 commit into
Conversation
Introduce a standalone REST integration module that validates parquet/
composite query behavior against known-correct answers generated on a
vanilla (plain Lucene) index.
Each query type is a folder under datasets/<type>/ (mapping.json +
bulk.json + dsl/q1.json + dsl/expected/q1.json). DslQueryTypesIT
provisions the dataset into a parquet-backed index, runs the query, and
validates the response against the committed expected answer via
DslResponseValidator (order-independent, numeric tolerance). The suite
runs against an already-running server over HTTP, so the test JVM loads
no plugins.
Seed the suite with two query types plus single-valued-tags variants:
- term, bool: docs store `tags` as a multi-valued array, which parquet
rejects at ingest ("Cannot accept multiple values for field [tags]").
- term_scalar, bool_scalar: identical mapping and query but `tags` is a
single scalar value, which parquet accepts — isolating the multi-value
array as the sole cause and confirming the query type itself works.
Also includes DslTermQueryIT, a focused term-query correctness test.
Signed-off-by: Siri Gaddameedi <sirigadd@amazon.com>
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
PR Code Suggestions ✨Explore these optional code suggestions:
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #22608 +/- ##
============================================
- Coverage 71.39% 71.39% -0.01%
- Complexity 76760 76777 +17
============================================
Files 6148 6148
Lines 357951 357951
Branches 52170 52170
============================================
- Hits 255556 255554 -2
- Misses 82024 82054 +30
+ Partials 20371 20343 -28 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Description
Introduces a standalone REST integration module that validates parquet/composite query
behavior against known-correct answers generated on a vanilla (plain Lucene) index.
Each query type is a folder under
datasets/<type>/(mapping.json+bulk.json+dsl/q1.json+dsl/expected/q1.json).DslQueryTypesITprovisions the dataset into aparquet-backed index, runs the query, and validates the response against the committed
expected answer via
DslResponseValidator(order-independent, numeric tolerance). Thesuite runs against an already-running server over HTTP, so the test JVM loads no plugins.
Seed the suite with two query types plus single-valued-tags variants:
term,bool— docs storetagsas a multi-valued array, which parquet rejects atingest ("Cannot accept multiple values for field [tags]").
term_scalar,bool_scalar— identical mapping and query buttagsis a singlescalar value, which parquet accepts — isolating the multi-value array as the sole cause
and confirming the query type itself works.
Also includes
DslTermQueryIT, a focused term-query correctness test.The module is designed to grow one folder per query type in follow-up PRs.
How to run (against a running server with the analytics/composite/parquet stack):
Related Issues
N/A
Check List
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.