@InterfaceAudience.Private
@InterfaceStability.Unstable
public class InconsistentAmazonS3Client
extends com.amazonaws.services.s3.AmazonS3Client
AmazonS3 that injects
inconsistency and/or errors. Used for testing S3Guard.
Currently only delays listing visibility, not affecting GET.awsCredentialsProvider, configFactory, errorResponseHandler, S3_SERVICE_NAME| Constructor and Description |
|---|
InconsistentAmazonS3Client(com.amazonaws.auth.AWSCredentialsProvider credentials,
com.amazonaws.ClientConfiguration clientConfiguration,
org.apache.hadoop.conf.Configuration conf)
Instantiate.
|
| Modifier and Type | Method and Description |
|---|---|
static InconsistentAmazonS3Client |
castFrom(com.amazonaws.services.s3.AmazonS3 c)
Convenience function for test code to cast from supertype.
|
void |
clearInconsistency()
Clear all oustanding inconsistent keys.
|
static void |
clearInconsistency(S3AFileSystem fs)
Clear any accumulated inconsistency state.
|
com.amazonaws.services.s3.model.CompleteMultipartUploadResult |
completeMultipartUpload(com.amazonaws.services.s3.model.CompleteMultipartUploadRequest completeMultipartUploadRequest) |
void |
deleteObject(com.amazonaws.services.s3.model.DeleteObjectRequest deleteObjectRequest) |
com.amazonaws.services.s3.model.DeleteObjectsResult |
deleteObjects(com.amazonaws.services.s3.model.DeleteObjectsRequest deleteObjectsRequest) |
long |
getDelayKeyMsec() |
com.amazonaws.services.s3.model.S3Object |
getObject(com.amazonaws.services.s3.model.GetObjectRequest var1) |
com.amazonaws.services.s3.model.S3Object |
getObject(String bucketName,
String key) |
com.amazonaws.services.s3.model.InitiateMultipartUploadResult |
initiateMultipartUpload(com.amazonaws.services.s3.model.InitiateMultipartUploadRequest initiateMultipartUploadRequest) |
com.amazonaws.services.s3.model.MultipartUploadListing |
listMultipartUploads(com.amazonaws.services.s3.model.ListMultipartUploadsRequest listMultipartUploadsRequest) |
com.amazonaws.services.s3.model.ObjectListing |
listObjects(com.amazonaws.services.s3.model.ListObjectsRequest listObjectsRequest) |
com.amazonaws.services.s3.model.ListObjectsV2Result |
listObjectsV2(com.amazonaws.services.s3.model.ListObjectsV2Request request) |
com.amazonaws.services.s3.model.PutObjectResult |
putObject(com.amazonaws.services.s3.model.PutObjectRequest putObjectRequest) |
static void |
setFailureInjectionPolicy(S3AFileSystem fs,
FailureInjectionPolicy policy)
A way for tests to patch in a different fault injection policy at runtime.
|
void |
setFailureLimit(int limit)
Set the limit on failures before all operations pass through.
|
void |
setThrottleProbability(float throttleProbability)
Set the probability of throttling a request.
|
String |
toString() |
com.amazonaws.services.s3.model.UploadPartResult |
uploadPart(com.amazonaws.services.s3.model.UploadPartRequest uploadPartRequest) |
abortMultipartUpload, builder, changeObjectStorageClass, copyObject, copyObject, copyPart, createBucket, createBucket, createBucket, createBucket, createRequest, createRequest, createSigner, createSigner, createSignerProvider, deleteBucket, deleteBucket, deleteBucketAnalyticsConfiguration, deleteBucketAnalyticsConfiguration, deleteBucketCrossOriginConfiguration, deleteBucketCrossOriginConfiguration, deleteBucketEncryption, deleteBucketEncryption, deleteBucketInventoryConfiguration, deleteBucketInventoryConfiguration, deleteBucketLifecycleConfiguration, deleteBucketLifecycleConfiguration, deleteBucketMetricsConfiguration, deleteBucketMetricsConfiguration, deleteBucketPolicy, deleteBucketPolicy, deleteBucketReplicationConfiguration, deleteBucketReplicationConfiguration, deleteBucketTaggingConfiguration, deleteBucketTaggingConfiguration, deleteBucketWebsiteConfiguration, deleteBucketWebsiteConfiguration, deleteObject, deleteObjectTagging, deletePublicAccessBlock, deleteVersion, deleteVersion, disableRequesterPays, doesBucketExist, doesBucketExistV2, doesObjectExist, download, download, enableRequesterPays, generatePresignedUrl, generatePresignedUrl, generatePresignedUrl, getBucketAccelerateConfiguration, getBucketAccelerateConfiguration, getBucketAcl, getBucketAcl, getBucketAnalyticsConfiguration, getBucketAnalyticsConfiguration, getBucketCrossOriginConfiguration, getBucketCrossOriginConfiguration, getBucketEncryption, getBucketEncryption, getBucketInventoryConfiguration, getBucketInventoryConfiguration, getBucketLifecycleConfiguration, getBucketLifecycleConfiguration, getBucketLocation, getBucketLocation, getBucketLoggingConfiguration, getBucketLoggingConfiguration, getBucketMetricsConfiguration, getBucketMetricsConfiguration, getBucketNotificationConfiguration, getBucketNotificationConfiguration, getBucketPolicy, getBucketPolicy, getBucketPolicyStatus, getBucketReplicationConfiguration, getBucketReplicationConfiguration, getBucketTaggingConfiguration, getBucketTaggingConfiguration, getBucketVersioningConfiguration, getBucketVersioningConfiguration, getBucketWebsiteConfiguration, getBucketWebsiteConfiguration, getCachedResponseMetadata, getObject, getObjectAcl, getObjectAcl, getObjectAcl, getObjectAsString, getObjectLegalHold, getObjectLockConfiguration, getObjectMetadata, getObjectMetadata, getObjectRetention, getObjectTagging, getPublicAccessBlock, getRegion, getRegionName, getResourceUrl, getS3AccountOwner, getS3AccountOwner, getUrl, headBucket, isRequesterPaysEnabled, listBucketAnalyticsConfigurations, listBucketInventoryConfigurations, listBucketMetricsConfigurations, listBuckets, listBuckets, listNextBatchOfObjects, listNextBatchOfObjects, listNextBatchOfVersions, listNextBatchOfVersions, listObjects, listObjects, listObjectsV2, listObjectsV2, listParts, listVersions, listVersions, listVersions, newInitiateMultipartUploadRequest, populateRequesterPaysHeader, populateRequestMetadata, presignRequest, putObject, putObject, putObject, restoreObject, restoreObject, restoreObjectV2, selectObjectContent, setBucketAccelerateConfiguration, setBucketAccelerateConfiguration, setBucketAcl, setBucketAcl, setBucketAcl, setBucketAcl, setBucketAcl, setBucketAnalyticsConfiguration, setBucketAnalyticsConfiguration, setBucketCrossOriginConfiguration, setBucketCrossOriginConfiguration, setBucketEncryption, setBucketInventoryConfiguration, setBucketInventoryConfiguration, setBucketLifecycleConfiguration, setBucketLifecycleConfiguration, setBucketLoggingConfiguration, setBucketMetricsConfiguration, setBucketMetricsConfiguration, setBucketNotificationConfiguration, setBucketNotificationConfiguration, setBucketPolicy, setBucketPolicy, setBucketReplicationConfiguration, setBucketReplicationConfiguration, setBucketTaggingConfiguration, setBucketTaggingConfiguration, setBucketVersioningConfiguration, setBucketWebsiteConfiguration, setBucketWebsiteConfiguration, setEndpoint, setObjectAcl, setObjectAcl, setObjectAcl, setObjectAcl, setObjectAcl, setObjectAcl, setObjectAcl, setObjectLegalHold, setObjectLockConfiguration, setObjectRedirectLocation, setObjectRetention, setObjectTagging, setPublicAccessBlock, setRegion, setS3ClientOptions, upload, useStrictHostNameVerification, waitersaddRequestHandler, addRequestHandler, beforeClientExecution, beforeMarshalling, calculateCRC32FromCompressedData, checkMutability, configureRegion, createExecutionContext, createExecutionContext, createExecutionContext, endClientExecution, endClientExecution, getClientConfiguration, getClientId, getEndpointPrefix, getMonitoringListeners, getRequestMetricsCollector, getServiceAbbreviation, getServiceName, getServiceNameIntern, getSigner, getSignerByURI, getSignerOverride, getSignerProvider, getSignerRegionOverride, getSigningRegion, getTimeOffset, isCsmEnabled, isProfilingEnabled, isRequestMetricsEnabled, makeImmutable, removeRequestHandler, removeRequestHandler, requestMetricCollector, setEndpoint, setEndpointPrefix, setServiceNameIntern, setSignerRegionOverride, setTimeOffset, shouldGenerateClientSideMonitoringEvents, shutdown, withEndpoint, withRegion, withRegion, withTimeOffsetpublic InconsistentAmazonS3Client(com.amazonaws.auth.AWSCredentialsProvider credentials,
com.amazonaws.ClientConfiguration clientConfiguration,
org.apache.hadoop.conf.Configuration conf)
AmazonS3Client class; we can't use the builder API because,
that only creates the consistent client.credentials - credentials to auth.clientConfiguration - connection settingsconf - hadoop configuration.public static void clearInconsistency(S3AFileSystem fs) throws Exception
fs - S3AFileSystem under testException - on failurepublic static void setFailureInjectionPolicy(S3AFileSystem fs, FailureInjectionPolicy policy) throws Exception
fs - filesystem under testExceptionpublic void clearInconsistency()
public static InconsistentAmazonS3Client castFrom(com.amazonaws.services.s3.AmazonS3 c) throws Exception
c - supertype to cast fromException - on errorpublic com.amazonaws.services.s3.model.DeleteObjectsResult deleteObjects(com.amazonaws.services.s3.model.DeleteObjectsRequest deleteObjectsRequest)
throws com.amazonaws.AmazonClientException,
com.amazonaws.AmazonServiceException
deleteObjects in interface com.amazonaws.services.s3.AmazonS3deleteObjects in class com.amazonaws.services.s3.AmazonS3Clientcom.amazonaws.AmazonClientExceptioncom.amazonaws.AmazonServiceExceptionpublic void deleteObject(com.amazonaws.services.s3.model.DeleteObjectRequest deleteObjectRequest)
throws com.amazonaws.AmazonClientException,
com.amazonaws.AmazonServiceException
deleteObject in interface com.amazonaws.services.s3.AmazonS3deleteObject in class com.amazonaws.services.s3.AmazonS3Clientcom.amazonaws.AmazonClientExceptioncom.amazonaws.AmazonServiceExceptionpublic com.amazonaws.services.s3.model.PutObjectResult putObject(com.amazonaws.services.s3.model.PutObjectRequest putObjectRequest)
throws com.amazonaws.AmazonClientException,
com.amazonaws.AmazonServiceException
putObject in interface com.amazonaws.services.s3.AmazonS3putObject in interface com.amazonaws.services.s3.internal.S3DirectSpiputObject in class com.amazonaws.services.s3.AmazonS3Clientcom.amazonaws.AmazonClientExceptioncom.amazonaws.AmazonServiceExceptionpublic com.amazonaws.services.s3.model.ObjectListing listObjects(com.amazonaws.services.s3.model.ListObjectsRequest listObjectsRequest)
throws com.amazonaws.AmazonClientException,
com.amazonaws.AmazonServiceException
listObjects in interface com.amazonaws.services.s3.AmazonS3listObjects in class com.amazonaws.services.s3.AmazonS3Clientcom.amazonaws.AmazonClientExceptioncom.amazonaws.AmazonServiceExceptionpublic com.amazonaws.services.s3.model.ListObjectsV2Result listObjectsV2(com.amazonaws.services.s3.model.ListObjectsV2Request request)
throws com.amazonaws.AmazonClientException,
com.amazonaws.AmazonServiceException
listObjectsV2 in interface com.amazonaws.services.s3.AmazonS3listObjectsV2 in class com.amazonaws.services.s3.AmazonS3Clientcom.amazonaws.AmazonClientExceptioncom.amazonaws.AmazonServiceExceptionpublic com.amazonaws.services.s3.model.CompleteMultipartUploadResult completeMultipartUpload(com.amazonaws.services.s3.model.CompleteMultipartUploadRequest completeMultipartUploadRequest)
throws com.amazonaws.SdkClientException,
com.amazonaws.AmazonServiceException
completeMultipartUpload in interface com.amazonaws.services.s3.AmazonS3completeMultipartUpload in interface com.amazonaws.services.s3.internal.S3DirectSpicompleteMultipartUpload in class com.amazonaws.services.s3.AmazonS3Clientcom.amazonaws.SdkClientExceptioncom.amazonaws.AmazonServiceExceptionpublic com.amazonaws.services.s3.model.UploadPartResult uploadPart(com.amazonaws.services.s3.model.UploadPartRequest uploadPartRequest)
throws com.amazonaws.SdkClientException,
com.amazonaws.AmazonServiceException
uploadPart in interface com.amazonaws.services.s3.AmazonS3uploadPart in interface com.amazonaws.services.s3.internal.S3DirectSpiuploadPart in class com.amazonaws.services.s3.AmazonS3Clientcom.amazonaws.SdkClientExceptioncom.amazonaws.AmazonServiceExceptionpublic com.amazonaws.services.s3.model.InitiateMultipartUploadResult initiateMultipartUpload(com.amazonaws.services.s3.model.InitiateMultipartUploadRequest initiateMultipartUploadRequest)
throws com.amazonaws.SdkClientException,
com.amazonaws.AmazonServiceException
initiateMultipartUpload in interface com.amazonaws.services.s3.AmazonS3initiateMultipartUpload in interface com.amazonaws.services.s3.internal.S3DirectSpiinitiateMultipartUpload in class com.amazonaws.services.s3.AmazonS3Clientcom.amazonaws.SdkClientExceptioncom.amazonaws.AmazonServiceExceptionpublic com.amazonaws.services.s3.model.MultipartUploadListing listMultipartUploads(com.amazonaws.services.s3.model.ListMultipartUploadsRequest listMultipartUploadsRequest)
throws com.amazonaws.SdkClientException,
com.amazonaws.AmazonServiceException
listMultipartUploads in interface com.amazonaws.services.s3.AmazonS3listMultipartUploads in class com.amazonaws.services.s3.AmazonS3Clientcom.amazonaws.SdkClientExceptioncom.amazonaws.AmazonServiceExceptionpublic long getDelayKeyMsec()
public void setThrottleProbability(float throttleProbability)
throttleProbability - the probability of a request being throttled.public void setFailureLimit(int limit)
limit - limit; "0" means "no limit"public com.amazonaws.services.s3.model.S3Object getObject(com.amazonaws.services.s3.model.GetObjectRequest var1)
throws com.amazonaws.SdkClientException,
com.amazonaws.AmazonServiceException
getObject in interface com.amazonaws.services.s3.AmazonS3getObject in interface com.amazonaws.services.s3.internal.S3DirectSpigetObject in class com.amazonaws.services.s3.AmazonS3Clientcom.amazonaws.SdkClientExceptioncom.amazonaws.AmazonServiceExceptionpublic com.amazonaws.services.s3.model.S3Object getObject(String bucketName, String key) throws com.amazonaws.SdkClientException, com.amazonaws.AmazonServiceException
getObject in interface com.amazonaws.services.s3.AmazonS3getObject in class com.amazonaws.services.s3.AmazonS3Clientcom.amazonaws.SdkClientExceptioncom.amazonaws.AmazonServiceExceptionCopyright © 2008–2021 Apache Software Foundation. All rights reserved.