@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, waiters
addRequestHandler, 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, withTimeOffset
public 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 testpolicy
- failure injection settings to setException
- on failurepublic 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.AmazonS3
deleteObjects
in class com.amazonaws.services.s3.AmazonS3Client
com.amazonaws.AmazonClientException
com.amazonaws.AmazonServiceException
public void deleteObject(com.amazonaws.services.s3.model.DeleteObjectRequest deleteObjectRequest) throws com.amazonaws.AmazonClientException, com.amazonaws.AmazonServiceException
deleteObject
in interface com.amazonaws.services.s3.AmazonS3
deleteObject
in class com.amazonaws.services.s3.AmazonS3Client
com.amazonaws.AmazonClientException
com.amazonaws.AmazonServiceException
public 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.AmazonS3
putObject
in interface com.amazonaws.services.s3.internal.S3DirectSpi
putObject
in class com.amazonaws.services.s3.AmazonS3Client
com.amazonaws.AmazonClientException
com.amazonaws.AmazonServiceException
public 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.AmazonS3
listObjects
in class com.amazonaws.services.s3.AmazonS3Client
com.amazonaws.AmazonClientException
com.amazonaws.AmazonServiceException
public 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.AmazonS3
listObjectsV2
in class com.amazonaws.services.s3.AmazonS3Client
com.amazonaws.AmazonClientException
com.amazonaws.AmazonServiceException
public 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.AmazonS3
completeMultipartUpload
in interface com.amazonaws.services.s3.internal.S3DirectSpi
completeMultipartUpload
in class com.amazonaws.services.s3.AmazonS3Client
com.amazonaws.SdkClientException
com.amazonaws.AmazonServiceException
public 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.AmazonS3
uploadPart
in interface com.amazonaws.services.s3.internal.S3DirectSpi
uploadPart
in class com.amazonaws.services.s3.AmazonS3Client
com.amazonaws.SdkClientException
com.amazonaws.AmazonServiceException
public 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.AmazonS3
initiateMultipartUpload
in interface com.amazonaws.services.s3.internal.S3DirectSpi
initiateMultipartUpload
in class com.amazonaws.services.s3.AmazonS3Client
com.amazonaws.SdkClientException
com.amazonaws.AmazonServiceException
public 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.AmazonS3
listMultipartUploads
in class com.amazonaws.services.s3.AmazonS3Client
com.amazonaws.SdkClientException
com.amazonaws.AmazonServiceException
public 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.AmazonS3
getObject
in interface com.amazonaws.services.s3.internal.S3DirectSpi
getObject
in class com.amazonaws.services.s3.AmazonS3Client
com.amazonaws.SdkClientException
com.amazonaws.AmazonServiceException
public 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.AmazonS3
getObject
in class com.amazonaws.services.s3.AmazonS3Client
com.amazonaws.SdkClientException
com.amazonaws.AmazonServiceException
Copyright © 2008–2020 Apache Software Foundation. All rights reserved.