Repository: hbase-thirdparty Updated Branches: refs/heads/master d91f4f0e9 -> c7be22dd0
netty .so relocation fun Project: http://git-wip-us.apache.org/repos/asf/hbase-thirdparty/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase-thirdparty/commit/c7be22dd Tree: http://git-wip-us.apache.org/repos/asf/hbase-thirdparty/tree/c7be22dd Diff: http://git-wip-us.apache.org/repos/asf/hbase-thirdparty/diff/c7be22dd Branch: refs/heads/master Commit: c7be22dd02345aa4c813a40eced67b59f3963127 Parents: d91f4f0 Author: Michael Stack <st...@apache.org> Authored: Mon Jun 26 21:56:18 2017 -0700 Committer: Michael Stack <st...@apache.org> Committed: Mon Jun 26 21:56:18 2017 -0700 ---------------------------------------------------------------------- hbase-shaded-thirdparty/pom.xml | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase-thirdparty/blob/c7be22dd/hbase-shaded-thirdparty/pom.xml ---------------------------------------------------------------------- diff --git a/hbase-shaded-thirdparty/pom.xml b/hbase-shaded-thirdparty/pom.xml index d24b49b..106ec60 100644 --- a/hbase-shaded-thirdparty/pom.xml +++ b/hbase-shaded-thirdparty/pom.xml @@ -67,17 +67,6 @@ <configuration> <relocations> <relocation> - <pattern>libnetty-transport-native-epoll.so</pattern> - <shadedPattern>lib${rename.offset}-netty-transport-native-epoll.so</shadedPattern> - <excludes> - <!--Getting at native code; can't relocate this w/o changing c-source - --> - <exclude> - io.netty.channel.unix.* - </exclude> - </excludes> - </relocation> - <relocation> <pattern>io.netty</pattern> <shadedPattern>${rename.offset}.io.netty</shadedPattern> </relocation> @@ -106,6 +95,21 @@ <plugin> <!--This trick from https://stackoverflow.com/questions/33825743/rename-files-inside-a-jar-using-some-maven-plugin + + The netty jar has a .so in it. Shading requires rename of the .so and then passing a system + property so netty finds the renamed .so and associates it w/ the relocated netty files. + + Add this define when running unit tests: + + mvn test -Dorg.apache.hadoop.hbase.shaded.io.netty.packagePrefix=org.apache.hadoop.hbase.shaded. -Dtest=TestNettyIPC + + See toward the end of this issue for how to pass config: + + https://github.com/netty/netty/issues/6665 + + TODO: Ensure native works. + NOTE: The 'tofile' in the move command below has the relocation hard-coded + with '-' instead of '.' separators. If change the relocation, need to change here too. --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> @@ -121,7 +125,7 @@ dest="${project.build.directory}/unpacked/"/> <echo message="Rename netty .so in META-INF"/> <move file="${project.build.directory}/unpacked/META-INF/native/libnetty-transport-native-epoll.so" - tofile="${project.build.directory}/unpacked/META-INF/native/lib${rename.offset}netty-transport-native-epoll.so" /> + tofile="${project.build.directory}/unpacked/META-INF/native/liborg-apache-hadoop-hbase-shaded-netty-transport-native-epoll.so" /> <echo message="Redo jar"/> <jar destfile="${project.build.directory}/${artifactId}-${version}.jar" basedir="${project.build.directory}/unpacked"/>