Skip to content

Exclude AnalyticsEngineCompatIT from the main integTest task#5501

Merged
ahkcs merged 2 commits into
opensearch-project:mainfrom
ahkcs:fix/exclude-analytics-compat-it-from-integtest
Jun 2, 2026
Merged

Exclude AnalyticsEngineCompatIT from the main integTest task#5501
ahkcs merged 2 commits into
opensearch-project:mainfrom
ahkcs:fix/exclude-analytics-compat-it-from-integtest

Conversation

@ahkcs

@ahkcs ahkcs commented Jun 2, 2026

Copy link
Copy Markdown
Collaborator

Description

AnalyticsEngineCompatIT (package org.opensearch.sql.plugin) is a smoke test that only makes sense against a cluster bundling the analytics-engine plugin stack. It is provisioned and run by its dedicated :analyticsEngineCompatIT task, whose cluster (testClusters.analyticsEngineCompat) adds arrow-base, arrow-flight-rpc, and analytics-engine alongside opensearch-sql.

The main integTest task selects tests by exclusion. It already excludes org/opensearch/sql/security/** ("executed in another task"), but it never excluded the plugin package — so the smoke test also ran inside the main integTest suite against the plain integTest/remoteCluster clusters, neither of which has the analytics-engine plugin. (integTestWithSecurity is unaffected because it uses an include filter scoped to org.opensearch.sql.security.*.)

There, the test is pointless and exposed to suite-wide infra flakiness. In a recent CI run it was the descriptor recorded as the single failure after the test JVM wedged for ~4.5h (JobSweeper kept ticking for ~3.5h before the REST connection finally dropped with ConnectionClosedException). The empty test body cannot itself hang — it was simply the last test in the order when the wedged JVM died.

Fix

Mirror the existing security/** exclusion for org/opensearch/sql/plugin/** in the main integTest task. The compat test continues to run via its dedicated :analyticsEngineCompatIT task, which correctly provisions its dependency.

This is purely a test-isolation/wiring fix in integ-test/build.gradle; no production or test source changes.

Verification

  • ./gradlew :integ-test:integTest --dry-run configures the full task graph successfully with the new exclusion.
  • The exclude pattern is identical in form to the adjacent, working org/opensearch/sql/security/** exclusion.

Check List

  • New functionality includes testing.
  • New functionality has been documented.
  • Commits are signed per the DCO using --signoff.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

…Test task

AnalyticsEngineCompatIT (package org.opensearch.sql.plugin) is a smoke test
that only makes sense against a cluster bundling the analytics-engine plugin
stack. It is provisioned and run by the dedicated :analyticsEngineCompatIT
task (testClusters.analyticsEngineCompat), which adds arrow-base,
arrow-flight-rpc and analytics-engine.

The main integTest task selects tests by exclusion and excluded
org/opensearch/sql/security/** ("executed in another task") but never
excluded the plugin package, so the smoke test also ran against the plain
integTest/remoteCluster (neither of which has analytics-engine). There it is
useless and exposed to suite-wide infra flakiness; in a recent CI run it was
the descriptor recorded as failed after the test JVM wedged for ~4.5h.

Mirror the existing security/** exclusion for org/opensearch/sql/plugin/**.

Signed-off-by: Kai Huang <ahkcs@amazon.com>
mengweieric
mengweieric previously approved these changes Jun 2, 2026
RyanL1997
RyanL1997 previously approved these changes Jun 2, 2026
Comment thread integ-test/build.gradle Outdated
// (:analyticsEngineCompatIT) against a cluster that bundles the analytics-engine plugin
// stack. Running it here against the plain integTest/remoteCluster (no analytics-engine)
// is pointless and leaves it exposed to suite-wide infra flakiness.
exclude 'org/opensearch/sql/plugin/**'

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we only exclude that test suite?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good call — switched to excluding the specific AnalyticsEngineCompatIT.class instead of the package

Address review feedback: exclude the specific test class rather than the
whole org/opensearch/sql/plugin/** package, matching the per-class exclude
style already used in this task (e.g. legacy/ExplainIT.class). This keeps the
exclusion intentional and avoids silently dropping any future test added to
that package.

Signed-off-by: Kai Huang <ahkcs@amazon.com>
@ahkcs ahkcs dismissed stale reviews from RyanL1997 and mengweieric via 8a404c9 June 2, 2026 20:21
@ahkcs ahkcs requested review from RyanL1997 and mengweieric and removed request for mengweieric June 2, 2026 20:31

@dai-chen dai-chen left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AnalyticsEngineCompatIT only fails with integTest/remoteCluster but can succeed with internalCluster in SQL CI?

@ahkcs ahkcs merged commit 797e4fb into opensearch-project:main Jun 2, 2026
77 of 78 checks passed
@ahkcs ahkcs deleted the fix/exclude-analytics-compat-it-from-integtest branch June 2, 2026 21:59
@ahkcs

ahkcs commented Jun 2, 2026

Copy link
Copy Markdown
Collaborator Author

AnalyticsEngineCompatIT only fails with integTest/remoteCluster but can succeed with internalCluster in SQL CI?

Right — it's green in SQL CI (plain-HTTP, non-security cluster) and only fails in the distribution build's with-security run. It extends bare OpenSearchRestTestCase, so its REST client has no TLS/auth config and can't connect to a secured cluster. Excluding it from integTest leaves it running only in its dedicated non-security task.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants