Exclude AnalyticsEngineCompatIT from the main integTest task#5501
Conversation
…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>
| // (: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/**' |
There was a problem hiding this comment.
can we only exclude that test suite?
There was a problem hiding this comment.
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>
dai-chen
left a comment
There was a problem hiding this comment.
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 |
Description
AnalyticsEngineCompatIT(packageorg.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:analyticsEngineCompatITtask, whose cluster (testClusters.analyticsEngineCompat) addsarrow-base,arrow-flight-rpc, andanalytics-enginealongsideopensearch-sql.The main
integTesttask selects tests by exclusion. It already excludesorg/opensearch/sql/security/**("executed in another task"), but it never excluded the plugin package — so the smoke test also ran inside the mainintegTestsuite against the plainintegTest/remoteClusterclusters, neither of which has the analytics-engine plugin. (integTestWithSecurityis unaffected because it uses an include filter scoped toorg.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 fororg/opensearch/sql/plugin/**in the mainintegTesttask. The compat test continues to run via its dedicated:analyticsEngineCompatITtask, 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-runconfigures the full task graph successfully with the new exclusion.org/opensearch/sql/security/**exclusion.Check List
--signoff.By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.