diff --git a/pulsar-broker-shaded/pom.xml b/pulsar-broker-shaded/pom.xml
index 7b3b9669da7bc..1adc84f0f741e 100644
--- a/pulsar-broker-shaded/pom.xml
+++ b/pulsar-broker-shaded/pom.xml
@@ -345,6 +345,30 @@
+
+
+ exec-maven-plugin
+ org.codehaus.mojo
+
+
+ rename-epoll-library
+ package
+
+ exec
+
+
+ ${project.parent.basedir}/src/rename-netty-native-libs.sh
+
+ ${project.artifactId}
+
+
+
+
+
diff --git a/pulsar-client-kafka-compat/pulsar-client-kafka-shaded/pom.xml b/pulsar-client-kafka-compat/pulsar-client-kafka-shaded/pom.xml
index 3ba94e9aaf6c2..397ec475a72b9 100644
--- a/pulsar-client-kafka-compat/pulsar-client-kafka-shaded/pom.xml
+++ b/pulsar-client-kafka-compat/pulsar-client-kafka-shaded/pom.xml
@@ -223,6 +223,30 @@
+
+
+ exec-maven-plugin
+ org.codehaus.mojo
+
+
+ rename-epoll-library
+ package
+
+ exec
+
+
+ ${project.parent.basedir}/../src/rename-netty-native-libs.sh
+
+ ${project.artifactId}
+
+
+
+
+
diff --git a/pulsar-client-shaded/pom.xml b/pulsar-client-shaded/pom.xml
index 8e7eb98ee39ea..180e7f669309c 100644
--- a/pulsar-client-shaded/pom.xml
+++ b/pulsar-client-shaded/pom.xml
@@ -207,6 +207,31 @@
+
+
+
+ exec-maven-plugin
+ org.codehaus.mojo
+
+
+ rename-epoll-library
+ package
+
+ exec
+
+
+ ${project.parent.basedir}/src/rename-netty-native-libs.sh
+
+ ${project.artifactId}
+
+
+
+
+
diff --git a/src/rename-netty-native-libs.sh b/src/rename-netty-native-libs.sh
new file mode 100755
index 0000000000000..136f82156f800
--- /dev/null
+++ b/src/rename-netty-native-libs.sh
@@ -0,0 +1,54 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+set -e
+
+ARTIFACT_ID=$1
+JAR_PATH="$PWD/target/$ARTIFACT_ID.jar"
+
+FILE_PREFIX='META-INF/native'
+
+FILES_TO_RENAME=(
+ 'libnetty_transport_native_epoll_x86_64.so liborg_apache_pulsar_shade_netty_transport_native_epoll_x86_64.so'
+ 'libnetty_tcnative_linux_x86_64.so liborg_apache_pulsar_shade_netty_tcnative_linux_x86_64.so'
+)
+
+echo "----- Renaming epoll lib in $JAR_PATH ------"
+TMP_DIR=`mktemp -d`
+unzip -q $JAR_PATH -d $TMP_DIR
+
+pushd $TMP_DIR
+
+for line in "${FILES_TO_RENAME[@]}"; do
+ read -r -a A <<< "$line"
+ FROM=${A[0]}
+ TO=${A[1]}
+
+ if [ -f $FILE_PREFIX/$FROM ]; then
+ echo "Renaming $FROM -> $TO"
+ mv $FILE_PREFIX/$FROM $FILE_PREFIX/$TO
+ fi
+done
+
+# Overwrite the original ZIP archive
+zip -q -r $JAR_PATH .
+popd
+
+rm -rf $TMP_DIR