You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@jclouds.apache.org by "Przemysław Sobala (Jira)" <ji...@apache.org> on 2021/03/12 14:21:00 UTC

[jira] [Created] (JCLOUDS-1567) PROPERTY_MAX_RETRIES does not work with S3

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)