[
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)