phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Josh Elser (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (PHOENIX-4946) Super old httpclient version in phoenix-core causes NoClassDefFoundError when Hadoop KMS is enabled
Date Wed, 03 Oct 2018 21:45:00 GMT

     [ https://issues.apache.org/jira/browse/PHOENIX-4946?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Josh Elser updated PHOENIX-4946:
--------------------------------
    Attachment: PHOENIX-4946.001.patch

> Super old httpclient version in phoenix-core causes NoClassDefFoundError when Hadoop
KMS is enabled
> ---------------------------------------------------------------------------------------------------
>
>                 Key: PHOENIX-4946
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-4946
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: Josh Elser
>            Assignee: Josh Elser
>            Priority: Major
>             Fix For: 5.1.0
>
>         Attachments: PHOENIX-4946.001.patch
>
>
> 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:
> {noformat}
> 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)
> {noformat}
> 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.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message