Skip to content

Commit b3ef50d

Browse files
authored
Exclude jsr305 from SQL bundle to fix jar hell with arrow-flight-rpc (#5409)
The arrow-flight-rpc plugin (a transitive parent of analytics-engine via extendedPlugins) bundles jsr305-3.0.2.jar, and the SQL plugin pulls in the same artifact via Calcite's transitive findbugs:jsr305 dependency. With both plugins shipping the same jar, OpenSearch's PluginsService.checkBundleJarHell fails at install time with: IllegalStateException: jar hell! class: javax.annotation.CheckForNull jar1: .../installing-.../jsr305-3.0.2.jar jar2: .../plugins/arrow-flight-rpc/jsr305-3.0.2.jar Same pattern as #5400 — exclude the jar from the SQL bundle and rely on the copy already provided by arrow-flight-rpc through the shared classloader. Signed-off-by: Kai Huang <ahkcs@amazon.com>
1 parent a1d7b39 commit b3ef50d

1 file changed

Lines changed: 3 additions & 0 deletions

File tree

plugin/build.gradle

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,9 @@ bundlePlugin {
101101
exclude 'json-smart-*.jar'
102102
exclude 'accessors-smart-*.jar'
103103
exclude 'asm-9*.jar'
104+
// jsr305 is also bundled by arrow-flight-rpc (an extendedPlugins parent of analytics-engine,
105+
// which we extend); both shipping it caused jar hell at plugin install time.
106+
exclude 'jsr305-*.jar'
104107
}
105108

106109
publishing {

0 commit comments

Comments
 (0)