Skip to content

Commit

Permalink
Revert changes in repository-s3.
Browse files Browse the repository at this point in the history
Signed-off-by: dblock <dblock@amazon.com>
  • Loading branch information
dblock committed May 15, 2023
1 parent 033af9d commit 492215a
Show file tree
Hide file tree
Showing 29 changed files with 381 additions and 351 deletions.
34 changes: 18 additions & 16 deletions plugins/repository-s3/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,10 @@ opensearchplugin {
}

dependencies {
api "software.amazon.awssdk:s3:${versions.aws}"
api "software.amazon.awssdk:core:${versions.aws}"
api "software.amazon.awssdk:sts:${versions.aws}"
api "software.amazon.awssdk:codegen:${versions.aws}"
api "com.amazonaws:aws-java-sdk-s3:${versions.aws}"
api "com.amazonaws:aws-java-sdk-core:${versions.aws}"
api "com.amazonaws:aws-java-sdk-sts:${versions.aws}"
api "com.amazonaws:jmespath-java:${versions.aws}"
api "org.apache.httpcomponents:httpclient:${versions.httpclient}"
api "org.apache.httpcomponents:httpcore:${versions.httpcore}"
api "commons-logging:commons-logging:${versions.commonslogging}"
Expand All @@ -75,6 +75,8 @@ restResources {
}

tasks.named("dependencyLicenses").configure {
mapping from: /aws-java-sdk-.*/, to: 'aws-java-sdk'
mapping from: /jmespath-java.*/, to: 'aws-java-sdk'
mapping from: /jackson-.*/, to: 'jackson'
mapping from: /jaxb-.*/, to: 'jaxb'
}
Expand Down Expand Up @@ -239,9 +241,9 @@ testClusters.yamlRestTest {
setting 's3.client.integration_test_eks.region', { "us-east-2" }, IGNORE_VALUE
// to redirect InstanceProfileCredentialsProvider to custom auth point
systemProperty "software.amazon.awssdk.sdk.ec2MetadataServiceEndpointOverride", { "${-> fixtureAddress('s3-fixture', 's3-fixture-with-ec2', '80')}" }, IGNORE_VALUE
systemProperty "com.amazonaws.sdk.ec2MetadataServiceEndpointOverride", { "${-> fixtureAddress('s3-fixture', 's3-fixture-with-ec2', '80')}" }, IGNORE_VALUE
// to redirect AWSSecurityTokenServiceClient to custom auth point
systemProperty "software.amazon.awssdk.sdk.stsEndpointOverride", { "${-> fixtureAddress('s3-fixture', 's3-fixture-with-eks', '80')}/eks_credentials_endpoint" }, IGNORE_VALUE
systemProperty "com.amazonaws.sdk.stsEndpointOverride", { "${-> fixtureAddress('s3-fixture', 's3-fixture-with-eks', '80')}/eks_credentials_endpoint" }, IGNORE_VALUE
} else {
println "Using an external service to test the repository-s3 plugin"
}
Expand Down Expand Up @@ -335,7 +337,7 @@ if (useFixture) {
plugin tasks.bundlePlugin.archiveFile
// to redirect AWSSecurityTokenServiceClient to custom auth point
systemProperty "software.amazon.awssdk.sdk.stsEndpointOverride", { "${-> fixtureAddress('s3-fixture', 's3-fixture-with-eks', '80')}/eks_credentials_endpoint" }, IGNORE_VALUE
systemProperty "com.amazonaws.sdk.stsEndpointOverride", { "${-> fixtureAddress('s3-fixture', 's3-fixture-with-eks', '80')}/eks_credentials_endpoint" }, IGNORE_VALUE
}
}
Expand Down Expand Up @@ -374,15 +376,15 @@ thirdPartyAudit.ignoreMissingClasses(
'software.amazon.ion.system.IonTextWriterBuilder',
'software.amazon.ion.system.IonWriterBuilder',
// We don't use the kms dependency
'software.amazon.awssdk.services.kms.AWSKMS',
'software.amazon.awssdk.services.kms.AWSKMSClient',
'software.amazon.awssdk.services.kms.model.DecryptRequest',
'software.amazon.awssdk.services.kms.model.DecryptResult',
'software.amazon.awssdk.services.kms.model.EncryptRequest',
'software.amazon.awssdk.services.kms.model.EncryptResult',
'software.amazon.awssdk.services.kms.model.GenerateDataKeyRequest',
'software.amazon.awssdk.services.kms.model.GenerateDataKeyResult',
'software.amazon.awssdk.services.kms.AWSKMSClientBuilder'
'com.amazonaws.services.kms.AWSKMS',
'com.amazonaws.services.kms.AWSKMSClient',
'com.amazonaws.services.kms.model.DecryptRequest',
'com.amazonaws.services.kms.model.DecryptResult',
'com.amazonaws.services.kms.model.EncryptRequest',
'com.amazonaws.services.kms.model.EncryptResult',
'com.amazonaws.services.kms.model.GenerateDataKeyRequest',
'com.amazonaws.services.kms.model.GenerateDataKeyResult',
'com.amazonaws.services.kms.AWSKMSClientBuilder'
)
// jarhell with jdk (intentionally, because jaxb was removed from default modules in java 9)
Expand Down
10 changes: 5 additions & 5 deletions plugins/repository-s3/config/repository-s3/log4j2.properties
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,17 @@
# GitHub history for details.
#

