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

Reply via email to