Drop @Ignore'd Calcite ITs from CalciteNoPushdownIT @Suite#5416
Merged
ahkcs merged 1 commit intoopensearch-project:feature/mustang-ppl-integrationfrom May 7, 2026
Conversation
Mirrors the trailing portion of opensearch-project#5414 onto feature/mustang-ppl-integration. The Gradle 9.4.1 wrapper bump (opensearch-project#5406) and the integTest exclude block for @ignore'd classes (opensearch-project#5407) already landed on this branch, but the matching cleanup of `CalciteNoPushdownIT` did not — the @suite still listed four classes that are now build-time excluded from integTest: - CalciteInformationSchemaCommandIT - CalciteJsonFunctionsIT - CalcitePrometheusDataSourceCommandsIT - CalciteShowDataSourcesCommandIT Leaving them in the suite means the JUnit runner attempts to load each class, finds it referenced from the suite, and registers a descriptor — which (combined with the class-level @ignore) reproduces the same TestEventReporterAsListener.started cast that the integTest exclude was meant to avoid. Dropping the entries here keeps the no-pushdown suite consistent with the exclude block: a class excluded at the build layer must not also appear in any @Suite.SuiteClasses list. No new tests are introduced or removed — the four classes are already @ignore'd and have been since they were written. This change is purely about keeping the no-pushdown suite metadata aligned with the exclusion pattern carried over from main. Signed-off-by: Kai Huang <[email protected]>
Contributor
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
92d22ed
into
opensearch-project:feature/mustang-ppl-integration
36 of 38 checks passed
ahkcs
added a commit
to ahkcs/sql
that referenced
this pull request
May 8, 2026
…ation Brings the catch-up branch up to current upstream/main (4 commits since this PR was opened) and current feature/mustang-ppl-integration (9 commits since this PR was opened), so the PR is mergeable into feature/mustang-ppl-integration without conflicts. Squashed (rather than two real merge commits) for the same DCO reason the original commit was squashed: upstream commits authored by many contributors with inconsistent or missing Signed-off-by trailers would otherwise be brought into this PR's history. Newer main commits absorbed (4): - opensearch-project#5419 (LENGTH/REGEXP_REPLACE/DATE_TRUNC unified function spec) - opensearch-project#5408 (datetime type normalization) - opensearch-project#5414 (Gradle wrapper bump + @ignore exclusion) - opensearch-project#5399 (FGAC-scoped SQL cursor continuation) Newer feature commits absorbed (9): - opensearch-project#5403 (analytics-engine optional dependency — major rewiring) - opensearch-project#5407 (Carry CalciteEvalCommandIT through helper-managed index path) - opensearch-project#5413 (Default plugins.calcite.enabled=true on unified path) - opensearch-project#5415, opensearch-project#5416, opensearch-project#5417, opensearch-project#5409, opensearch-project#5400, opensearch-project#5406 (smaller carryovers + bumps) Conflict resolutions (10 from main side, 3 from feature side): api/spec/* (LanguageSpec, UnifiedFunctionSpec, UnifiedPplSpec, UnifiedSqlSpec): took main. Main is a strict superset — adds postAnalysisRules and preCompilationRules extension points, the new FunctionSpecBuilder DSL, SCALAR category for length/regexp_replace/ date_trunc, the DatetimeExtension on PPL spec, and the CoreExtension wiring on SQL spec. PR's RELEVANCE category is preserved unchanged. api/UnifiedQueryPlanner.java, api/compiler/UnifiedQueryCompiler.java: took main. Both adopt the new postAnalysisRules / preCompilationRules hooks introduced in opensearch-project#5408 / opensearch-project#5419. core/executor/QueryService.java: composed both sides — kept HEAD's CalciteClassLoaderHelper.withCalciteClassLoader wrapper around main's StageErrorHandler stage tracking. Same pattern as the original PR resolution; both improvements are orthogonal. legacy/plugin/RestSqlAction.java: took HEAD. The 3-way merge produced a duplicated handleException/getRawErrorCode block; HEAD already contained both the delegateToV2Engine refactor and the ErrorReport unwrap from main, so HEAD is the correct superset. integ-test/build.gradle: took feature. Both sides added the same @ignore exclusion block; feature has alphabetical ordering and a more detailed comment explaining the Gradle 9.4.1 TestEventReporterAsListener cast bug. integ-test/.../CalciteEvalCommandIT.java: composed both sides. Took feature's helper-managed test_eval provisioning (createIndexByRestClient + isIndexExist guard, from opensearch-project#5407) so analytics-engine compatibility runs get a parquet-backed index. Added back PR HEAD's test_eval_agent setup (needed by the dotted-path eval tests for opensearch-project#5351) wrapped in its own isIndexExist guard for the same parquet-aware idempotency. plugin/.../TransportPPLQueryAction.java: took feature. PR opensearch-project#5403 made analytics-engine an optional dependency by moving QueryPlanExecutor from a required constructor parameter to an @Inject(optional=true) setter. Feature's design supersedes our prior wiring. plugin/.../SQLPlugin.java: took feature. The same opensearch-project#5403 simplification removed loadExtensions/EngineExtensionsHolder/executionEngineExtensions plumbing (no longer needed once analytics-engine is optionally bound). Feature retains the createSqlAnalyticsRouter method this PR introduced. plugin/.../config/EngineExtensionsHolder.java: deleted. Unreferenced after taking feature's SQLPlugin/TransportPPLQueryAction; not present on feature branch. Build: :api, :core, :opensearch-sql-plugin, :legacy compileJava + :integ-test compileTestJava all pass; unit tests pass; spotlessCheck clean. Signed-off-by: Kai Huang <[email protected]>
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
Trailing port of #5414 onto
feature/mustang-ppl-integration.The mustang feature branch already has:
integTestexclude block for@Ignore'd test classes (via Carry CalciteEvalCommandIT through the helper-managed index path #5407)The matching cleanup of
[email protected]was the only piece of #5414 not yet ported. This PR removes the four@Ignore'd classes from the suite list:CalciteInformationSchemaCommandITCalciteJsonFunctionsITCalcitePrometheusDataSourceCommandsITCalciteShowDataSourcesCommandITWhy this matters
The integTest exclude block keeps these classes off the test runner's input set so the Gradle 9.4.1
TestEventReporterAsListenercast bug (which fires on class-level@Ignore) can't trigger. But if any class is referenced from a@Suite.SuiteClasseslist, the suite runner attempts to load it, registers a descriptor, and reproduces the very cast the build-layer exclude was meant to prevent.A class excluded at the build layer must not also appear in any
@Suite.SuiteClasseslist. This keeps the no-pushdown suite metadata aligned with the exclusion pattern.Net behaviour
The four classes were already
@Ignore'd and have been since they were written — they never actually ran in the no-pushdown sweep. Removing them from the suite metadata produces no functional change beyond keeping the@Suitedefinition consistent with the exclude block.Diff parity with #5414
feature/mustang-ppl-integrationgradle/wrapper/gradle-wrapper.properties(9.2.0 → 9.4.1)integ-test/build.gradle(24excludelines)integ-test/.../CalciteNoPushdownIT.java(4 lines removed)By submitting this pull request