logger.com_amazonaws.name = software.amazon.awssdk
logger.com_amazonaws.name = com.amazonaws
logger.com_amazonaws.level = warn

logger.com_amazonaws_jmx_SdkMBeanRegistrySupport.name = software.amazon.awssdk.jmx.SdkMBeanRegistrySupport
logger.com_amazonaws_jmx_SdkMBeanRegistrySupport.name = com.amazonaws.jmx.SdkMBeanRegistrySupport
logger.com_amazonaws_jmx_SdkMBeanRegistrySupport.level = error

logger.com_amazonaws_metrics_AwsSdkMetrics.name = software.amazon.awssdk.metrics.AwsSdkMetrics
logger.com_amazonaws_metrics_AwsSdkMetrics.name = com.amazonaws.metrics.AwsSdkMetrics
logger.com_amazonaws_metrics_AwsSdkMetrics.level = error

logger.com_amazonaws_auth_profile_internal_BasicProfileConfigFileLoader.name = software.amazon.awssdk.auth.profile.internal.BasicProfileConfigFileLoader
logger.com_amazonaws_auth_profile_internal_BasicProfileConfigFileLoader.name = com.amazonaws.auth.profile.internal.BasicProfileConfigFileLoader
logger.com_amazonaws_auth_profile_internal_BasicProfileConfigFileLoader.level = error

logger.com_amazonaws_services_s3_internal_UseArnRegionResolver.name = software.amazon.awssdk.services.s3.internal.UseArnRegionResolver
logger.com_amazonaws_services_s3_internal_UseArnRegionResolver.name = com.amazonaws.services.s3.internal.UseArnRegionResolver
logger.com_amazonaws_services_s3_internal_UseArnRegionResolver.level = error
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
8f0cc2cc1b41c51e2117f5b1ce6530febf99d4ba
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
2901cdd72a7f0d940b2bd4e1bcdb606d5d33736f
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
aeffa3e8d9471377adf1108e21dab92f4f13edb3
1 change: 0 additions & 1 deletion plugins/repository-s3/licenses/codegen-2.20.55.jar.sha1

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
5bd3e1976e3b3b94c30e4868af9a5bfc4221e24a
1 change: 0 additions & 1 deletion plugins/repository-s3/licenses/s3-2.20.55.jar.sha1

This file was deleted.

1 change: 0 additions & 1 deletion plugins/repository-s3/licenses/sts-2.20.55.jar.sha1

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@

package org.opensearch.repositories.s3;

import software.amazon.awssdk.http.AmazonHttpClient;
import com.amazonaws.http.AmazonHttpClient;
import com.sun.net.httpserver.Headers;
import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,9 @@

