Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-25013

Remove Netty3 dependency from druid-handler once Druid upgrades fully to Netty4

Log workAgile BoardRank to TopRank to BottomBulk Copy AttachmentsBulk Move AttachmentsAdd voteVotersWatch issueWatchersCreate sub-taskConvert to sub-taskMoveLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • None
    • None

    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

      /**
       * 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.
       */
      

      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

                        response = handler.handleChunk(response, httpChunk, ++currentChunkNum);
      

      Attachments

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            abstractdog László Bodor Assign to me
            abstractdog László Bodor

            Dates

              Created:
              Updated:

              Slack

                Issue deployment