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.