Author: amitj
Date: Wed Jul 1 06:09:32 2020
New Revision: 1879390
URL: http://svn.apache.org/viewvc?rev=1879390&view=rev
Log:
OAK-9128: Support s3 regions apart from default AWS regions
Merge r1879352 from trunk
Modified:
jackrabbit/oak/branches/1.22/ (props changed)
jackrabbit/oak/branches/1.22/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/S3Backend.java
Propchange: jackrabbit/oak/branches/1.22/
------------------------------------------------------------------------------
Merged /jackrabbit/oak/trunk:r1879352
Modified:
jackrabbit/oak/branches/1.22/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/S3Backend.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.22/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/S3Backend.java?rev=1879390&r1=1879389&r2=1879390&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.22/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/S3Backend.java
(original)
+++
jackrabbit/oak/branches/1.22/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/S3Backend.java
Wed Jul 1 06:09:32 2020
@@ -176,28 +176,22 @@ public class S3Backend extends AbstractS
}
}
String region = properties.getProperty(S3Constants.S3_REGION);
- Region s3Region;
+
if (StringUtils.isNullOrEmpty(region)) {
com.amazonaws.regions.Region ec2Region =
Regions.getCurrentRegion();
if (ec2Region != null) {
- s3Region = Region.fromValue(ec2Region.getName());
+ region = ec2Region.getName();
} else {
throw new AmazonClientException(
"parameter ["
+ S3Constants.S3_REGION
+ "] not configured and cannot be derived
from environment");
}
- } else {
- if (Utils.DEFAULT_AWS_BUCKET_REGION.equals(region)) {
- s3Region = Region.US_Standard;
- } else if (Region.EU_Ireland.toString().equals(region)) {
- s3Region = Region.EU_Ireland;
- } else {
- s3Region = Region.fromValue(region);
- }
+ } else if (Utils.DEFAULT_AWS_BUCKET_REGION.equals(region)) {
+ region = Region.US_Standard.toString();
}
- createBucketIfNeeded(s3Region);
+ createBucketIfNeeded(region);
int writeThreads = 10;
String writeThreadsStr =
properties.getProperty(S3Constants.S3_WRITE_THREADS);
@@ -265,24 +259,24 @@ public class S3Backend extends AbstractS
}
}
- private void createBucketIfNeeded(@NotNull final Region s3Region) {
+ private void createBucketIfNeeded(final String region) {
try {
if (!s3service.doesBucketExist(bucket)) {
- CreateBucketRequest req = new CreateBucketRequest(bucket,
s3Region);
+ CreateBucketRequest req = new CreateBucketRequest(bucket,
region);
s3service.createBucket(req);
if (Utils.waitForBucket(s3service, bucket)) {
LOG.error("Bucket [{}] does not exist in [{}] and was not
automatically created",
- bucket, s3Region.name());
+ bucket, region);
return;
}
- LOG.info("Created bucket [{}] in [{}] ", bucket,
s3Region.name());
+ LOG.info("Created bucket [{}] in [{}] ", bucket, region);
} else {
- LOG.info("Using bucket [{}] in [{}] ", bucket,
s3Region.name());
+ LOG.info("Using bucket [{}] in [{}] ", bucket, region);
}
}
catch (SdkClientException awsException) {
LOG.error("Attempt to create S3 bucket [{}] in [{}] failed",
- bucket, s3Region.name(), awsException);
+ bucket, region, awsException);
}
}