Skip to content

Gate analytics engine incompatible IT tests with capability matrix#5585

Draft
dai-chen wants to merge 2 commits into
opensearch-project:mainfrom
dai-chen:requirescapability-it-gating
Draft

Gate analytics engine incompatible IT tests with capability matrix#5585
dai-chen wants to merge 2 commits into
opensearch-project:mainfrom
dai-chen:requirescapability-it-gating

Conversation

@dai-chen

@dai-chen dai-chen commented Jun 25, 2026

Copy link
Copy Markdown
Collaborator

Description

As follow-up of #5584, this PR gates analytics-engine (AE) incompatible IT tests with per-test @RequiresCapability annotations so each test self-skips when the analytics engine is active and keep the gating next to the test, No production code changes, and default-engine behavior is unaffected.

Note: the backend capability mechanism needs refactor which currently not only covers genuine frontend/backend capability differences but also acts as a bypass hack for bugs and other divergences. Will do research and create RFC later.

Related Issues

Part of #5248

Check List

  • New functionality includes testing.
  • New functionality has been documented.
  • New functionality has javadoc added.
  • New functionality has a user manual doc added.
  • New PPL command checklist all confirmed.
  • API changes companion pull request created.
  • Commits are signed per the DCO using --signoff or -s.
  • Public documentation issue/PR created.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Migrate the analytics-engine IT exclusions to method/class-level
@RequiresCapability annotations so each test self-skips when the
analytics engine is active, instead of relying on build.gradle excludes.

Add coarse capabilities (backend: vector/geopoint/identifier, untyped
NULL literal, filtered aggregate; frontend: response format,
pagination/cursor, prepared statement, legacy method query, query error,
explain format, function type compat) and reuse existing capabilities
where they fit. SQLCorrectnessIT is outside the SQLIntegTestCase
hierarchy, so it calls BackendCapabilities.requireCapability directly.

Signed-off-by: Chen Dai <daichen@amazon.com>
@dai-chen dai-chen self-assigned this Jun 25, 2026
@dai-chen dai-chen added infrastructure Changes to infrastructure, testing, CI/CD, pipelines, etc. SQL labels Jun 25, 2026
@github-actions

github-actions Bot commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

PR Reviewer Guide 🔍

(Review updated until commit d92e994)

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

@dai-chen dai-chen force-pushed the requirescapability-it-gating branch 2 times, most recently from 7e17a09 to 5476160 Compare June 25, 2026 20:18
@github-actions

Copy link
Copy Markdown
Contributor

Persistent review updated to latest commit 5476160

Signed-off-by: Chen Dai <daichen@amazon.com>
@dai-chen dai-chen force-pushed the requirescapability-it-gating branch from 5476160 to d92e994 Compare June 25, 2026 20:19
@github-actions

Copy link
Copy Markdown
Contributor

Persistent review updated to latest commit 5476160

@github-actions

Copy link
Copy Markdown
Contributor

Persistent review updated to latest commit d92e994

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. SQL

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant