Skip to content

Commit b1eb28d

Browse files
committed
HADOOP-16478 tune patch
-review amazon Region.fromValue code and mirror it -add test for null handling (which comes from the Region code) Change-Id: Ibf4e72454ad8413b9b7ce4c57ffb6cc23886fe3f
1 parent f2a3951 commit b1eb28d

File tree

4 files changed

+21
-13
lines changed

4 files changed

+21
-13
lines changed

hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/impl/NetworkBinding.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -115,13 +115,14 @@ public static void bindSSLChannelMode(Configuration conf,
115115
* Given an S3 bucket region as returned by a bucket location query,
116116
* fix it into a form which can be used by other AWS commands.
117117
* https://forums.aws.amazon.com/thread.jspa?messageID=796829&tstart=0
118+
* See also {@code com.amazonaws.services.s3.model.Region.fromValue()}
119+
* for its conversion logic.
118120
* @param region region from S3 call.
119121
* @return the region to use in DDB etc.
120122
*/
121-
public static String fixBucketRegion(String region) {
122-
if (region.equals("US")) {
123-
region = "us-east-1";
124-
}
125-
return region;
123+
public static String fixBucketRegion(final String region) {
124+
return region == null || region.equals("US")
125+
? "us-east-1"
126+
: region;
126127
}
127128
}

hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/s3guard/DynamoDBMetadataStore.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -400,7 +400,7 @@ public void initialize(FileSystem fs, ITtlTimeProvider ttlTp)
400400
// access denied here == can't call getBucket. Report meaningfully
401401
URI uri = owner.getUri();
402402
String message =
403-
"Failed to get bucket location as S3 client role lacks permission "
403+
"Failed to get bucket location as client lacks permission "
404404
+ RolePolicies.S3_GET_BUCKET_LOCATION + " for " + uri;
405405
LOG.error(message);
406406
throw (IOException)new AccessDeniedException(message).initCause(e);

hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/s3guard/S3GuardTool.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1160,7 +1160,6 @@ public static class BucketInfo extends S3GuardTool {
11601160

11611161
public static final String PURPOSE = "provide/check S3Guard information"
11621162
+ " about a specific bucket";
1163-
11641163
private static final String USAGE = NAME + " [OPTIONS] s3a://BUCKET\n"
11651164
+ "\t" + PURPOSE + "\n\n"
11661165
+ "Common options:\n"

hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/impl/TestNeworkBinding.java

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,19 +30,27 @@
3030
*/
3131
public class TestNeworkBinding extends HadoopTestBase {
3232

33+
private static final String US_EAST_1 = "us-east-1";
34+
private static final String US_WEST_2 = "us-west-2";
35+
36+
@Test
37+
public void testUSEast() {
38+
assertRegionFixup(US_EAST_1, US_EAST_1);
39+
}
40+
3341
@Test
34-
public void testUSEast() throws Throwable {
35-
assertRegionFixup("us-east-1", "us-east-1");
42+
public void testUSWest() {
43+
assertRegionFixup(US_WEST_2, US_WEST_2);
3644
}
3745

3846
@Test
39-
public void testUSWest() throws Throwable {
40-
assertRegionFixup("us-west-2", "us-west-2");
47+
public void testRegionUStoUSEast() {
48+
assertRegionFixup("US", US_EAST_1);
4149
}
4250

4351
@Test
44-
public void testRegionUStoUSEast() throws Throwable {
45-
assertRegionFixup("US", "us-east-1");
52+
public void testRegionNullToUSEast() {
53+
assertRegionFixup(null, US_EAST_1);
4654
}
4755

4856
private static void assertRegionFixup(String region, String expected) {

0 commit comments

Comments
 (0)