You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Josh Elser (JIRA)" <ji...@apache.org> on 2018/10/03 15:44:00 UTC
[jira] [Created] (PHOENIX-4946) Super old httpclient version in
phoenix-core causes NoClassDefFoundError when Hadoop KMS is enabled
Josh Elser created PHOENIX-4946:
-----------------------------------
Summary: 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
Fix For: 5.1.0
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)