You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Michael Stack (Jira)" <ji...@apache.org> on 2021/06/30 04:59:00 UTC

[jira] [Resolved] (HBASE-25960) Build includes unshaded netty .so; clashes w/ downstreamers who would use a different version of netty

     [ https://issues.apache.org/jira/browse/HBASE-25960?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael Stack resolved HBASE-25960.
-----------------------------------
    Fix Version/s: thirdparty-4.0.0
                   thirdparty-3.5.2
         Assignee: Michael Stack
       Resolution: Cannot Reproduce

Resolving this issue as "Cannot Reproduce" (could be "Implemented"). Whatever was up w/ thirdparty in older versions no longer seems to happen. I tried to add enforcer rules but no amenable plugin to check a file in a jar. I could add a bit of ant hackery to the thirdparty netty build to set properties if file present and fail bulid if so but it'd be ugly. Closing this out.

> Build includes unshaded netty .so; clashes w/ downstreamers who would use a different version of netty
> ------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-25960
>                 URL: https://issues.apache.org/jira/browse/HBASE-25960
>             Project: HBase
>          Issue Type: Bug
>          Components: build
>            Reporter: Michael Stack
>            Assignee: Michael Stack
>            Priority: Major
>             Fix For: thirdparty-3.5.2, thirdparty-4.0.0
>
>
> A coworker was trying to use hbase client in a fat application that uses a different netty version to what hbase uses internally. Their app would fail to launch because it kept bumping into an incompatible netty .so lib. Here are the unshaded netty .so's we bundle looking at hbase-2.4.1...:
> ./lib/hbase-shaded-netty-3.4.1.jar has:
> {code}
> META-INF/native/libnetty_transport_native_epoll_aarch_64.so
> META-INF/native/liborg_apache_hbase_thirdparty_netty_transport_native_epoll_x86_64.so
> META-INF/native/libnetty_transport_native_epoll_x86_64.so
> {code}
> (HBASE-25959 should fix the non-relocation of libnetty_transport_native_epoll_aarch_64).
> ./lib/shaded-clients/hbase-shaded-client-byo-hadoop-2.4.1.1-apple.jar has the same three .sos as does ./lib/shaded-clients/hbase-shaded-mapreduce-2.4.1.1-apple.jar
> and ./lib/shaded-clients/hbase-shaded-client-2.4.1.1-apple.jar
> We even bundle ./lib/netty-all-4.1.17.Final.jar which unsurprisingly has the netty .sos in it.
> Looking at published builds of hbase-thirdparty, I see that these too include the above trio of .sos... The hbase-shaded-netty includes them in 3.4.1 https://repo1.maven.org/maven2/org/apache/hbase/thirdparty/hbase-shaded-netty/3.4.1/ as does 3.5.0.
> I just tried running a build of hbase-thirdparty and it does NOT include the extras....
> META-INF/native/liborg_apache_hbase_thirdparty_netty_transport_native_epoll_aarch_64.so
> META-INF/native/liborg_apache_hbase_thirdparty_netty_transport_native_epoll_x86_64.so
> (it has the fix for aarch included... when I built)
> Here is link to the snapshot I made:
> https://repository.apache.org/content/repositories/orgapachehbase-1451/org/apache/hbase/thirdparty/hbase-shaded-netty/3.5.1-stack4/



--
This message was sent by Atlassian Jira
(v8.3.4#803005)