This is an automated email from the ASF dual-hosted git repository.
adoroszlai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git
The following commit(s) were added to refs/heads/master by this push:
new a0be99a3ba HDDS-12095. Include AWS request ID in S3G audit logs (#7725)
a0be99a3ba is described below
commit a0be99a3ba3258eff4b409f76cd5ccb6ca7cda91
Author: Peter Lee <[email protected]>
AuthorDate: Wed Jan 22 02:53:12 2025 +0800
HDDS-12095. Include AWS request ID in S3G audit logs (#7725)
---
.../hadoop/ozone/TestMultipartObjectGet.java | 2 ++
.../hadoop/ozone/s3/endpoint/EndpointBase.java | 12 ++++++++++++
.../hadoop/ozone/s3/endpoint/RootEndpoint.java | 5 ++---
.../hadoop/ozone/s3/TestS3GatewayAuditLog.java | 22 +++++++++++++++-------
.../s3/endpoint/TestAbortMultipartUpload.java | 2 ++
.../hadoop/ozone/s3/endpoint/TestBucketAcl.java | 2 ++
.../hadoop/ozone/s3/endpoint/TestBucketDelete.java | 2 ++
.../hadoop/ozone/s3/endpoint/TestBucketHead.java | 2 ++
.../hadoop/ozone/s3/endpoint/TestBucketList.java | 21 ++++++++++++++++-----
.../hadoop/ozone/s3/endpoint/TestBucketPut.java | 2 ++
.../s3/endpoint/TestInitiateMultipartUpload.java | 3 +++
.../s3/endpoint/TestMultipartUploadComplete.java | 3 +++
.../s3/endpoint/TestMultipartUploadWithCopy.java | 2 ++
.../hadoop/ozone/s3/endpoint/TestObjectDelete.java | 2 ++
.../hadoop/ozone/s3/endpoint/TestObjectGet.java | 2 ++
.../hadoop/ozone/s3/endpoint/TestObjectHead.java | 2 ++
.../ozone/s3/endpoint/TestObjectMultiDelete.java | 3 +++
.../hadoop/ozone/s3/endpoint/TestObjectPut.java | 2 ++
.../ozone/s3/endpoint/TestObjectTaggingDelete.java | 4 +++-
.../ozone/s3/endpoint/TestObjectTaggingGet.java | 2 ++
.../ozone/s3/endpoint/TestObjectTaggingPut.java | 3 +++
.../hadoop/ozone/s3/endpoint/TestPartUpload.java | 4 ++++
.../s3/endpoint/TestPartUploadWithStream.java | 2 ++
.../ozone/s3/endpoint/TestPermissionCheck.java | 21 +++++++++++++++++----
.../hadoop/ozone/s3/endpoint/TestRootList.java | 2 ++
.../ozone/s3/endpoint/TestUploadWithStream.java | 2 ++
.../ozone/s3/metrics/TestS3GatewayMetrics.java | 6 ++++++
27 files changed, 117 insertions(+), 20 deletions(-)
diff --git
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/TestMultipartObjectGet.java
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/TestMultipartObjectGet.java
index 2a15068300..0c9af3b2ad 100644
---
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/TestMultipartObjectGet.java
+++
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/TestMultipartObjectGet.java
@@ -23,6 +23,7 @@
import org.apache.hadoop.hdds.utils.IOUtils;
import org.apache.hadoop.ozone.client.OzoneClient;
import org.apache.hadoop.ozone.om.OzoneManager;
+import org.apache.hadoop.ozone.s3.RequestIdentifier;
import org.apache.hadoop.ozone.s3.endpoint.CompleteMultipartUploadRequest;
import org.apache.hadoop.ozone.s3.endpoint.CompleteMultipartUploadResponse;
import org.apache.hadoop.ozone.s3.endpoint.MultipartUploadInitiateResponse;
@@ -98,6 +99,7 @@ public static void init() throws Exception {
REST.setClient(client);
REST.setOzoneConfiguration(conf);
REST.setContext(context);
+ REST.setRequestIdentifier(new RequestIdentifier());
S3GatewayMetrics.create(conf);
}
diff --git
a/hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/endpoint/EndpointBase.java
b/hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/endpoint/EndpointBase.java
index fbb0614c4f..6052546270 100644
---
a/hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/endpoint/EndpointBase.java
+++
b/hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/endpoint/EndpointBase.java
@@ -80,6 +80,8 @@
import static org.apache.hadoop.ozone.s3.util.S3Consts.TAG_REGEX_PATTERN;
import static org.apache.hadoop.ozone.s3.util.S3Consts.TAG_VALUE_LENGTH_LIMIT;
+import org.apache.hadoop.ozone.s3.RequestIdentifier;
+
/**
* Basic helpers for all the REST endpoints.
*/
@@ -91,6 +93,8 @@ public abstract class EndpointBase implements Auditor {
private OzoneClient client;
@Inject
private SignatureInfo signatureInfo;
+ @Inject
+ private RequestIdentifier requestIdentifier;
private S3Auth s3Auth;
@Context
@@ -443,6 +447,9 @@ protected static <KV> Map<String, String>
validateAndGetTagging(
private AuditMessage.Builder auditMessageBaseBuilder(AuditAction op,
Map<String, String> auditMap) {
+ auditMap.put("x-amz-request-id", requestIdentifier.getRequestId());
+ auditMap.put("x-amz-id-2", requestIdentifier.getAmzId());
+
AuditMessage.Builder builder = new AuditMessage.Builder()
.forOperation(op)
.withParams(auditMap);
@@ -488,6 +495,11 @@ public void setClient(OzoneClient ozoneClient) {
this.client = ozoneClient;
}
+ @VisibleForTesting
+ public void setRequestIdentifier(RequestIdentifier requestIdentifier) {
+ this.requestIdentifier = requestIdentifier;
+ }
+
public OzoneClient getClient() {
return client;
}
diff --git
a/hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/endpoint/RootEndpoint.java
b/hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/endpoint/RootEndpoint.java
index 09360b6395..1e49c3d5f6 100644
---
a/hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/endpoint/RootEndpoint.java
+++
b/hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/endpoint/RootEndpoint.java
@@ -21,7 +21,6 @@
import javax.ws.rs.Path;
import javax.ws.rs.core.Response;
import java.io.IOException;
-import java.util.Collections;
import java.util.Iterator;
import org.apache.hadoop.ozone.audit.S3GAction;
@@ -78,14 +77,14 @@ public Response get()
auditSuccess = false;
AUDIT.logReadFailure(
buildAuditMessageForFailure(S3GAction.LIST_S3_BUCKETS,
- Collections.emptyMap(), ex)
+ getAuditParameters(), ex)
);
throw ex;
} finally {
if (auditSuccess) {
AUDIT.logReadSuccess(
buildAuditMessageForSuccess(S3GAction.LIST_S3_BUCKETS,
- Collections.emptyMap())
+ getAuditParameters())
);
}
}
diff --git
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/TestS3GatewayAuditLog.java
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/TestS3GatewayAuditLog.java
index 0b73e04502..0f2334960e 100644
---
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/TestS3GatewayAuditLog.java
+++
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/TestS3GatewayAuditLog.java
@@ -69,14 +69,15 @@ public class TestS3GatewayAuditLog {
private ObjectEndpoint keyEndpoint;
private OzoneBucket bucket;
private Map<String, String> parametersMap = new HashMap<>();
+ private RequestIdentifier requestIdentifier;
@BeforeEach
public void setup() throws Exception {
-
parametersMap.clear();
clientStub = new OzoneClientStub();
clientStub.getObjectStore().createS3Bucket(bucketName);
bucket = clientStub.getObjectStore().getS3Bucket(bucketName);
+ requestIdentifier = new RequestIdentifier();
bucketEndpoint = new BucketEndpoint() {
@Override
@@ -85,9 +86,10 @@ protected Map<String, String> getAuditParameters() {
}
};
bucketEndpoint.setClient(clientStub);
-
+ bucketEndpoint.setRequestIdentifier(requestIdentifier);
rootEndpoint = new RootEndpoint();
rootEndpoint.setClient(clientStub);
+ rootEndpoint.setRequestIdentifier(requestIdentifier);
keyEndpoint = new ObjectEndpoint() {
@Override
@@ -97,7 +99,7 @@ protected Map<String, String> getAuditParameters() {
};
keyEndpoint.setClient(clientStub);
keyEndpoint.setOzoneConfiguration(new OzoneConfiguration());
-
+ keyEndpoint.setRequestIdentifier(requestIdentifier);
}
@AfterAll
@@ -116,8 +118,11 @@ public void testHeadBucket() throws Exception {
parametersMap.put("bucket", "[bucket]");
bucketEndpoint.head(bucketName);
+
String expected = "INFO | S3GAudit | ? | user=null | ip=null | " +
- "op=HEAD_BUCKET {bucket=[bucket]} | ret=SUCCESS";
+ "op=HEAD_BUCKET {bucket=[bucket], x-amz-request-id=" +
+ requestIdentifier.getRequestId() + ", x-amz-id-2=" +
+ requestIdentifier.getAmzId() + "} | ret=SUCCESS";
verifyLog(expected);
}
@@ -126,7 +131,9 @@ public void testListBucket() throws Exception {
rootEndpoint.get().getEntity();
String expected = "INFO | S3GAudit | ? | user=null | ip=null | " +
- "op=LIST_S3_BUCKETS {} | ret=SUCCESS";
+ "op=LIST_S3_BUCKETS {x-amz-request-id=" +
+ requestIdentifier.getRequestId() + ", x-amz-id-2=" +
+ requestIdentifier.getAmzId() + "} | ret=SUCCESS";
verifyLog(expected);
}
@@ -145,9 +152,10 @@ public void testHeadObject() throws Exception {
keyEndpoint.head(bucketName, "key1");
String expected = "INFO | S3GAudit | ? | user=null | ip=null | " +
- "op=HEAD_KEY {bucket=[bucket], path=[key1]} | ret=SUCCESS";
+ "op=HEAD_KEY {bucket=[bucket], path=[key1], x-amz-request-id=" +
+ requestIdentifier.getRequestId() + ", x-amz-id-2=" +
+ requestIdentifier.getAmzId() + "} | ret=SUCCESS";
verifyLog(expected);
-
}
private void verifyLog(String expectedString) throws IOException {
diff --git
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestAbortMultipartUpload.java
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestAbortMultipartUpload.java
index 1356b50ad3..c4781509b5 100644
---
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestAbortMultipartUpload.java
+++
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestAbortMultipartUpload.java
@@ -23,6 +23,7 @@
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.RequestIdentifier;
import org.apache.hadoop.ozone.s3.exception.OS3Exception;
import org.apache.hadoop.ozone.s3.exception.S3ErrorTable;
@@ -58,6 +59,7 @@ public void testAbortMultipartUpload() throws Exception {
rest.setHeaders(headers);
rest.setClient(client);
rest.setOzoneConfiguration(new OzoneConfiguration());
+ rest.setRequestIdentifier(new RequestIdentifier());
Response response = rest.initializeMultipartUpload(bucket, key);
diff --git
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestBucketAcl.java
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestBucketAcl.java
index 16c8a793d0..5f1f4d31fc 100644
---
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestBucketAcl.java
+++
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestBucketAcl.java
@@ -24,6 +24,7 @@
import org.apache.hadoop.ozone.client.OzoneClient;
import org.apache.hadoop.ozone.client.OzoneClientStub;
import org.apache.hadoop.ozone.client.OzoneVolume;
+import org.apache.hadoop.ozone.s3.RequestIdentifier;
import org.apache.hadoop.ozone.s3.exception.OS3Exception;
import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer;
@@ -73,6 +74,7 @@ public void setup() throws IOException {
bucketEndpoint = new BucketEndpoint();
bucketEndpoint.setClient(client);
+ bucketEndpoint.setRequestIdentifier(new RequestIdentifier());
}
@AfterEach
diff --git
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestBucketDelete.java
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestBucketDelete.java
index cd5639b78c..04aca4e274 100644
---
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestBucketDelete.java
+++
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestBucketDelete.java
@@ -27,6 +27,7 @@
import org.apache.hadoop.ozone.client.ObjectStoreStub;
import org.apache.hadoop.ozone.client.OzoneClient;
import org.apache.hadoop.ozone.client.OzoneClientStub;
+import org.apache.hadoop.ozone.s3.RequestIdentifier;
import org.apache.hadoop.ozone.s3.exception.OS3Exception;
import org.apache.hadoop.ozone.s3.exception.S3ErrorTable;
@@ -59,6 +60,7 @@ public void setup() throws Exception {
// Create HeadBucket and setClient to OzoneClientStub
bucketEndpoint = new BucketEndpoint();
bucketEndpoint.setClient(clientStub);
+ bucketEndpoint.setRequestIdentifier(new RequestIdentifier());
}
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 2445a54060..f85f42d293 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
@@ -25,6 +25,7 @@
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.RequestIdentifier;
import org.apache.hadoop.ozone.s3.exception.OS3Exception;
import static java.net.HttpURLConnection.HTTP_NOT_FOUND;
@@ -51,6 +52,7 @@ public void setup() throws Exception {
// Create HeadBucket and setClient to OzoneClientStub
bucketEndpoint = new BucketEndpoint();
bucketEndpoint.setClient(clientStub);
+ bucketEndpoint.setRequestIdentifier(new RequestIdentifier());
}
@Test
diff --git
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestBucketList.java
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestBucketList.java
index 638ac73ebd..69bc535080 100644
---
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestBucketList.java
+++
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestBucketList.java
@@ -24,6 +24,7 @@
import org.apache.hadoop.ozone.client.OzoneBucket;
import org.apache.hadoop.ozone.client.OzoneClient;
import org.apache.hadoop.ozone.client.OzoneClientStub;
+import org.apache.hadoop.ozone.s3.RequestIdentifier;
import org.apache.hadoop.ozone.s3.commontypes.EncodingTypeObject;
import org.apache.hadoop.ozone.s3.exception.OS3Exception;
import org.apache.hadoop.ozone.s3.exception.S3ErrorTable;
@@ -54,6 +55,7 @@ public void listRoot() throws OS3Exception, IOException {
OzoneClient client = createClientWithKeys("file1", "dir1/file2");
getBucket.setClient(client);
+ getBucket.setRequestIdentifier(new RequestIdentifier());
ListObjectResponse getBucketResponse =
(ListObjectResponse) getBucket.get("b1", "/", null, null, 100, "",
@@ -78,6 +80,7 @@ public void listDir() throws OS3Exception, IOException {
OzoneClient client = createClientWithKeys("dir1/file2", "dir1/dir2/file2");
getBucket.setClient(client);
+ getBucket.setRequestIdentifier(new RequestIdentifier());
ListObjectResponse getBucketResponse =
(ListObjectResponse) getBucket.get("b1", "/", null, null, 100,
@@ -101,7 +104,7 @@ public void listSubDir() throws OS3Exception, IOException {
"dir1bha/file2");
getBucket.setClient(ozoneClient);
-
+ getBucket.setRequestIdentifier(new RequestIdentifier());
ListObjectResponse getBucketResponse =
(ListObjectResponse) getBucket
.get("b1", "/", null, null, 100, "dir1/", null,
@@ -138,6 +141,7 @@ public void listObjectOwner() throws OS3Exception,
IOException {
bucket.createKey("key2", 0).close();
getBucket.setClient(client);
+ getBucket.setRequestIdentifier(new RequestIdentifier());
ListObjectResponse getBucketResponse =
(ListObjectResponse) getBucket.get("b1", "/", null, null, 100,
"key", null, null, null, null, null).getEntity();
@@ -160,6 +164,7 @@ public void listWithPrefixAndDelimiter() throws
OS3Exception, IOException {
"dir1bha/file2", "file2");
getBucket.setClient(ozoneClient);
+ getBucket.setRequestIdentifier(new RequestIdentifier());
ListObjectResponse getBucketResponse =
(ListObjectResponse) getBucket.get("b1", "/", null, null, 100,
@@ -179,6 +184,7 @@ public void listWithPrefixAndDelimiter1() throws
OS3Exception, IOException {
"dir1bha/file2", "file2");
getBucket.setClient(ozoneClient);
+ getBucket.setRequestIdentifier(new RequestIdentifier());
ListObjectResponse getBucketResponse =
(ListObjectResponse) getBucket.get("b1", "/", null, null, 100,
@@ -200,7 +206,7 @@ public void listWithPrefixAndDelimiter2() throws
OS3Exception, IOException {
"dir1bha/file2", "file2");
getBucket.setClient(ozoneClient);
-
+ getBucket.setRequestIdentifier(new RequestIdentifier());
ListObjectResponse getBucketResponse =
(ListObjectResponse) getBucket.get("b1", "/", null, null, 100,
"dir1bh",
null, "dir1/dir2/file2", null, null, null).getEntity();
@@ -219,7 +225,7 @@ public void listWithPrefixAndEmptyStrDelimiter()
"dir1/dir2/file2");
getBucket.setClient(ozoneClient);
-
+ getBucket.setRequestIdentifier(new RequestIdentifier());
// Should behave the same if delimiter is null
ListObjectResponse getBucketResponse =
(ListObjectResponse) getBucket.get("b1", "", null, null, 100, "dir1/",
@@ -248,7 +254,7 @@ public void listWithContinuationToken() throws
OS3Exception, IOException {
"dir1bha/file2", "file2");
getBucket.setClient(ozoneClient);
-
+ getBucket.setRequestIdentifier(new RequestIdentifier());
int maxKeys = 2;
// As we have 5 keys, with max keys 2 we should call list 3 times.
@@ -299,6 +305,7 @@ public void listWithContinuationTokenDirBreak()
"test/file8");
getBucket.setClient(ozoneClient);
+ getBucket.setRequestIdentifier(new RequestIdentifier());
int maxKeys = 2;
@@ -342,6 +349,7 @@ public void listWithContinuationToken1() throws
OS3Exception, IOException {
"dir1bha/file1", "dir0/file1", "dir2/file1");
getBucket.setClient(ozoneClient);
+ getBucket.setRequestIdentifier(new RequestIdentifier());
int maxKeys = 2;
// As we have 5 keys, with max keys 2 we should call list 3 times.
@@ -383,6 +391,7 @@ public void listWithContinuationTokenFail() throws
IOException {
"dir1bha/file2", "dir1", "dir2", "dir3");
getBucket.setClient(ozoneClient);
+ getBucket.setRequestIdentifier(new RequestIdentifier());
OS3Exception e = assertThrows(OS3Exception.class, () -> getBucket.get("b1",
"/", null, null, 2, "dir", "random", null, null, null, null)
@@ -401,6 +410,7 @@ public void testStartAfter() throws IOException,
OS3Exception {
"dir1bha/file1", "dir0/file1", "dir2/file1");
getBucket.setClient(ozoneClient);
+ getBucket.setRequestIdentifier(new RequestIdentifier());
ListObjectResponse getBucketResponse =
(ListObjectResponse) getBucket.get("b1", null, null, null, 1000,
@@ -460,6 +470,7 @@ public void testEncodingType() throws IOException,
OS3Exception {
OzoneClient ozoneClient =
createClientWithKeys("data=1970", "data==1970");
getBucket.setClient(ozoneClient);
+ getBucket.setRequestIdentifier(new RequestIdentifier());
String delimiter = "=";
String prefix = "data=";
@@ -508,7 +519,7 @@ public void testEncodingTypeException() throws IOException {
OzoneClient client = new OzoneClientStub();
client.getObjectStore().createS3Bucket("b1");
getBucket.setClient(client);
-
+ getBucket.setRequestIdentifier(new RequestIdentifier());
OS3Exception e = assertThrows(OS3Exception.class, () -> getBucket.get(
"b1", null, "unSupportType", null, 1000, null,
null, null, null, null, null).getEntity());
diff --git
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestBucketPut.java
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestBucketPut.java
index 17c83aa44b..2a575a2e72 100644
---
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestBucketPut.java
+++
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestBucketPut.java
@@ -26,6 +26,7 @@
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.RequestIdentifier;
import org.apache.hadoop.ozone.s3.exception.OS3Exception;
import static java.net.HttpURLConnection.HTTP_CONFLICT;
@@ -58,6 +59,7 @@ public void setup() throws Exception {
// Create HeadBucket and setClient to OzoneClientStub
bucketEndpoint = new BucketEndpoint();
bucketEndpoint.setClient(clientStub);
+ bucketEndpoint.setRequestIdentifier(new RequestIdentifier());
}
@Test
diff --git
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestInitiateMultipartUpload.java
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestInitiateMultipartUpload.java
index 500010f63d..0954b7b2f5 100644
---
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestInitiateMultipartUpload.java
+++
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestInitiateMultipartUpload.java
@@ -25,6 +25,8 @@
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.RequestIdentifier;
+
import jakarta.annotation.Nonnull;
import org.junit.jupiter.api.Test;
@@ -99,6 +101,7 @@ private ObjectEndpoint getObjectEndpoint(OzoneClient client,
rest.setHeaders(headers);
rest.setClient(client);
rest.setOzoneConfiguration(new OzoneConfiguration());
+ rest.setRequestIdentifier(new RequestIdentifier());
return rest;
}
}
diff --git
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestMultipartUploadComplete.java
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestMultipartUploadComplete.java
index 4c5e2b53d9..d9da4ed866 100644
---
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestMultipartUploadComplete.java
+++
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestMultipartUploadComplete.java
@@ -42,6 +42,8 @@
import java.util.List;
import java.util.Map;
import java.util.UUID;
+
+import org.apache.hadoop.ozone.s3.RequestIdentifier;
import org.apache.hadoop.ozone.s3.endpoint.CompleteMultipartUploadRequest.Part;
import static java.nio.charset.StandardCharsets.UTF_8;
@@ -74,6 +76,7 @@ public static void setUp() throws Exception {
REST.setHeaders(HEADERS);
REST.setClient(CLIENT);
REST.setOzoneConfiguration(new OzoneConfiguration());
+ REST.setRequestIdentifier(new RequestIdentifier());
}
private String initiateMultipartUpload(String key) throws IOException,
diff --git
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestMultipartUploadWithCopy.java
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestMultipartUploadWithCopy.java
index 6894fc4abe..1f08b2c65c 100644
---
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestMultipartUploadWithCopy.java
+++
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestMultipartUploadWithCopy.java
@@ -42,6 +42,7 @@
import org.apache.hadoop.ozone.client.OzoneClient;
import org.apache.hadoop.ozone.client.OzoneClientStub;
import org.apache.hadoop.ozone.client.OzoneMultipartUploadPartListParts;
+import org.apache.hadoop.ozone.s3.RequestIdentifier;
import org.apache.hadoop.ozone.s3.endpoint.CompleteMultipartUploadRequest.Part;
import org.apache.hadoop.ozone.s3.exception.OS3Exception;
import org.apache.hadoop.ozone.s3.exception.S3ErrorTable;
@@ -127,6 +128,7 @@ public static void setUp() throws Exception {
REST.setHeaders(headers);
REST.setClient(CLIENT);
REST.setOzoneConfiguration(new OzoneConfiguration());
+ REST.setRequestIdentifier(new RequestIdentifier());
}
@Test
diff --git
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestObjectDelete.java
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestObjectDelete.java
index 340ed1984e..af4b6f92f9 100644
---
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestObjectDelete.java
+++
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestObjectDelete.java
@@ -26,6 +26,7 @@
import org.apache.hadoop.ozone.client.OzoneBucket;
import org.apache.hadoop.ozone.client.OzoneClient;
import org.apache.hadoop.ozone.client.OzoneClientStub;
+import org.apache.hadoop.ozone.s3.RequestIdentifier;
import org.apache.hadoop.ozone.s3.exception.OS3Exception;
import org.junit.jupiter.api.Test;
@@ -48,6 +49,7 @@ public void delete() throws IOException, OS3Exception {
ObjectEndpoint rest = new ObjectEndpoint();
rest.setClient(client);
+ rest.setRequestIdentifier(new RequestIdentifier());
rest.setOzoneConfiguration(new OzoneConfiguration());
//WHEN
diff --git
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestObjectGet.java
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestObjectGet.java
index 048faabcef..af1564110b 100644
---
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestObjectGet.java
+++
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestObjectGet.java
@@ -34,6 +34,7 @@
import org.apache.hadoop.ozone.client.OzoneClient;
import org.apache.hadoop.ozone.client.OzoneClientStub;
import org.apache.hadoop.ozone.client.io.OzoneInputStream;
+import org.apache.hadoop.ozone.s3.RequestIdentifier;
import org.apache.hadoop.ozone.s3.exception.OS3Exception;
import org.apache.commons.io.IOUtils;
@@ -92,6 +93,7 @@ public void init() throws OS3Exception, IOException {
rest.setOzoneConfiguration(new OzoneConfiguration());
headers = mock(HttpHeaders.class);
rest.setHeaders(headers);
+ rest.setRequestIdentifier(new RequestIdentifier());
ByteArrayInputStream body = new
ByteArrayInputStream(CONTENT.getBytes(UTF_8));
rest.put(BUCKET_NAME, KEY_NAME, CONTENT.length(),
diff --git
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestObjectHead.java
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestObjectHead.java
index 88a5f00e44..73b556b681 100644
---
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestObjectHead.java
+++
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestObjectHead.java
@@ -32,6 +32,7 @@
import org.apache.hadoop.ozone.client.OzoneClient;
import org.apache.hadoop.ozone.client.OzoneClientStub;
import org.apache.hadoop.ozone.client.io.OzoneOutputStream;
+import org.apache.hadoop.ozone.s3.RequestIdentifier;
import org.apache.hadoop.ozone.s3.exception.OS3Exception;
import static java.net.HttpURLConnection.HTTP_NOT_FOUND;
@@ -66,6 +67,7 @@ public void setup() throws IOException {
// Create HeadBucket and setClient to OzoneClientStub
keyEndpoint = new ObjectEndpoint();
keyEndpoint.setClient(clientStub);
+ keyEndpoint.setRequestIdentifier(new RequestIdentifier());
keyEndpoint.setOzoneConfiguration(new OzoneConfiguration());
}
diff --git
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestObjectMultiDelete.java
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestObjectMultiDelete.java
index 413b3afb27..9152da41ef 100644
---
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestObjectMultiDelete.java
+++
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestObjectMultiDelete.java
@@ -29,6 +29,7 @@
import org.apache.hadoop.ozone.client.OzoneClient;
import org.apache.hadoop.ozone.client.OzoneClientStub;
import org.apache.hadoop.ozone.client.OzoneKey;
+import org.apache.hadoop.ozone.s3.RequestIdentifier;
import org.apache.hadoop.ozone.s3.endpoint.MultiDeleteRequest.DeleteObject;
import org.apache.hadoop.ozone.s3.exception.OS3Exception;
@@ -51,6 +52,7 @@ public void delete() throws IOException, OS3Exception,
JAXBException {
BucketEndpoint rest = new BucketEndpoint();
rest.setClient(client);
+ rest.setRequestIdentifier(new RequestIdentifier());
MultiDeleteRequest mdr = new MultiDeleteRequest();
mdr.getObjects().add(new DeleteObject("key1"));
@@ -82,6 +84,7 @@ public void deleteQuiet() throws IOException, OS3Exception,
JAXBException {
BucketEndpoint rest = new BucketEndpoint();
rest.setClient(client);
+ rest.setRequestIdentifier(new RequestIdentifier());
MultiDeleteRequest mdr = new MultiDeleteRequest();
mdr.setQuiet(true);
diff --git
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestObjectPut.java
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestObjectPut.java
index a36d756dda..94ce257598 100644
---
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestObjectPut.java
+++
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestObjectPut.java
@@ -50,6 +50,7 @@
import org.apache.hadoop.ozone.client.OzoneVolume;
import org.apache.hadoop.ozone.client.io.OzoneInputStream;
import org.apache.hadoop.ozone.om.helpers.BucketLayout;
+import org.apache.hadoop.ozone.s3.RequestIdentifier;
import org.apache.hadoop.ozone.s3.exception.OS3Exception;
import org.apache.hadoop.ozone.s3.exception.S3ErrorTable;
import org.apache.http.HttpStatus;
@@ -134,6 +135,7 @@ void setup() throws IOException {
objectEndpoint = spy(new ObjectEndpoint());
objectEndpoint.setClient(clientStub);
objectEndpoint.setOzoneConfiguration(config);
+ objectEndpoint.setRequestIdentifier(new RequestIdentifier());
headers = mock(HttpHeaders.class);
objectEndpoint.setHeaders(headers);
diff --git
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestObjectTaggingDelete.java
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestObjectTaggingDelete.java
index 91f8869dc9..eec965db8e 100644
---
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestObjectTaggingDelete.java
+++
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestObjectTaggingDelete.java
@@ -25,6 +25,7 @@
import org.apache.hadoop.ozone.client.OzoneVolume;
import org.apache.hadoop.ozone.om.exceptions.OMException;
import org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes;
+import org.apache.hadoop.ozone.s3.RequestIdentifier;
import org.apache.hadoop.ozone.s3.exception.OS3Exception;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -77,6 +78,7 @@ public void init() throws OS3Exception, IOException {
rest = new ObjectEndpoint();
rest.setClient(client);
rest.setOzoneConfiguration(config);
+ rest.setRequestIdentifier(new RequestIdentifier());
headers = Mockito.mock(HttpHeaders.class);
rest.setHeaders(headers);
body = new ByteArrayInputStream(CONTENT.getBytes(UTF_8));
@@ -137,7 +139,7 @@ public void testDeleteObjectTaggingNotImplemented() throws
Exception {
ObjectEndpoint endpoint = new ObjectEndpoint();
endpoint.setClient(mockClient);
-
+ endpoint.setRequestIdentifier(new RequestIdentifier());
doThrow(new OMException("DeleteObjectTagging is not currently supported
for FSO directory",
ResultCodes.NOT_SUPPORTED_OPERATION)).when(mockBucket).deleteObjectTagging("dir/");
diff --git
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestObjectTaggingGet.java
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestObjectTaggingGet.java
index f379ae71f5..75563fd3a9 100644
---
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestObjectTaggingGet.java
+++
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestObjectTaggingGet.java
@@ -20,6 +20,7 @@
import org.apache.hadoop.hdds.conf.OzoneConfiguration;
import org.apache.hadoop.ozone.client.OzoneClient;
import org.apache.hadoop.ozone.client.OzoneClientStub;
+import org.apache.hadoop.ozone.s3.RequestIdentifier;
import org.apache.hadoop.ozone.s3.endpoint.S3Tagging.Tag;
import org.apache.hadoop.ozone.s3.exception.OS3Exception;
import org.junit.jupiter.api.BeforeEach;
@@ -64,6 +65,7 @@ public void init() throws OS3Exception, IOException {
rest = new ObjectEndpoint();
rest.setClient(client);
rest.setOzoneConfiguration(config);
+ rest.setRequestIdentifier(new RequestIdentifier());
HttpHeaders headers = Mockito.mock(HttpHeaders.class);
rest.setHeaders(headers);
ByteArrayInputStream body = new
ByteArrayInputStream(CONTENT.getBytes(UTF_8));
diff --git
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestObjectTaggingPut.java
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestObjectTaggingPut.java
index 478ab8ba79..8c7c73c92e 100644
---
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestObjectTaggingPut.java
+++
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestObjectTaggingPut.java
@@ -26,6 +26,7 @@
import org.apache.hadoop.ozone.client.OzoneVolume;
import org.apache.hadoop.ozone.om.exceptions.OMException;
import org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes;
+import org.apache.hadoop.ozone.s3.RequestIdentifier;
import org.apache.hadoop.ozone.s3.exception.OS3Exception;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -78,6 +79,7 @@ void setup() throws IOException, OS3Exception {
objectEndpoint = new ObjectEndpoint();
objectEndpoint.setClient(clientStub);
objectEndpoint.setOzoneConfiguration(config);
+ objectEndpoint.setRequestIdentifier(new RequestIdentifier());
HttpHeaders headers = mock(HttpHeaders.class);
ByteArrayInputStream body =
@@ -172,6 +174,7 @@ public void testPutObjectTaggingNotImplemented() throws
Exception {
twoTagsMap.put("tag1", "val1");
twoTagsMap.put("tag2", "val2");
endpoint.setClient(mockClient);
+ endpoint.setRequestIdentifier(new RequestIdentifier());
doThrow(new OMException("PutObjectTagging is not currently supported for
FSO directory",
ResultCodes.NOT_SUPPORTED_OPERATION)).when(mockBucket).putObjectTagging("dir/",
twoTagsMap);
diff --git
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestPartUpload.java
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestPartUpload.java
index dbafa8c11c..67d414f22c 100644
---
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestPartUpload.java
+++
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestPartUpload.java
@@ -26,6 +26,7 @@
import org.apache.hadoop.ozone.client.OzoneClient;
import org.apache.hadoop.ozone.client.OzoneClientStub;
import org.apache.hadoop.ozone.client.OzoneMultipartUploadPartListParts;
+import org.apache.hadoop.ozone.s3.RequestIdentifier;
import org.apache.hadoop.ozone.s3.exception.OS3Exception;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
@@ -81,6 +82,7 @@ public static void setUp() throws Exception {
REST.setHeaders(headers);
REST.setClient(client);
REST.setOzoneConfiguration(new OzoneConfiguration());
+ REST.setRequestIdentifier(new RequestIdentifier());
}
@@ -159,6 +161,7 @@ public void testPartUploadStreamContentLength()
objectEndpoint.setHeaders(headers);
objectEndpoint.setClient(client);
objectEndpoint.setOzoneConfiguration(new OzoneConfiguration());
+ objectEndpoint.setRequestIdentifier(new RequestIdentifier());
String keyName = UUID.randomUUID().toString();
String chunkedContent = "0a;chunk-signature=signature\r\n"
@@ -221,6 +224,7 @@ public void
testPartUploadMessageDigestResetDuringException() throws IOException
objectEndpoint.setHeaders(headers);
objectEndpoint.setClient(clientStub);
objectEndpoint.setOzoneConfiguration(new OzoneConfiguration());
+ objectEndpoint.setRequestIdentifier(new RequestIdentifier());
Response response =
objectEndpoint.initializeMultipartUpload(OzoneConsts.S3_BUCKET,
OzoneConsts.KEY);
diff --git
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestPartUploadWithStream.java
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestPartUploadWithStream.java
index dc844f6463..30b4823ff8 100644
---
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestPartUploadWithStream.java
+++
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestPartUploadWithStream.java
@@ -25,6 +25,7 @@
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.RequestIdentifier;
import org.apache.hadoop.ozone.s3.exception.OS3Exception;
import org.junit.jupiter.api.BeforeAll;
@@ -66,6 +67,7 @@ public static void setUp() throws Exception {
REST.setHeaders(headers);
REST.setClient(client);
+ REST.setRequestIdentifier(new RequestIdentifier());
OzoneConfiguration conf = new OzoneConfiguration();
conf.setBoolean(OzoneConfigKeys.HDDS_CONTAINER_RATIS_DATASTREAM_ENABLED,
diff --git
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestPermissionCheck.java
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestPermissionCheck.java
index d256a34629..886ce311ac 100644
---
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestPermissionCheck.java
+++
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestPermissionCheck.java
@@ -28,6 +28,7 @@
import org.apache.hadoop.ozone.client.protocol.ClientProtocol;
import org.apache.hadoop.ozone.om.exceptions.OMException;
import org.apache.hadoop.ozone.om.helpers.ErrorInfo;
+import org.apache.hadoop.ozone.s3.RequestIdentifier;
import org.apache.hadoop.ozone.s3.exception.OS3Exception;
import org.apache.hadoop.ozone.s3.metrics.S3GatewayMetrics;
import org.junit.jupiter.api.BeforeEach;
@@ -73,6 +74,7 @@ public class TestPermissionCheck {
private OzoneVolume volume;
private OMException exception;
private HttpHeaders headers;
+ private RequestIdentifier requestIdentifier;
@BeforeEach
public void setup() {
@@ -92,6 +94,7 @@ public void setup() {
clientProtocol = mock(ClientProtocol.class);
S3GatewayMetrics.create(conf);
when(client.getProxy()).thenReturn(clientProtocol);
+ requestIdentifier = new RequestIdentifier();
}
/**
@@ -102,6 +105,7 @@ public void testListS3Buckets() throws IOException {
doThrow(exception).when(objectStore).getS3Volume();
RootEndpoint rootEndpoint = new RootEndpoint();
rootEndpoint.setClient(client);
+ rootEndpoint.setRequestIdentifier(requestIdentifier);
OS3Exception e = assertThrows(OS3Exception.class, () ->
rootEndpoint.get());
assertEquals(HTTP_FORBIDDEN, e.getHttpCode());
}
@@ -114,6 +118,7 @@ public void testGetBucket() throws IOException {
doThrow(exception).when(objectStore).getS3Bucket(anyString());
BucketEndpoint bucketEndpoint = new BucketEndpoint();
bucketEndpoint.setClient(client);
+ bucketEndpoint.setRequestIdentifier(requestIdentifier);
OS3Exception e = assertThrows(OS3Exception.class, () ->
bucketEndpoint.head("bucketName"));
assertEquals(HTTP_FORBIDDEN, e.getHttpCode());
@@ -125,6 +130,7 @@ public void testCreateBucket() throws IOException {
doThrow(exception).when(objectStore).createS3Bucket(anyString());
BucketEndpoint bucketEndpoint = new BucketEndpoint();
bucketEndpoint.setClient(client);
+ bucketEndpoint.setRequestIdentifier(requestIdentifier);
OS3Exception e = assertThrows(OS3Exception.class, () ->
bucketEndpoint.put("bucketName", null, null, null));
assertEquals(HTTP_FORBIDDEN, e.getHttpCode());
@@ -135,7 +141,7 @@ public void testDeleteBucket() throws IOException {
doThrow(exception).when(objectStore).deleteS3Bucket(anyString());
BucketEndpoint bucketEndpoint = new BucketEndpoint();
bucketEndpoint.setClient(client);
-
+ bucketEndpoint.setRequestIdentifier(requestIdentifier);
OS3Exception e = assertThrows(OS3Exception.class, () ->
bucketEndpoint.delete("bucketName"));
assertEquals(HTTP_FORBIDDEN, e.getHttpCode());
@@ -146,7 +152,7 @@ public void testListMultiUpload() throws IOException {
doThrow(exception).when(bucket).listMultipartUploads(anyString());
BucketEndpoint bucketEndpoint = new BucketEndpoint();
bucketEndpoint.setClient(client);
-
+ bucketEndpoint.setRequestIdentifier(requestIdentifier);
OS3Exception e = assertThrows(OS3Exception.class, () ->
bucketEndpoint.listMultipartUploads("bucketName", "prefix"));
assertEquals(HTTP_FORBIDDEN, e.getHttpCode());
@@ -160,7 +166,7 @@ public void testListKey() throws IOException {
anyBoolean());
BucketEndpoint bucketEndpoint = new BucketEndpoint();
bucketEndpoint.setClient(client);
-
+ bucketEndpoint.setRequestIdentifier(requestIdentifier);
OS3Exception e = assertThrows(OS3Exception.class, () -> bucketEndpoint.get(
"bucketName", null, null, null, 1000,
null, null, null, null, null, null));
@@ -177,6 +183,7 @@ public void testDeleteKeys() throws IOException,
OS3Exception {
BucketEndpoint bucketEndpoint = new BucketEndpoint();
bucketEndpoint.setClient(client);
+ bucketEndpoint.setRequestIdentifier(requestIdentifier);
MultiDeleteRequest request = new MultiDeleteRequest();
List<MultiDeleteRequest.DeleteObject> objectList = new ArrayList<>();
objectList.add(new MultiDeleteRequest.DeleteObject("deleteKeyName"));
@@ -204,6 +211,7 @@ public void testGetAcl() throws Exception {
.thenReturn(S3Acl.ACLIdentityType.USER.getHeaderType() + "=root");
BucketEndpoint bucketEndpoint = new BucketEndpoint();
bucketEndpoint.setClient(client);
+ bucketEndpoint.setRequestIdentifier(requestIdentifier);
OS3Exception e = assertThrows(OS3Exception.class, () -> bucketEndpoint.get(
"bucketName", null, null, null, 1000, null, null, null, null, "acl",
null), "Expected OS3Exception with FORBIDDEN http code.");
@@ -225,6 +233,7 @@ public void testSetAcl() throws Exception {
.thenReturn(S3Acl.ACLIdentityType.USER.getHeaderType() + "=root");
BucketEndpoint bucketEndpoint = new BucketEndpoint();
bucketEndpoint.setClient(client);
+ bucketEndpoint.setRequestIdentifier(requestIdentifier);
try {
bucketEndpoint.put("bucketName", "acl", headers, null);
} catch (Exception e) {
@@ -245,6 +254,7 @@ public void testGetKey() throws IOException {
objectEndpoint.setClient(client);
objectEndpoint.setHeaders(headers);
objectEndpoint.setOzoneConfiguration(conf);
+ objectEndpoint.setRequestIdentifier(requestIdentifier);
OS3Exception e = assertThrows(OS3Exception.class, () -> objectEndpoint.get(
"bucketName", "keyPath", 0, null, 1000, "marker", null));
@@ -261,6 +271,7 @@ public void testPutKey() throws IOException {
objectEndpoint.setClient(client);
objectEndpoint.setHeaders(headers);
objectEndpoint.setOzoneConfiguration(conf);
+ objectEndpoint.setRequestIdentifier(requestIdentifier);
OS3Exception e = assertThrows(OS3Exception.class, () -> objectEndpoint.put(
"bucketName", "keyPath", 1024, 0, null, null, null,
@@ -277,6 +288,7 @@ public void testDeleteKey() throws IOException {
objectEndpoint.setClient(client);
objectEndpoint.setHeaders(headers);
objectEndpoint.setOzoneConfiguration(conf);
+ objectEndpoint.setRequestIdentifier(requestIdentifier);
OS3Exception e = assertThrows(OS3Exception.class, () ->
objectEndpoint.delete("bucketName", "keyPath", null, null));
@@ -291,6 +303,7 @@ public void testMultiUploadKey() throws IOException {
objectEndpoint.setClient(client);
objectEndpoint.setHeaders(headers);
objectEndpoint.setOzoneConfiguration(conf);
+ objectEndpoint.setRequestIdentifier(requestIdentifier);
OS3Exception e = assertThrows(OS3Exception.class, () ->
objectEndpoint.initializeMultipartUpload("bucketName", "keyPath"));
@@ -309,7 +322,7 @@ public void testObjectTagging() throws Exception {
ObjectEndpoint objectEndpoint = new ObjectEndpoint();
objectEndpoint.setClient(client);
-
+ objectEndpoint.setRequestIdentifier(requestIdentifier);
String xml =
"<Tagging xmlns=\"http://s3.amazonaws.com/doc/2006-03-01/\">" +
" <TagSet>" +
diff --git
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestRootList.java
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestRootList.java
index 312ada4f2b..dd7282a88c 100644
---
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestRootList.java
+++
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestRootList.java
@@ -22,6 +22,7 @@
import org.apache.hadoop.ozone.client.OzoneClient;
import org.apache.hadoop.ozone.client.OzoneClientStub;
+import org.apache.hadoop.ozone.s3.RequestIdentifier;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -45,6 +46,7 @@ public void setup() throws Exception {
// Create HeadBucket and setClient to OzoneClientStub
rootEndpoint = new RootEndpoint();
rootEndpoint.setClient(clientStub);
+ rootEndpoint.setRequestIdentifier(new RequestIdentifier());
}
diff --git
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestUploadWithStream.java
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestUploadWithStream.java
index 1c0e115a24..27f35f835d 100644
---
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestUploadWithStream.java
+++
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestUploadWithStream.java
@@ -29,6 +29,7 @@
import org.apache.hadoop.ozone.client.OzoneBucket;
import org.apache.hadoop.ozone.client.OzoneClient;
import org.apache.hadoop.ozone.client.OzoneClientStub;
+import org.apache.hadoop.ozone.s3.RequestIdentifier;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
@@ -79,6 +80,7 @@ public static void setUp() throws Exception {
REST.setHeaders(HEADERS);
REST.setClient(client);
+ REST.setRequestIdentifier(new RequestIdentifier());
OzoneConfiguration conf = new OzoneConfiguration();
conf.setBoolean(OzoneConfigKeys.HDDS_CONTAINER_RATIS_DATASTREAM_ENABLED,
diff --git
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/metrics/TestS3GatewayMetrics.java
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/metrics/TestS3GatewayMetrics.java
index 1f6cee2c4a..e3287e539f 100644
---
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/metrics/TestS3GatewayMetrics.java
+++
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/metrics/TestS3GatewayMetrics.java
@@ -24,6 +24,7 @@
import org.apache.hadoop.ozone.client.OzoneBucket;
import org.apache.hadoop.ozone.client.OzoneClient;
import org.apache.hadoop.ozone.client.OzoneClientStub;
+import org.apache.hadoop.ozone.s3.RequestIdentifier;
import org.apache.hadoop.ozone.s3.endpoint.BucketEndpoint;
import org.apache.hadoop.ozone.s3.endpoint.ObjectEndpoint;
import org.apache.hadoop.ozone.s3.endpoint.RootEndpoint;
@@ -87,15 +88,20 @@ public void setup() throws Exception {
clientStub.getObjectStore().createS3Bucket(bucketName);
bucket = clientStub.getObjectStore().getS3Bucket(bucketName);
+ RequestIdentifier requestIdentifier = new RequestIdentifier();
+
bucketEndpoint = new BucketEndpoint();
bucketEndpoint.setClient(clientStub);
+ bucketEndpoint.setRequestIdentifier(requestIdentifier);
rootEndpoint = new RootEndpoint();
rootEndpoint.setClient(clientStub);
+ rootEndpoint.setRequestIdentifier(requestIdentifier);
keyEndpoint = new ObjectEndpoint();
keyEndpoint.setClient(clientStub);
keyEndpoint.setOzoneConfiguration(new OzoneConfiguration());
+ keyEndpoint.setRequestIdentifier(requestIdentifier);
headers = mock(HttpHeaders.class);
when(headers.getHeaderString(STORAGE_CLASS_HEADER)).thenReturn(
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]