[ https://issues.apache.org/jira/browse/HIVE-25013?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
László Bodor updated HIVE-25013: -------------------------------- Description: Currently druid is still on org.jboss.netty here: https://github.com/apache/druid/blob/master/core/src/main/java/org/apache/druid/java/util/http/client/response/HttpResponseHandler.java This class is inherited here, so there is a compile-time dependency on netty3 through druid-handler module: https://github.com/apache/hive/blob/master/druid-handler/src/java/org/apache/hadoop/hive/druid/security/RetryIfUnauthorizedResponseHandler.java RetryIfUnauthorizedResponseHandler was copied from druid codebase in the scope of HIVE-17160 because: https://github.com/apache/hive/blame/master/druid-handler/src/java/org/apache/hadoop/hive/druid/security/KerberosHttpClient.java#L40-L45 {code} /** * This is a slightly modified version of kerberos module borrowed from druid project * Couple of reasons behind the copy/modification instead of mvn dependency. * 1/ Need to remove the authentication step since it not required * 2/ To avoid some un-needed transitive dependencies that can clash on the classpath like jetty-XX. */ {code} I believe we cannot upgrade here only the copied classes, because the netty3 objects are on the public interface of ResponseHandler callbacks which is referenced by other druid classes like: https://github.com/apache/druid/blob/master/core/src/main/java/org/apache/druid/java/util/http/client/NettyHttpClient.java#L249 {code} response = handler.handleChunk(response, httpChunk, ++currentChunkNum); {code} was: Currently druid is still on org.jboss.netty here: https://github.com/apache/druid/blob/master/core/src/main/java/org/apache/druid/java/util/http/client/response/HttpResponseHandler.java This class is inherited here, so there is a compile-time dependency on netty3 through druid-handler module: https://github.com/apache/hive/blob/master/druid-handler/src/java/org/apache/hadoop/hive/druid/security/RetryIfUnauthorizedResponseHandler.java RetryIfUnauthorizedResponseHandler was copied from druid codebase in the scope of HIVE-17160 because: https://github.com/apache/hive/blame/master/druid-handler/src/java/org/apache/hadoop/hive/druid/security/KerberosHttpClient.java#L40-L45 {code} /** * This is a slightly modified version of kerberos module borrowed from druid project * Couple of reasons behind the copy/modification instead of mvn dependency. * 1/ Need to remove the authentication step since it not required * 2/ To avoid some un-needed transitive dependencies that can clash on the classpath like jetty-XX. */ {code} > Remove Netty3 dependency from druid-handler once Druid upgrades fully to > Netty4 > ------------------------------------------------------------------------------- > > Key: HIVE-25013 > URL: https://issues.apache.org/jira/browse/HIVE-25013 > Project: Hive > Issue Type: Bug > Reporter: László Bodor > Assignee: László Bodor > Priority: Major > > Currently druid is still on org.jboss.netty here: > https://github.com/apache/druid/blob/master/core/src/main/java/org/apache/druid/java/util/http/client/response/HttpResponseHandler.java > This class is inherited here, so there is a compile-time dependency on netty3 > through druid-handler module: > https://github.com/apache/hive/blob/master/druid-handler/src/java/org/apache/hadoop/hive/druid/security/RetryIfUnauthorizedResponseHandler.java > RetryIfUnauthorizedResponseHandler was copied from druid codebase in the > scope of HIVE-17160 because: > https://github.com/apache/hive/blame/master/druid-handler/src/java/org/apache/hadoop/hive/druid/security/KerberosHttpClient.java#L40-L45 > {code} > /** > * This is a slightly modified version of kerberos module borrowed from druid > project > * Couple of reasons behind the copy/modification instead of mvn dependency. > * 1/ Need to remove the authentication step since it not required > * 2/ To avoid some un-needed transitive dependencies that can clash on the > classpath like jetty-XX. > */ > {code} > I believe we cannot upgrade here only the copied classes, because the netty3 > objects are on the public interface of ResponseHandler callbacks which is > referenced by other druid classes like: > https://github.com/apache/druid/blob/master/core/src/main/java/org/apache/druid/java/util/http/client/NettyHttpClient.java#L249 > {code} > response = handler.handleChunk(response, httpChunk, > ++currentChunkNum); > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)