This is an automated email from the ASF dual-hosted git repository. elek pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/hadoop-ozone.git
The following commit(s) were added to refs/heads/master by this push: new a123b4e HDDS-4022. Ozone s3 API return 400 Bad Request for head-bucket for non existing bucket. (#1251) a123b4e is described below commit a123b4ef6d4e9804d298390ca1a8aeb8e64e62a5 Author: Bharat Viswanadham <bha...@apache.org> AuthorDate: Mon Jul 27 04:23:25 2020 -0700 HDDS-4022. Ozone s3 API return 400 Bad Request for head-bucket for non existing bucket. (#1251) --- hadoop-ozone/dist/src/main/smoketest/s3/buckethead.robot | 5 +++-- .../org/apache/hadoop/ozone/s3/endpoint/BucketEndpoint.java | 8 +------- .../org/apache/hadoop/ozone/s3/endpoint/TestBucketHead.java | 11 +++++++++-- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/hadoop-ozone/dist/src/main/smoketest/s3/buckethead.robot b/hadoop-ozone/dist/src/main/smoketest/s3/buckethead.robot index 7666871..f3ecd01 100644 --- a/hadoop-ozone/dist/src/main/smoketest/s3/buckethead.robot +++ b/hadoop-ozone/dist/src/main/smoketest/s3/buckethead.robot @@ -31,5 +31,6 @@ ${BUCKET} generated Head Bucket not existent ${result} = Execute AWSS3APICli head-bucket --bucket ${BUCKET} ${result} = Execute AWSS3APICli and checkrc head-bucket --bucket ozonenosuchbucketqqweqwe 255 - Should contain ${result} Bad Request - Should contain ${result} 400 + Should contain ${result} 404 + Should contain ${result} Not Found + diff --git a/hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/endpoint/BucketEndpoint.java b/hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/endpoint/BucketEndpoint.java index ef02510..067d6a4 100644 --- a/hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/endpoint/BucketEndpoint.java +++ b/hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/endpoint/BucketEndpoint.java @@ -31,7 +31,6 @@ import javax.ws.rs.core.Context; import javax.ws.rs.core.HttpHeaders; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; -import javax.ws.rs.core.Response.Status; import java.io.IOException; import java.io.InputStream; import java.util.Iterator; @@ -253,12 +252,7 @@ public class BucketEndpoint extends EndpointBase { getBucket(bucketName); } catch (OS3Exception ex) { LOG.error("Exception occurred in headBucket", ex); - //TODO: use a subclass fo OS3Exception and catch it here. - if (ex.getCode().contains("NoSuchBucket")) { - return Response.status(Status.BAD_REQUEST).build(); - } else { - throw ex; - } + throw ex; } return Response.ok().build(); } diff --git a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestBucketHead.java b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestBucketHead.java index 6f991e6..18b4b2c 100644 --- a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestBucketHead.java +++ b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestBucketHead.java @@ -26,7 +26,10 @@ import org.apache.hadoop.ozone.OzoneConsts; import org.apache.hadoop.ozone.client.OzoneClient; import org.apache.hadoop.ozone.client.OzoneClientStub; +import org.apache.hadoop.ozone.s3.exception.OS3Exception; import org.junit.Assert; + +import static java.net.HttpURLConnection.HTTP_NOT_FOUND; import static org.junit.Assert.assertEquals; import org.junit.Before; import org.junit.Test; @@ -60,7 +63,11 @@ public class TestBucketHead { @Test public void testHeadFail() throws Exception { - Response response = bucketEndpoint.head("unknownbucket"); - Assert.assertEquals(400, response.getStatus()); + try { + bucketEndpoint.head("unknownbucket"); + } catch (OS3Exception ex) { + Assert.assertEquals(HTTP_NOT_FOUND, ex.getHttpCode()); + Assert.assertEquals("NoSuchBucket", ex.getCode()); + } } } --------------------------------------------------------------------- To unsubscribe, e-mail: ozone-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: ozone-commits-h...@hadoop.apache.org