HADOOP-18481. AWS v2 SDK upgrade log to not about standard AWS Credential Providers. (#4973)

The AWS SDKV2 upgrade log no longer warns about instantiation
of the v1 SDK credential providers which are commonly used in
s3a configurations:

* com.amazonaws.auth.EnvironmentVariableCredentialsProvider
* com.amazonaws.auth.EC2ContainerCredentialsProviderWrapper
* com.amazonaws.auth.InstanceProfileCredentialsProvider

When the hadoop-aws module moves to the v2 SDK, references to these
credential providers will be rewritten to their v2 equivalents.

Follow-on to HADOOP-18382. "Upgrade AWS SDK to V2 - Prerequisites"

Contributed by Ahmar Suhail
This commit is contained in:
ahmarsuhail 2022-10-14 10:48:09 +01:00 committed by Steve Loughran
parent c2bbff9ea1
commit 860c79192a
No known key found for this signature in database
GPG Key ID: D22CF846DBB162A0

View File

@ -638,7 +638,10 @@ public static AWSCredentialProviderList buildAWSProviderList(
AWSCredentialProviderList providers = new AWSCredentialProviderList(); AWSCredentialProviderList providers = new AWSCredentialProviderList();
for (Class<?> aClass : awsClasses) { for (Class<?> aClass : awsClasses) {
if (aClass.getName().contains(AWS_AUTH_CLASS_PREFIX)) { // List of V1 credential providers that will be migrated with V2 upgrade
if (!Arrays.asList("EnvironmentVariableCredentialsProvider",
"EC2ContainerCredentialsProviderWrapper", "InstanceProfileCredentialsProvider")
.contains(aClass.getSimpleName()) && aClass.getName().contains(AWS_AUTH_CLASS_PREFIX)) {
V2Migration.v1ProviderReferenced(aClass.getName()); V2Migration.v1ProviderReferenced(aClass.getName());
} }