package org.opensearch.repositories.s3;

import software.amazon.awssdk.auth.AwsCredentialsProvider;
import software.amazon.awssdk.services.s3.AmazonS3;
import software.amazon.awssdk.services.s3.AmazonS3Client;
import com.amazonaws.auth.AWSCredentialsProvider;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3Client;

import org.opensearch.common.Nullable;
import org.opensearch.common.concurrent.RefCountedReleasable;
Expand All @@ -55,7 +55,7 @@ public class AmazonS3Reference extends RefCountedReleasable<AmazonS3> {
this(client.client(), client.credentials());
}

AmazonS3Reference(AmazonS3 client, @Nullable AwsCredentialsProvider credentials) {
AmazonS3Reference(AmazonS3 client, @Nullable AWSCredentialsProvider credentials) {
super("AWS_S3_CLIENT", client, () -> {
client.shutdown();
if (credentials instanceof Closeable) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,19 @@

package org.opensearch.repositories.s3;

import software.amazon.awssdk.auth.AwsCredentialsProvider;
import software.amazon.awssdk.services.s3.AmazonS3;
import com.amazonaws.auth.AWSCredentialsProvider;
import com.amazonaws.services.s3.AmazonS3;

import org.opensearch.common.Nullable;

/**
* The holder of the AmazonS3 and AwsCredentialsProvider
* The holder of the AmazonS3 and AWSCredentialsProvider
*/
final class AmazonS3WithCredentials {
private final AmazonS3 client;
private final AwsCredentialsProvider credentials;
private final AWSCredentialsProvider credentials;

private AmazonS3WithCredentials(final AmazonS3 client, @Nullable final AwsCredentialsProvider credentials) {
private AmazonS3WithCredentials(final AmazonS3 client, @Nullable final AWSCredentialsProvider credentials) {
this.client = client;
this.credentials = credentials;
}
Expand All @@ -29,11 +29,11 @@ AmazonS3 client() {
return client;
}

AwsCredentialsProvider credentials() {
AWSCredentialsProvider credentials() {
return credentials;
}

static AmazonS3WithCredentials create(final AmazonS3 client, @Nullable final AwsCredentialsProvider credentials) {
static AmazonS3WithCredentials create(final AmazonS3 client, @Nullable final AWSCredentialsProvider credentials) {
return new AmazonS3WithCredentials(client, credentials);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

package org.opensearch.repositories.s3;

import software.amazon.awssdk.Protocol;
import com.amazonaws.Protocol;
import org.opensearch.common.Strings;
import org.opensearch.common.settings.SettingsException;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,11 @@

package org.opensearch.repositories.s3;

import software.amazon.awssdk.auth.AwsCredentials;
import com.amazonaws.auth.AWSCredentials;

import java.util.Objects;

class S3BasicCredentials implements AwsCredentials {
class S3BasicCredentials implements AWSCredentials {

private final String accessKey;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@

package org.opensearch.repositories.s3;

import software.amazon.awssdk.auth.AWSSessionCredentials;
import com.amazonaws.auth.AWSSessionCredentials;

import java.util.Objects;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,19 +32,19 @@

package org.opensearch.repositories.s3;

import software.amazon.awssdk.core.exception.SdkException;
import software.amazon.awssdk.services.s3.model.AbortMultipartUploadRequest;
import software.amazon.awssdk.services.s3.model.CompleteMultipartUploadRequest;
import software.amazon.awssdk.services.s3.model.DeleteObjectsRequest;
import software.amazon.awssdk.services.s3.model.InitiateMultipartUploadRequest;
import software.amazon.awssdk.services.s3.model.ListObjectsRequest;
import software.amazon.awssdk.services.s3.model.MultiObjectDeleteException;
import software.amazon.awssdk.services.s3.model.ObjectListing;
import software.amazon.awssdk.services.s3.model.ObjectMetadata;
import software.amazon.awssdk.services.s3.model.PartETag;
import software.amazon.awssdk.services.s3.model.PutObjectRequest;
import software.amazon.awssdk.services.s3.model.UploadPartRequest;
import software.amazon.awssdk.services.s3.model.UploadPartResult;
import com.amazonaws.AmazonClientException;
import com.amazonaws.services.s3.model.AbortMultipartUploadRequest;
import com.amazonaws.services.s3.model.CompleteMultipartUploadRequest;
import com.amazonaws.services.s3.model.DeleteObjectsRequest;
import com.amazonaws.services.s3.model.InitiateMultipartUploadRequest;
import com.amazonaws.services.s3.model.ListObjectsRequest;
import com.amazonaws.services.s3.model.MultiObjectDeleteException;
import com.amazonaws.services.s3.model.ObjectListing;
import com.amazonaws.services.s3.model.ObjectMetadata;
import com.amazonaws.services.s3.model.PartETag;
import com.amazonaws.services.s3.model.PutObjectRequest;
import com.amazonaws.services.s3.model.UploadPartRequest;
import com.amazonaws.services.s3.model.UploadPartResult;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.message.ParameterizedMessage;
Expand Down Expand Up @@ -193,7 +193,7 @@ public DeleteResult delete() throws IOException {
break;
}
}
} catch (final SdkException e) {
} catch (final AmazonClientException e) {
throw new IOException("Exception when deleting blob container [" + keyPath + "]", e);
}
return new DeleteResult(deletedBlobs.get(), deletedBytes.get());
Expand Down Expand Up @@ -229,7 +229,7 @@ private void doDeleteBlobs(List<String> blobNames, boolean relative) throws IOEx
deleteRequests.add(bulkDelete(blobStore.bucket(), partition));
}
SocketAccess.doPrivilegedVoid(() -> {
SdkException aex = null;
AmazonClientException aex = null;
for (DeleteObjectsRequest deleteRequest : deleteRequests) {
List<String> keysInRequest = deleteRequest.getKeys()
.stream()
Expand All @@ -256,7 +256,7 @@ private void doDeleteBlobs(List<String> blobNames, boolean relative) throws IOEx
e
);
aex = ExceptionsHelper.useOrSuppress(aex, e);
} catch (SdkException e) {
} catch (AmazonClientException e) {
// The AWS client threw any unexpected exception and did not execute the request at all so we do not
// remove any keys from the outstanding deletes set.
aex = ExceptionsHelper.useOrSuppress(aex, e);
Expand All @@ -283,7 +283,7 @@ public Map<String, BlobMetadata> listBlobsByPrefix(@Nullable String blobNamePref
.flatMap(listing -> listing.getObjectSummaries().stream())
.map(summary -> new PlainBlobMetadata(summary.getKey().substring(keyPath.length()), summary.getSize()))
.collect(Collectors.toMap(PlainBlobMetadata::name, Function.identity()));
} catch (final SdkException e) {
} catch (final AmazonClientException e) {
throw new IOException("Exception when listing blobs by prefix [" + blobNamePrefix + "]", e);
}
}
Expand Down Expand Up @@ -312,7 +312,7 @@ public Map<String, BlobContainer> children() throws IOException {
// Stripping the trailing slash off of the common prefix
.map(name -> name.substring(0, name.length() - 1))
.collect(Collectors.toMap(Function.identity(), name -> blobStore.blobContainer(path().add(name))));
} catch (final SdkException e) {
} catch (final AmazonClientException e) {
throw new IOException("Exception when listing children of [" + path().buildAsString() + ']', e);
}
}
Expand Down Expand Up @@ -375,7 +375,7 @@ void executeSingleUpload(final S3BlobStore blobStore, final String blobName, fin

try (AmazonS3Reference clientReference = blobStore.clientReference()) {
SocketAccess.doPrivilegedVoid(() -> { clientReference.get().putObject(putRequest); });
} catch (final SdkException e) {
} catch (final AmazonClientException e) {
throw new IOException("Unable to upload object [" + blobName + "] using a single upload", e);
}
}
Expand Down Expand Up @@ -459,7 +459,7 @@ void executeMultipartUpload(final S3BlobStore blobStore, final String blobName,
SocketAccess.doPrivilegedVoid(() -> clientReference.get().completeMultipartUpload(complRequest));
success = true;

} catch (final SdkException e) {
} catch (final AmazonClientException e) {
throw new IOException("Unable to upload object [" + blobName + "] using multipart upload", e);
} finally {
if ((success == false) && Strings.hasLength(uploadId.get())) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,12 @@

package org.opensearch.repositories.s3;

import software.amazon.awssdk.Request;
import software.amazon.awssdk.Response;
import software.amazon.awssdk.metrics.RequestMetricCollector;
import software.amazon.awssdk.services.s3.model.CannedAccessControlList;
import software.amazon.awssdk.services.s3.model.StorageClass;
import software.amazon.awssdk.util.AWSRequestMetrics;
import com.amazonaws.Request;
import com.amazonaws.Response;
import com.amazonaws.metrics.RequestMetricCollector;
import com.amazonaws.services.s3.model.CannedAccessControlList;
import com.amazonaws.services.s3.model.StorageClass;
import com.amazonaws.util.AWSRequestMetrics;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.opensearch.cluster.metadata.RepositoryMetadata;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@

package org.opensearch.repositories.s3;

import software.amazon.awssdk.ClientConfiguration;
import software.amazon.awssdk.Protocol;
import com.amazonaws.ClientConfiguration;
import com.amazonaws.Protocol;
import org.opensearch.common.Strings;
import org.opensearch.common.SuppressForbidden;
import org.opensearch.common.io.PathUtils;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@

package org.opensearch.repositories.s3;

import software.amazon.awssdk.util.json.Jackson;
import com.amazonaws.util.json.Jackson;
import org.opensearch.SpecialPermission;
import org.opensearch.cluster.metadata.RepositoryMetadata;
import org.opensearch.cluster.service.ClusterService;
Expand Down Expand Up @@ -69,7 +69,7 @@ public class S3RepositoryPlugin extends Plugin implements RepositoryPlugin, Relo
Jackson.jsonNodeOf("{}");
// ClientConfiguration clinit has some classloader problems
// TODO: fix that
Class.forName("software.amazon.awssdk.ClientConfiguration");
Class.forName("com.amazonaws.ClientConfiguration");
} catch (final ClassNotFoundException e) {
throw new RuntimeException(e);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,12 @@

package org.opensearch.repositories.s3;

import software.amazon.awssdk.core.exception.SdkException;
import software.amazon.awssdk.services.s3.model.AmazonS3Exception;
import software.amazon.awssdk.services.s3.model.GetObjectRequest;
import software.amazon.awssdk.services.s3.model.ObjectMetadata;
import software.amazon.awssdk.services.s3.model.S3Object;
import software.amazon.awssdk.services.s3.model.S3ObjectInputStream;
import com.amazonaws.AmazonClientException;
import com.amazonaws.services.s3.model.AmazonS3Exception;
import com.amazonaws.services.s3.model.GetObjectRequest;
import com.amazonaws.services.s3.model.ObjectMetadata;
import com.amazonaws.services.s3.model.S3Object;
import com.amazonaws.services.s3.model.S3ObjectInputStream;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.message.ParameterizedMessage;
Expand Down Expand Up @@ -112,7 +112,7 @@ private void openStream() throws IOException {
final S3Object s3Object = SocketAccess.doPrivileged(() -> clientReference.get().getObject(getObjectRequest));
this.currentStreamLastOffset = Math.addExact(Math.addExact(start, currentOffset), getStreamLength(s3Object));
this.currentStream = s3Object.getObjectContent();
} catch (final SdkException e) {
} catch (final AmazonClientException e) {
if (e instanceof AmazonS3Exception) {
if (404 == ((AmazonS3Exception) e).getStatusCode()) {
throw addSuppressedExceptions(new NoSuchFileException("Blob object [" + blobKey + "] not found: " + e.getMessage()));
Expand Down
Loading

0 comments on commit 492215a

Please sign in to comment.