You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Aditya Kishore (JIRA)" <ji...@apache.org> on 2016/06/16 20:54:05 UTC

[jira] [Commented] (DRILL-4727) Exclude netty from HBase Client's transitive dependencies

    [ https://issues.apache.org/jira/browse/DRILL-4727?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15334658#comment-15334658 ] 

Aditya Kishore commented on DRILL-4727:
---------------------------------------

The problem is that Drill uses {{netty}} in its various bits and pieces {{(netty-buffer, netty-codec, netty-common, etc...)}} instead of using the uber netty library, i.e. {{netty-all}}.

So if a class, {{io.netty.channel.ChannelOption}} in this case, is loaded from one version of one of the bits (netty-transport) while a dependent class (io.netty.util.UniqueName) from the uber jar, conflicts like this can happen.

The right fix would be to move Drill to use the uber jar so that its version can override any other components'.

For now, since we are so close to release 1.7 release, I'd like to just exclude the {{netty-all}} jar from {{hbase-client}}'s list of dependencies.

> Exclude netty from HBase Client's transitive dependencies
> ---------------------------------------------------------
>
>                 Key: DRILL-4727
>                 URL: https://issues.apache.org/jira/browse/DRILL-4727
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Tools, Build & Test
>    Affects Versions: 1.7.0
>            Reporter: Aditya Kishore
>            Assignee: Aditya Kishore
>            Priority: Critical
>
> Reported on dev/user list after moving to HBase 1.1
> {noformat}
> Hi Aditya,
> I tested the latest version and got this exception and the drillbit fail to startup .
> Exception in thread "main" java.lang.NoSuchMethodError: io.netty.util.UniqueName.<init>(Ljava/lang/String;)V
>         at io.netty.channel.ChannelOption.<init>(ChannelOption.java:136)
>         at io.netty.channel.ChannelOption.valueOf(ChannelOption.java:99)
>         at io.netty.channel.ChannelOption.<clinit>(ChannelOption.java:42)
>         at org.apache.drill.exec.rpc.BasicServer.<init>(BasicServer.java:63)
>         at org.apache.drill.exec.rpc.user.UserServer.<init>(UserServer.java:74)
>         at org.apache.drill.exec.service.ServiceEngine.<init>(ServiceEngine.java:78)
>         at org.apache.drill.exec.server.Drillbit.<init>(Drillbit.java:108)
>         at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:285)
>         at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:271)
>         at org.apache.drill.exec.server.Drillbit.main(Drillbit.java:267)
> It will working if I remove jars/3rdparty/netty-all-4.0.23.Final.jar, the drill can startup. I think there have some package dependency version issue, do you think so ?
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)