Uploaded image for project: 'Phoenix'
  1. Phoenix
  2. PHOENIX-4946

Super old httpclient version in phoenix-core causes NoClassDefFoundError when Hadoop KMS is enabled

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 4.15.0, 5.1.0
    • None
    • None

    Description

      We have a super-old version of org.apache.httpcomponents:httpclient in phoenix-core of 4.0.1. With Hadoop3, this appears to exclude out 4.5.2 which comes in transitively.

      When using the Hadoop KMS provider, you'll see an error like:

      java.lang.NoClassDefFoundError: org/apache/phoenix/shaded/org/apache/http/client/utils/URIBuilder
      at org.apache.hadoop.crypto.key.kms.KMSClientProvider.createURL(KMSClientProvider.java:437)
      at org.apache.hadoop.crypto.key.kms.KMSClientProvider.addDelegationTokens(KMSClientProvider.java:1032)
      at org.apache.hadoop.crypto.key.kms.LoadBalancingKMSClientProvider$1.call(LoadBalancingKMSClientProvider.java:193)
      at org.apache.hadoop.crypto.key.kms.LoadBalancingKMSClientProvider$1.call(LoadBalancingKMSClientProvider.java:190)
      at org.apache.hadoop.crypto.key.kms.LoadBalancingKMSClientProvider.doOp(LoadBalancingKMSClientProvider.java:123)
      at org.apache.hadoop.crypto.key.kms.LoadBalancingKMSClientProvider.addDelegationTokens(LoadBalancingKMSClientProvider.java:190)
      at org.apache.hadoop.crypto.key.KeyProviderDelegationTokenExtension.addDelegationTokens(KeyProviderDelegationTokenExtension.java:110)
      at org.apache.hadoop.hdfs.HdfsKMSUtil.addDelegationTokensForKeyProvider(HdfsKMSUtil.java:84)
      at org.apache.hadoop.hdfs.DistributedFileSystem.addDelegationTokens(DistributedFileSystem.java:2821)
      

      It seems like we have no good reason to depend on an old version of httpclient.

      Avatica is on 4.5.2 by default, but we can probably just go directly to the latest which is 4.5.6.

      Attachments

        1. PHOENIX-4946.001.patch
          8 kB
          Josh Elser

        Activity

          People

            elserj Josh Elser
            elserj Josh Elser
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: