Przemysław Sobala created JCLOUDS-1567:
------------------------------------------
Summary: PROPERTY_MAX_RETRIES does not work with S3
Key: JCLOUDS-1567
URL: https://issues.apache.org/jira/browse/JCLOUDS-1567
Project: jclouds
Issue Type: Bug
Components: jclouds-blobstore
Affects Versions: 2.3.0
Reporter: Przemysław Sobala
Hi
I'm using the following code to upload a file to a S3 storage:
{code:java}
final Properties overrides = new Properties();
overrides.setProperty(PROPERTY_MAX_RETRIES, 2 + "");
overrides.setProperty(PROPERTY_S3_VIRTUAL_HOST_BUCKETS, "true");
final BlobStoreContext conn = ContextBuilder.newBuilder("s3")
.credentials(accessKey, secretKey)
.endpoint(endpoint)
.overrides(overrides)
.buildView(BlobStoreContext.class);
store = conn.getBlobStore();
Blob blob = store.blobBuilder(out.toString())
.payload(in)
.contentLength(in.length())
.contentType(Files.probeContentType(in.toPath()))
.cacheControl("max-age=" + CACHE_CONTROL_MAX_AGE)
.build();
PutOptions putOptions = new PutOptions();
putOptions.setBlobAccess(BlobAccess.PUBLIC_READ);
if (in.length() > MULTIPART_UPLOAD_THRESHOLD) {
putOptions.multipart();
}
store.putBlob(bucket, blob, putOptions);{code}
But setting {{PROPERTY_MAX_RETRIES}} to a value of 2 does not work and still
tries 5 times:
{code:java}
SEVERE: Cannot retry after server error, command has exceeded retry limit 5:
[method=org.jclouds.s3.S3Client.public abstract java.lang.String
org.jclouds.s3.S3Client.putObject(java.lang.String,org.jclouds.s3.domain.S3Object,org.jclouds.s3.options.PutObjectOptions[])[devel,
[metadata=[key=live/test2_1615557956853.dat, bucket=null, uri=null, eTag=null,
cacheControl=null, contentMetadata=[cacheControl=max-age=14400,
contentDisposition=null, contentEncoding=null, contentLanguage=null,
contentLength=59093544, contentMD5=null, contentType=video/mp4, expires=null],
lastModified=null, owner=null, storageClass=STANDARD, userMetadata={}]],
[Lorg.jclouds.s3.options.PutObjectOptions;@3ecedf21], request=PUT
http://devel.localhost/live/test2_1615557956853.dat HTTP/1.1] {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)