[Analytic Engine] Skip PUT+DELETE doc-fixture tests on the analytics-engine storage matrix#5476
Open
RyanL1997 wants to merge 1 commit into
Conversation
Contributor
PR Reviewer Guide 🔍(Review updated until commit 7b05885)Here are some key observations to aid the review process:
|
Contributor
PR Code Suggestions ✨Explore these optional code suggestions:
|
These 10 PPL/Calcite integration tests mutate the shared test index by issuing PUT /<idx>/_doc/<id> + DELETE /<idx>/_doc/<id> around the query under test. When the suite runs with -Dtests.analytics.parquet_indices=true, test indices are backed by DataFormatAwareEngine, whose delete() and prepareDelete() deliberately throw "delete operation not supported." — parquet/composite storage is append-only by design. The tests pass under the Lucene-backed default. Skipping them via Assume.assumeFalse(isAnalyticsParquetIndicesEnabled()) follows the precedent already established in StatsCommandIT and CalciteAnalyticsDatetimeWireFormatIT, and prevents the spurious bucket-22 "delete operation not supported" failures in the AE-storage report without changing any assertion or test behavior on the default path. Signed-off-by: Jialiang Liang <jiallian@amazon.com>
549c546 to
7b05885
Compare
Contributor
|
Persistent review updated to latest commit 7b05885 |
ahkcs
approved these changes
May 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Bucket # 22 of the AE-storage failure report (8 failures:
unsupported_operation_exception — delete operation not supported.) is not a SQL plugin bug. The exception originates in OpenSearch core's storage layer:server/src/main/java/org/opensearch/index/engine/DataFormatAwareEngine.java:691—delete(...)throwsUnsupportedEncodingException("delete operation not supported.")server/src/main/java/org/opensearch/index/engine/DataFormatAwareEngine.java:774—prepareDelete(...)throwsUnsupportedOperationException("delete operation not supported.")DataFormatAwareEngineis the engine that backs analytics-engine indices (parquet / composite). It's append-only by design — per-doc delete is not implemented.The failing tests are 10 PPL / Calcite integration tests that mutate a shared test index as part of their fixture:
This pattern works fine against the default Lucene-backed engine. When the suite is launched with
-Dtests.analytics.parquet_indices=true(the AE-storage matrix), the cleanup DELETE tripsDataFormatAwareEngine.delete()and the test fails — even though the SQL/PPL behavior under test would otherwise pass.Fix
Skip these specific tests on the AE-storage matrix using the existing helper
PPLIntegTestCase.isAnalyticsParquetIndicesEnabled()paired withAssume.assumeFalse(...). This is the precedent already established inStatsCommandIT(4 sites) andCalciteAnalyticsDatetimeWireFormatIT.init().Impact
integTest/integTestRemote(mainline CI)assumeFalse(false)is a no-op, tests run and assert as before-Dtests.analytics.parquet_indices=true(AE-storage matrix)No assertion is changed, no fixture is refactored, no Lucene-path coverage is lost.
Out of scope
DataFormatAwareEngine— major design question, not a test-fix concern.Test plan
integTest/integTestRemotepasses (no behavior change on Lucene path)../gradlew :integ-test:spotlessApplyran clean../gradlew :integ-test:compileTestJavaran clean.