Skip to content

Conversation

@pan3793
Copy link
Member

@pan3793 pan3793 commented Nov 6, 2025

What changes were proposed in this pull request?

This PR restores the Guava exclusion from the connect-common module shading artifacts

Why are the changes needed?

To workaround a Maven-specific tricky classpath issue, see the manual verification steps below for details.

Does this PR introduce any user-facing change?

No.

How was this patch tested?

GHA Maven workflow runs multiple connect modules together -pl sql/connect/client/jdbc,sql/connect/client/jvm,sql/connect/common,sql/connect/server so it is not affected by this.

This must be verified manually:

build/mvn -Phive clean install -DskipTests

run connect-common and connect-client-jvm tests together, succeeded on both the master and this PR

build/mvn -Phive -pl sql/connect/client/jvm,sql/connect/common test -fae -DwildcardSuites=none -Dtest=org.apache.spark.sql.JavaEncoderSuite

run single connect-client-jvm tests, failed on the master, succeeded on this PR

build/mvn -Phive -pl sql/connect/client/jvm test -fae -DwildcardSuites=none -Dtest=org.apache.spark.sql.JavaEncoderSuite
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.369 s <<< FAILURE! -- in org.apache.spark.sql.JavaEncoderSuite
[ERROR] org.apache.spark.sql.JavaEncoderSuite -- Time elapsed: 0.369 s <<< ERROR!
java.lang.NoClassDefFoundError: org/sparkproject/guava/cache/CacheLoader
	at org.apache.spark.sql.connect.test.SparkConnectServerUtils$.createSparkSession(RemoteSparkSession.scala:208)
	at org.apache.spark.sql.connect.test.SparkConnectServerUtils$.createSparkSession(RemoteSparkSession.scala:190)
	at org.apache.spark.sql.connect.test.SparkConnectServerUtils.createSparkSession(RemoteSparkSession.scala)
	at org.apache.spark.sql.JavaEncoderSuite.setup(JavaEncoderSuite.java:45)
Caused by: java.lang.ClassNotFoundException: org.sparkproject.guava.cache.CacheLoader
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
	... 4 more

[INFO]
[INFO] Results:
[INFO]
[ERROR] Errors:
[ERROR]   JavaEncoderSuite.setup:45 » NoClassDefFound org/sparkproject/guava/cache/CacheLoader
[INFO]
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 23.00 s -- in org.apache.spark.sql.JavaEncoderSuite
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0

Was this patch authored or co-authored using generative AI tooling?

No.

@pan3793
Copy link
Member Author

pan3793 commented Nov 6, 2025

cc @LuciferYang

@pan3793 pan3793 changed the title [SPARK-54177][BUILD][FOLLOWUP] Exclude Guava from connect-common shading artifacts [SPARK-54177][BUILD][FOLLOWUP] Restore Guava exclusion from connect-common shading artifacts Nov 6, 2025
LuciferYang pushed a commit that referenced this pull request Nov 6, 2025
…ommon shading artifacts

### What changes were proposed in this pull request?

This PR restores the Guava exclusion from the `connect-common` module shading artifacts

### Why are the changes needed?

To workaround a Maven-specific tricky classpath issue, see the manual verification steps below for details.

### Does this PR introduce _any_ user-facing change?

No.

### How was this patch tested?

GHA Maven workflow runs multiple connect modules together `-pl sql/connect/client/jdbc,sql/connect/client/jvm,sql/connect/common,sql/connect/server` so it is not affected by this.

This must be verified manually:

```
build/mvn -Phive clean install -DskipTests
```

run `connect-common` and `connect-client-jvm` tests together, succeeded on both the master and this PR
```
build/mvn -Phive -pl sql/connect/client/jvm,sql/connect/common test -fae -DwildcardSuites=none -Dtest=org.apache.spark.sql.JavaEncoderSuite
```

run single `connect-client-jvm` tests, failed on the master, succeeded on this PR
```
build/mvn -Phive -pl sql/connect/client/jvm test -fae -DwildcardSuites=none -Dtest=org.apache.spark.sql.JavaEncoderSuite
```

```
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.369 s <<< FAILURE! -- in org.apache.spark.sql.JavaEncoderSuite
[ERROR] org.apache.spark.sql.JavaEncoderSuite -- Time elapsed: 0.369 s <<< ERROR!
java.lang.NoClassDefFoundError: org/sparkproject/guava/cache/CacheLoader
	at org.apache.spark.sql.connect.test.SparkConnectServerUtils$.createSparkSession(RemoteSparkSession.scala:208)
	at org.apache.spark.sql.connect.test.SparkConnectServerUtils$.createSparkSession(RemoteSparkSession.scala:190)
	at org.apache.spark.sql.connect.test.SparkConnectServerUtils.createSparkSession(RemoteSparkSession.scala)
	at org.apache.spark.sql.JavaEncoderSuite.setup(JavaEncoderSuite.java:45)
Caused by: java.lang.ClassNotFoundException: org.sparkproject.guava.cache.CacheLoader
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
	... 4 more

[INFO]
[INFO] Results:
[INFO]
[ERROR] Errors:
[ERROR]   JavaEncoderSuite.setup:45 » NoClassDefFound org/sparkproject/guava/cache/CacheLoader
[INFO]
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0
```

```
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 23.00 s -- in org.apache.spark.sql.JavaEncoderSuite
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
```

### Was this patch authored or co-authored using generative AI tooling?

No.

Closes #52918 from pan3793/SPARK-54177-followup.

Authored-by: Cheng Pan <[email protected]>
Signed-off-by: yangjie01 <[email protected]>
(cherry picked from commit b3abaec)
Signed-off-by: yangjie01 <[email protected]>
@LuciferYang
Copy link
Contributor

