Skip to content

Drop @Ignore'd Calcite ITs from CalciteNoPushdownIT @Suite#5416

Merged
ahkcs merged 1 commit intoopensearch-project:feature/mustang-ppl-integrationfrom
ahkcs:pr/no-pushdown-it-suite-cleanup
May 7, 2026
Merged

Drop @Ignore'd Calcite ITs from CalciteNoPushdownIT @Suite#5416
ahkcs merged 1 commit intoopensearch-project:feature/mustang-ppl-integrationfrom
ahkcs:pr/no-pushdown-it-suite-cleanup

Conversation

@ahkcs
Copy link
Copy Markdown
Collaborator

@ahkcs ahkcs commented May 7, 2026

Description

Trailing port of #5414 onto feature/mustang-ppl-integration.

The mustang feature branch already has:

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:

  • CalciteInformationSchemaCommandIT
  • CalciteJsonFunctionsIT
  • CalcitePrometheusDataSourceCommandsIT
  • CalciteShowDataSourcesCommandIT

Why this matters

The integTest exclude block keeps these classes off the test runner's input set so the Gradle 9.4.1 TestEventReporterAsListener cast bug (which fires on class-level @Ignore) can't trigger. But if any class is referenced from a @Suite.SuiteClasses list, 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.SuiteClasses list. 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 @Suite definition consistent with the exclude block.

Diff parity with #5414

Piece of #5414 State on feature/mustang-ppl-integration
gradle/wrapper/gradle-wrapper.properties (9.2.0 → 9.4.1) Already landed (#5406)
integ-test/build.gradle (24 exclude lines) Already landed (#5407)
integ-test/.../CalciteNoPushdownIT.java (4 lines removed) This PR

By submitting this pull request

  • All commits are signed per the DCO.
  • My code follows the code of conduct of this project.
  • My change requires changes to the documentation. — N/A (test-infra change)
  • I have updated the documentation accordingly. — N/A
  • I have added tests to cover my changes. — N/A; this is metadata cleanup mirroring an already-merged main-branch PR.

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]>
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 7, 2026

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

🧪 No relevant tests
🔒 No security concerns identified
✅ No TODO sections
🔀 No multiple PR themes
⚡ No major issues detected

@ahkcs ahkcs merged commit 92d22ed into opensearch-project:feature/mustang-ppl-integration May 7, 2026
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]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

infrastructure Changes to infrastructure, testing, CI/CD, pipelines, etc.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant