Skip to content
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-41089][YARN][SHUFFLE] Relocate Netty native arm64 libs #38593

Closed
wants to merge 2 commits into from

Conversation

pan3793
Copy link
Member

@pan3793 pan3793 commented Nov 10, 2022

What changes were proposed in this pull request?

SPARK-27610 relocated the netty x86 native libs, and the recent version netty ships arm64 native libs as well, we should do same thing to make it works on arm64 platform.

Why are the changes needed?

Align arm64 behavior w/ x86

Does this PR introduce any user-facing change?

Yes, bug fix for ARM64 platform.

How was this patch tested?

Before patch

➜  apache-spark git:(SPARK-41089) ll common/network-yarn/target/exploded/META-INF/native
total 752
-rw-r--r--  1 chengpan  staff   101K Oct 11 23:24 libnetty_transport_native_epoll_aarch_64.so
-rw-r--r--  1 chengpan  staff    94K Oct 11 17:57 libnetty_transport_native_kqueue_aarch_64.jnilib
-rw-r--r--  1 chengpan  staff    93K Oct 11 23:27 liborg_sparkproject_netty_transport_native_epoll_x86_64.so
-rw-r--r--  1 chengpan  staff    77K Oct 11 17:51 liborg_sparkproject_netty_transport_native_kqueue_x86_64.jnilib
drwxr-xr-x  3 chengpan  staff    96B Nov  9 13:46 linux32
drwxr-xr-x  3 chengpan  staff    96B Nov  9 13:46 linux64
drwxr-xr-x  3 chengpan  staff    96B Nov  9 13:46 osx
drwxr-xr-x  3 chengpan  staff    96B Nov  9 13:46 windows32
drwxr-xr-x  3 chengpan  staff    96B Nov  9 13:46 windows64

After patch

➜  apache-spark git:(SPARK-41089) ll common/network-yarn/target/exploded/META-INF/native
total 752
-rw-r--r--  1 chengpan  staff   101K Oct 11 23:24 liborg_sparkproject_netty_transport_native_epoll_aarch_64.so
-rw-r--r--  1 chengpan  staff    93K Oct 11 23:27 liborg_sparkproject_netty_transport_native_epoll_x86_64.so
-rw-r--r--  1 chengpan  staff    94K Oct 11 17:57 liborg_sparkproject_netty_transport_native_kqueue_aarch_64.jnilib
-rw-r--r--  1 chengpan  staff    77K Oct 11 17:51 liborg_sparkproject_netty_transport_native_kqueue_x86_64.jnilib
drwxr-xr-x  3 chengpan  staff    96B Nov 10 12:07 linux32
drwxr-xr-x  3 chengpan  staff    96B Nov 10 12:07 linux64
drwxr-xr-x  3 chengpan  staff    96B Nov 10 12:07 osx
drwxr-xr-x  3 chengpan  staff    96B Nov 10 12:07 windows32
drwxr-xr-x  3 chengpan  staff    96B Nov 10 12:07 windows64

@github-actions github-actions bot added the BUILD label Nov 10, 2022
@pan3793
Copy link
Member Author

pan3793 commented Nov 10, 2022

cc @srowen @LuciferYang

Copy link
Contributor

@LuciferYang LuciferYang left a comment

Choose a reason for hiding this comment

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

+1, LGTM if test passed

@srowen
Copy link
Member

srowen commented Nov 10, 2022

How far should this back port? seems fine

@pan3793
Copy link
Member Author

pan3793 commented Nov 10, 2022

netty/netty#11666 (netty 4.1.68, branch-3.2 use this version) introduced ibnetty_transport_native_kqueue_aarch_64.jnilib.

libnetty_transport_native_epoll_aarch_64.so exists for a long time, at least netty-4.1.51 (used by branch-3.1).

So this patch can be merged to 3.2/3.3/master directly.

I think 3.1 is deprecated, if required, I can open another PR to do that.

@LuciferYang
Copy link
Contributor

I think 3.3 is enough, support of Apple Silicon was announced in release notes in 3.3:

https://spark.apache.org/releases/spark-release-3-3-0.html

image

@pan3793
Copy link
Member Author

pan3793 commented Nov 10, 2022

libnetty_transport_native_epoll_aarch_64.so is for linux

@LuciferYang
Copy link
Contributor

libnetty_transport_native_epoll_aarch_64.so is for linux

OK

@srowen srowen closed this in c72d399 Nov 10, 2022
srowen pushed a commit that referenced this pull request Nov 10, 2022
### What changes were proposed in this pull request?

SPARK-27610 relocated the netty x86 native libs, and the recent version netty ships arm64 native libs as well, we should do same thing to make it works on arm64 platform.

### Why are the changes needed?

Align arm64 behavior w/ x86

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

Yes, bug fix for ARM64 platform.

### How was this patch tested?

Before patch
```
➜  apache-spark git:(SPARK-41089) ll common/network-yarn/target/exploded/META-INF/native
total 752
-rw-r--r--  1 chengpan  staff   101K Oct 11 23:24 libnetty_transport_native_epoll_aarch_64.so
-rw-r--r--  1 chengpan  staff    94K Oct 11 17:57 libnetty_transport_native_kqueue_aarch_64.jnilib
-rw-r--r--  1 chengpan  staff    93K Oct 11 23:27 liborg_sparkproject_netty_transport_native_epoll_x86_64.so
-rw-r--r--  1 chengpan  staff    77K Oct 11 17:51 liborg_sparkproject_netty_transport_native_kqueue_x86_64.jnilib
drwxr-xr-x  3 chengpan  staff    96B Nov  9 13:46 linux32
drwxr-xr-x  3 chengpan  staff    96B Nov  9 13:46 linux64
drwxr-xr-x  3 chengpan  staff    96B Nov  9 13:46 osx
drwxr-xr-x  3 chengpan  staff    96B Nov  9 13:46 windows32
drwxr-xr-x  3 chengpan  staff    96B Nov  9 13:46 windows64
```

After patch
```
➜  apache-spark git:(SPARK-41089) ll common/network-yarn/target/exploded/META-INF/native
total 752
-rw-r--r--  1 chengpan  staff   101K Oct 11 23:24 liborg_sparkproject_netty_transport_native_epoll_aarch_64.so
-rw-r--r--  1 chengpan  staff    93K Oct 11 23:27 liborg_sparkproject_netty_transport_native_epoll_x86_64.so
-rw-r--r--  1 chengpan  staff    94K Oct 11 17:57 liborg_sparkproject_netty_transport_native_kqueue_aarch_64.jnilib
-rw-r--r--  1 chengpan  staff    77K Oct 11 17:51 liborg_sparkproject_netty_transport_native_kqueue_x86_64.jnilib
drwxr-xr-x  3 chengpan  staff    96B Nov 10 12:07 linux32
drwxr-xr-x  3 chengpan  staff    96B Nov 10 12:07 linux64
drwxr-xr-x  3 chengpan  staff    96B Nov 10 12:07 osx
drwxr-xr-x  3 chengpan  staff    96B Nov 10 12:07 windows32
drwxr-xr-x  3 chengpan  staff    96B Nov 10 12:07 windows64
```

Closes #38593 from pan3793/SPARK-41089.

Authored-by: Cheng Pan <chengpan@apache.org>
Signed-off-by: Sean Owen <srowen@gmail.com>
(cherry picked from commit c72d399)
Signed-off-by: Sean Owen <srowen@gmail.com>
@srowen
Copy link
Member

srowen commented Nov 10, 2022

Merged to master/3.3

SandishKumarHN pushed a commit to SandishKumarHN/spark that referenced this pull request Dec 12, 2022
### What changes were proposed in this pull request?

SPARK-27610 relocated the netty x86 native libs, and the recent version netty ships arm64 native libs as well, we should do same thing to make it works on arm64 platform.

### Why are the changes needed?

Align arm64 behavior w/ x86

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

Yes, bug fix for ARM64 platform.

### How was this patch tested?

Before patch
```
➜  apache-spark git:(SPARK-41089) ll common/network-yarn/target/exploded/META-INF/native
total 752
-rw-r--r--  1 chengpan  staff   101K Oct 11 23:24 libnetty_transport_native_epoll_aarch_64.so
-rw-r--r--  1 chengpan  staff    94K Oct 11 17:57 libnetty_transport_native_kqueue_aarch_64.jnilib
-rw-r--r--  1 chengpan  staff    93K Oct 11 23:27 liborg_sparkproject_netty_transport_native_epoll_x86_64.so
-rw-r--r--  1 chengpan  staff    77K Oct 11 17:51 liborg_sparkproject_netty_transport_native_kqueue_x86_64.jnilib
drwxr-xr-x  3 chengpan  staff    96B Nov  9 13:46 linux32
drwxr-xr-x  3 chengpan  staff    96B Nov  9 13:46 linux64
drwxr-xr-x  3 chengpan  staff    96B Nov  9 13:46 osx
drwxr-xr-x  3 chengpan  staff    96B Nov  9 13:46 windows32
drwxr-xr-x  3 chengpan  staff    96B Nov  9 13:46 windows64
```

After patch
```
➜  apache-spark git:(SPARK-41089) ll common/network-yarn/target/exploded/META-INF/native
total 752
-rw-r--r--  1 chengpan  staff   101K Oct 11 23:24 liborg_sparkproject_netty_transport_native_epoll_aarch_64.so
-rw-r--r--  1 chengpan  staff    93K Oct 11 23:27 liborg_sparkproject_netty_transport_native_epoll_x86_64.so
-rw-r--r--  1 chengpan  staff    94K Oct 11 17:57 liborg_sparkproject_netty_transport_native_kqueue_aarch_64.jnilib
-rw-r--r--  1 chengpan  staff    77K Oct 11 17:51 liborg_sparkproject_netty_transport_native_kqueue_x86_64.jnilib
drwxr-xr-x  3 chengpan  staff    96B Nov 10 12:07 linux32
drwxr-xr-x  3 chengpan  staff    96B Nov 10 12:07 linux64
drwxr-xr-x  3 chengpan  staff    96B Nov 10 12:07 osx
drwxr-xr-x  3 chengpan  staff    96B Nov 10 12:07 windows32
drwxr-xr-x  3 chengpan  staff    96B Nov 10 12:07 windows64
```

Closes apache#38593 from pan3793/SPARK-41089.

Authored-by: Cheng Pan <chengpan@apache.org>
Signed-off-by: Sean Owen <srowen@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
3 participants