New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[SPARK-40718][CONNECT] Replace grpc-netty-shaded
withgrpc-netty
#38179
Conversation
This patch replaces the shaded version of Netty in GRPC with the unshaded one since we're shading the result again and want to avoid double shaded package names.
Have you considered the native libraries? they should be relocated as well |
cc @LuciferYang, as you are working on #38162 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM and I wonder if grpc can share netty with Spark?
Can one of the admins verify this patch? |
grpc-netty-shaded
withgrpc-netty
.grpc-netty-shaded
withgrpc-netty
Merged to master. Thank you all. |
@grundprinzip Sorry to bother you, but I found after this pr Spark will deps 2 versions of netty, 4.1.80 and 4.1.72
|
We use |
The netty jars that grpc depends on have been explicitly excluded by Spark, because Spark does not need them before.
@dongjoon-hyun Which way do you prefer? I will submit a pr to solve this issue.
|
…dependencies for the `connect` module ### What changes were proposed in this pull request? After apache#38179, there are 2 netty version in Spark: - 4.1.72 for `connect` module - 4.1.80 for other modules So this pr explicitly add netty related dependencies for the `connect` module to ensure Spark use unified netty version. ### Why are the changes needed? Ensure Spark use unified netty version. ### Does this PR introduce _any_ user-facing change? No ### How was this patch tested? - Pass GitHub Actions - Manual test: run `mvn dependency:tree -pl connector/connect | grep netty` Before ``` [INFO] | +- io.netty:netty-all:jar:4.1.80.Final:provided [INFO] | | +- io.netty:netty-buffer:jar:4.1.80.Final:compile [INFO] | | +- io.netty:netty-codec:jar:4.1.80.Final:compile [INFO] | | +- io.netty:netty-common:jar:4.1.80.Final:compile [INFO] | | +- io.netty:netty-handler:jar:4.1.80.Final:compile [INFO] | | +- io.netty:netty-resolver:jar:4.1.80.Final:provided [INFO] | | +- io.netty:netty-transport:jar:4.1.80.Final:compile [INFO] | | +- io.netty:netty-transport-classes-epoll:jar:4.1.80.Final:provided [INFO] | | \- io.netty:netty-transport-classes-kqueue:jar:4.1.80.Final:provided [INFO] | +- io.netty:netty-transport-native-epoll:jar:linux-x86_64:4.1.80.Final:provided [INFO] | +- io.netty:netty-transport-native-epoll:jar:linux-aarch_64:4.1.80.Final:provided [INFO] | +- io.netty:netty-transport-native-kqueue:jar:osx-aarch_64:4.1.80.Final:provided [INFO] | +- io.netty:netty-transport-native-kqueue:jar:osx-x86_64:4.1.80.Final:provided [INFO] | +- io.netty:netty-tcnative-classes:jar:2.0.54.Final:provided [INFO] | \- org.apache.arrow:arrow-memory-netty:jar:9.0.0:provided [INFO] +- io.grpc:grpc-netty:jar:1.47.0:compile [INFO] | +- io.netty:netty-codec-http2:jar:4.1.72.Final:compile [INFO] | | \- io.netty:netty-codec-http:jar:4.1.72.Final:compile [INFO] | +- io.netty:netty-handler-proxy:jar:4.1.72.Final:runtime [INFO] | | \- io.netty:netty-codec-socks:jar:4.1.72.Final:runtime [INFO] | \- io.netty:netty-transport-native-unix-common:jar:4.1.72.Final:runtime ``` After ``` [INFO] | +- io.netty:netty-all:jar:4.1.80.Final:provided [INFO] | | +- io.netty:netty-resolver:jar:4.1.80.Final:provided [INFO] | | +- io.netty:netty-transport-classes-epoll:jar:4.1.80.Final:provided [INFO] | | \- io.netty:netty-transport-classes-kqueue:jar:4.1.80.Final:provided [INFO] | +- io.netty:netty-transport-native-epoll:jar:linux-x86_64:4.1.80.Final:provided [INFO] | +- io.netty:netty-transport-native-epoll:jar:linux-aarch_64:4.1.80.Final:provided [INFO] | +- io.netty:netty-transport-native-kqueue:jar:osx-aarch_64:4.1.80.Final:provided [INFO] | +- io.netty:netty-transport-native-kqueue:jar:osx-x86_64:4.1.80.Final:provided [INFO] | +- io.netty:netty-tcnative-classes:jar:2.0.54.Final:provided [INFO] | \- org.apache.arrow:arrow-memory-netty:jar:9.0.0:provided [INFO] +- io.grpc:grpc-netty:jar:1.47.0:compile [INFO] +- io.netty:netty-codec-http2:jar:4.1.80.Final:provided [INFO] | +- io.netty:netty-common:jar:4.1.80.Final:provided [INFO] | +- io.netty:netty-buffer:jar:4.1.80.Final:provided [INFO] | +- io.netty:netty-transport:jar:4.1.80.Final:provided [INFO] | +- io.netty:netty-codec:jar:4.1.80.Final:provided [INFO] | +- io.netty:netty-handler:jar:4.1.80.Final:provided [INFO] | \- io.netty:netty-codec-http:jar:4.1.80.Final:provided [INFO] +- io.netty:netty-handler-proxy:jar:4.1.80.Final:provided [INFO] | \- io.netty:netty-codec-socks:jar:4.1.80.Final:provided [INFO] +- io.netty:netty-transport-native-unix-common:jar:4.1.80.Final:provided ``` Closes apache#38185 from LuciferYang/SPARK-40718-FOLLOWUP. Authored-by: yangjie01 <yangjie01@baidu.com> Signed-off-by: Hyukjin Kwon <gurwls223@apache.org>
What changes were proposed in this pull request?
This patch replaces the shaded version of Netty in GRPC with the unshaded one since we're shading the result again and want to avoid double shaded package names.
Why are the changes needed?
Unnecessary double shaded package names.
Does this PR introduce any user-facing change?
No
How was this patch tested?
Existing tests will check for compilation break.