[ https://issues.apache.org/jira/browse/HIVE-18955?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16411122#comment-16411122 ]
Rui Li commented on HIVE-18955: ------------------------------- Hi [~bslim], we have these dependency chains to {{async-http-client}}: {noformat} com.metamx:java-util -> org.asynchttpclient:async-http-client io.druid:druid-server -> com.metamx:java-util -> org.asynchttpclient:async-http-client io.druid:druid-processing -> com.metamx:java-util -> org.asynchttpclient:async-http-client {noformat} {{com.metamx:java-util}}, {{io.druid:druid-server}} and {{io.druid:druid-processing}} are already included in the shaded jar. By making them optional, we won't package these jars (and therefore neither the {{async-http-client}} jar) into the lib folder. I think this is OK because otherwise, we'll have both the original and relocated classes in our class path. Do you think that's the right way to go? Besides, this solution doesn't work if shading is skipped. Any thoughts how we should handle that? > HoS: Unable to create Channel from class NioServerSocketChannel > --------------------------------------------------------------- > > Key: HIVE-18955 > URL: https://issues.apache.org/jira/browse/HIVE-18955 > Project: Hive > Issue Type: Bug > Components: Spark > Reporter: Rui Li > Assignee: Rui Li > Priority: Blocker > Attachments: HIVE-18955.1.patch > > > Hit the issue when trying launch spark job. Stack trace: > {noformat} > Caused by: java.lang.NoSuchMethodError: > io.netty.channel.DefaultChannelId.newInstance()Lio/netty/channel/DefaultChannelId; > at io.netty.channel.AbstractChannel.newId(AbstractChannel.java:111) > ~[netty-all-4.1.17.Final.jar:4.1.17.Final] > at io.netty.channel.AbstractChannel.<init>(AbstractChannel.java:83) > ~[netty-all-4.1.17.Final.jar:4.1.17.Final] > at > io.netty.channel.nio.AbstractNioChannel.<init>(AbstractNioChannel.java:84) > ~[netty-all-4.1.17.Final.jar:4.1.17.Final] > at > io.netty.channel.nio.AbstractNioMessageChannel.<init>(AbstractNioMessageChannel.java:42) > ~[netty-all-4.1.17.Final.jar:4.1.17.Final] > at > io.netty.channel.socket.nio.NioServerSocketChannel.<init>(NioServerSocketChannel.java:86) > ~[netty-all-4.1.17.Final.jar:4.1.17.Final] > at > io.netty.channel.socket.nio.NioServerSocketChannel.<init>(NioServerSocketChannel.java:72) > ~[netty-all-4.1.17.Final.jar:4.1.17.Final] > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native > Method) ~[?:1.8.0_151] > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) > ~[?:1.8.0_151] > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > ~[?:1.8.0_151] > at java.lang.reflect.Constructor.newInstance(Constructor.java:423) > ~[?:1.8.0_151] > at > io.netty.channel.ReflectiveChannelFactory.newChannel(ReflectiveChannelFactory.java:38) > ~[netty-all-4.1.17.Final.jar:4.1.17.Final] > ... 32 more > {noformat} > It seems we have conflicts versions of class > {{io.netty.channel.DefaultChannelId}} from async-http-client.jar and > netty-all.jar -- This message was sent by Atlassian JIRA (v7.6.3#76005)