Merged into master and branch-4.1. Thanks @pan3793

zifeif2 pushed a commit to zifeif2/spark that referenced this pull request Nov 22, 2025
…ommon shading artifacts

### What changes were proposed in this pull request?

This PR restores the Guava exclusion from the `connect-common` module shading artifacts

### Why are the changes needed?

To workaround a Maven-specific tricky classpath issue, see the manual verification steps below for details.

### Does this PR introduce _any_ user-facing change?

No.

### How was this patch tested?

GHA Maven workflow runs multiple connect modules together `-pl sql/connect/client/jdbc,sql/connect/client/jvm,sql/connect/common,sql/connect/server` so it is not affected by this.

This must be verified manually:

```
build/mvn -Phive clean install -DskipTests
```

run `connect-common` and `connect-client-jvm` tests together, succeeded on both the master and this PR
```
build/mvn -Phive -pl sql/connect/client/jvm,sql/connect/common test -fae -DwildcardSuites=none -Dtest=org.apache.spark.sql.JavaEncoderSuite
```

run single `connect-client-jvm` tests, failed on the master, succeeded on this PR
```
build/mvn -Phive -pl sql/connect/client/jvm test -fae -DwildcardSuites=none -Dtest=org.apache.spark.sql.JavaEncoderSuite
```

```
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.369 s <<< FAILURE! -- in org.apache.spark.sql.JavaEncoderSuite
[ERROR] org.apache.spark.sql.JavaEncoderSuite -- Time elapsed: 0.369 s <<< ERROR!
java.lang.NoClassDefFoundError: org/sparkproject/guava/cache/CacheLoader
	at org.apache.spark.sql.connect.test.SparkConnectServerUtils$.createSparkSession(RemoteSparkSession.scala:208)
	at org.apache.spark.sql.connect.test.SparkConnectServerUtils$.createSparkSession(RemoteSparkSession.scala:190)
	at org.apache.spark.sql.connect.test.SparkConnectServerUtils.createSparkSession(RemoteSparkSession.scala)
	at org.apache.spark.sql.JavaEncoderSuite.setup(JavaEncoderSuite.java:45)
Caused by: java.lang.ClassNotFoundException: org.sparkproject.guava.cache.CacheLoader
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
	... 4 more

[INFO]
[INFO] Results:
[INFO]
[ERROR] Errors:
[ERROR]   JavaEncoderSuite.setup:45 » NoClassDefFound org/sparkproject/guava/cache/CacheLoader
[INFO]
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0
```

```
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 23.00 s -- in org.apache.spark.sql.JavaEncoderSuite
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
```

### Was this patch authored or co-authored using generative AI tooling?

No.

Closes apache#52918 from pan3793/SPARK-54177-followup.

Authored-by: Cheng Pan <[email protected]>
Signed-off-by: yangjie01 <[email protected]>
huangxiaopingRD pushed a commit to huangxiaopingRD/spark that referenced this pull request Nov 25, 2025
…ommon shading artifacts

### What changes were proposed in this pull request?

This PR restores the Guava exclusion from the `connect-common` module shading artifacts

### Why are the changes needed?

To workaround a Maven-specific tricky classpath issue, see the manual verification steps below for details.

### Does this PR introduce _any_ user-facing change?

No.

### How was this patch tested?

GHA Maven workflow runs multiple connect modules together `-pl sql/connect/client/jdbc,sql/connect/client/jvm,sql/connect/common,sql/connect/server` so it is not affected by this.

This must be verified manually:

```
build/mvn -Phive clean install -DskipTests
```

run `connect-common` and `connect-client-jvm` tests together, succeeded on both the master and this PR
```
build/mvn -Phive -pl sql/connect/client/jvm,sql/connect/common test -fae -DwildcardSuites=none -Dtest=org.apache.spark.sql.JavaEncoderSuite
```

run single `connect-client-jvm` tests, failed on the master, succeeded on this PR
```
build/mvn -Phive -pl sql/connect/client/jvm test -fae -DwildcardSuites=none -Dtest=org.apache.spark.sql.JavaEncoderSuite
```

```
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.369 s <<< FAILURE! -- in org.apache.spark.sql.JavaEncoderSuite
[ERROR] org.apache.spark.sql.JavaEncoderSuite -- Time elapsed: 0.369 s <<< ERROR!
java.lang.NoClassDefFoundError: org/sparkproject/guava/cache/CacheLoader
	at org.apache.spark.sql.connect.test.SparkConnectServerUtils$.createSparkSession(RemoteSparkSession.scala:208)
	at org.apache.spark.sql.connect.test.SparkConnectServerUtils$.createSparkSession(RemoteSparkSession.scala:190)
	at org.apache.spark.sql.connect.test.SparkConnectServerUtils.createSparkSession(RemoteSparkSession.scala)
	at org.apache.spark.sql.JavaEncoderSuite.setup(JavaEncoderSuite.java:45)
Caused by: java.lang.ClassNotFoundException: org.sparkproject.guava.cache.CacheLoader
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
	... 4 more

[INFO]
[INFO] Results:
[INFO]
[ERROR] Errors:
[ERROR]   JavaEncoderSuite.setup:45 » NoClassDefFound org/sparkproject/guava/cache/CacheLoader
[INFO]
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0
```

```
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 23.00 s -- in org.apache.spark.sql.JavaEncoderSuite
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
```

### Was this patch authored or co-authored using generative AI tooling?

No.

Closes apache#52918 from pan3793/SPARK-54177-followup.

Authored-by: Cheng Pan <[email protected]>
Signed-off-by: yangjie01 <[email protected]>
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.

2 participants