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)