You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ozone.apache.org by er...@apache.org on 2022/11/22 00:02:49 UTC
[ozone] branch master updated: HDDS-7280. New test addition to TestOMBucketCreateRequestWithFSO (#3794)
This is an automated email from the ASF dual-hosted git repository.
erose 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 0ed0240c66 HDDS-7280. New test addition to TestOMBucketCreateRequestWithFSO (#3794)
0ed0240c66 is described below
commit 0ed0240c66f29c407f03bbcb064939a3d106253a
Author: Christos Bisias <ch...@gmail.com>
AuthorDate: Tue Nov 22 02:02:43 2022 +0200
HDDS-7280. New test addition to TestOMBucketCreateRequestWithFSO (#3794)
---
.../ozone/om/request/OMRequestTestUtils.java | 3 +
.../ozone/om/request/bucket/TestBucketRequest.java | 1 +
.../bucket/TestOMBucketCreateRequestWithFSO.java | 71 ++++++++++++++++++++--
3 files changed, 69 insertions(+), 6 deletions(-)
diff --git a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/OMRequestTestUtils.java b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/OMRequestTestUtils.java
index 2679634f9f..942c3ba0d8 100644
--- a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/OMRequestTestUtils.java
+++ b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/OMRequestTestUtils.java
@@ -32,6 +32,7 @@ import org.apache.hadoop.hdds.client.ReplicationConfig;
import org.apache.hadoop.hdds.protocol.proto.HddsProtos;
import org.apache.hadoop.hdds.scm.pipeline.Pipeline;
import org.apache.hadoop.hdds.scm.pipeline.PipelineID;
+import org.apache.hadoop.ozone.ClientVersion;
import org.apache.hadoop.ozone.OmUtils;
import org.apache.hadoop.ozone.OzoneAcl;
import org.apache.hadoop.ozone.OzoneConsts;
@@ -544,6 +545,7 @@ public final class OMRequestTestUtils {
req.setBucketInfo(bucketInfo);
return OzoneManagerProtocolProtos.OMRequest.newBuilder()
.setCreateBucketRequest(req)
+ .setVersion(ClientVersion.CURRENT_VERSION)
.setCmdType(OzoneManagerProtocolProtos.Type.CreateBucket)
.setClientId(UUID.randomUUID().toString()).build();
}
@@ -566,6 +568,7 @@ public final class OMRequestTestUtils {
req.setBucketInfo(bucketInfo);
return OzoneManagerProtocolProtos.OMRequest.newBuilder()
.setCreateBucketRequest(req)
+ .setVersion(ClientVersion.CURRENT_VERSION)
.setCmdType(OzoneManagerProtocolProtos.Type.CreateBucket)
.setClientId(UUID.randomUUID().toString()).build();
}
diff --git a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/bucket/TestBucketRequest.java b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/bucket/TestBucketRequest.java
index c4b1923b11..95c96107b8 100644
--- a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/bucket/TestBucketRequest.java
+++ b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/bucket/TestBucketRequest.java
@@ -69,6 +69,7 @@ public class TestBucketRequest {
OzoneConfiguration ozoneConfiguration = new OzoneConfiguration();
ozoneConfiguration.set(OMConfigKeys.OZONE_OM_DB_DIRS,
folder.newFolder().getAbsolutePath());
+ when(ozoneManager.getConfiguration()).thenReturn(ozoneConfiguration);
omMetadataManager = new OmMetadataManagerImpl(ozoneConfiguration);
when(ozoneManager.getMetrics()).thenReturn(omMetrics);
when(ozoneManager.getMetadataManager()).thenReturn(omMetadataManager);
diff --git a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/bucket/TestOMBucketCreateRequestWithFSO.java b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/bucket/TestOMBucketCreateRequestWithFSO.java
index 44efbe9ebf..d83d72b1aa 100644
--- a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/bucket/TestOMBucketCreateRequestWithFSO.java
+++ b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/bucket/TestOMBucketCreateRequestWithFSO.java
@@ -19,6 +19,7 @@
package org.apache.hadoop.ozone.om.request.bucket;
+import org.apache.hadoop.ozone.om.OMConfigKeys;
import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.helpers.OmBucketInfo;
import org.apache.hadoop.ozone.om.request.OMRequestTestUtils;
@@ -26,6 +27,7 @@ import org.apache.hadoop.ozone.om.response.OMClientResponse;
import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMRequest;
import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.StorageTypeProto;
import org.junit.Assert;
+import org.junit.Before;
import org.junit.Test;
import java.util.UUID;
@@ -38,6 +40,13 @@ import static org.mockito.Mockito.when;
public class TestOMBucketCreateRequestWithFSO
extends TestOMBucketCreateRequest {
+ @Before
+ public void setupWithFSO() {
+ ozoneManager.getConfiguration()
+ .set(OMConfigKeys.OZONE_DEFAULT_BUCKET_LAYOUT,
+ OMConfigKeys.OZONE_BUCKET_LAYOUT_FILE_SYSTEM_OPTIMIZED);
+ }
+
@Test
public void testValidateAndUpdateCacheWithFSO() throws Exception {
when(ozoneManager.getOMDefaultBucketLayout()).thenReturn(
@@ -49,7 +58,43 @@ public class TestOMBucketCreateRequestWithFSO
Assert.assertEquals(0, omMetrics.getNumFSOBucketCreates());
OMBucketCreateRequest omBucketCreateRequest = doPreExecute(volumeName,
- bucketName);
+ bucketName, true);
+
+ doValidateAndUpdateCache(volumeName, bucketName,
+ omBucketCreateRequest.getOmRequest());
+
+ Assert.assertEquals(1, omMetrics.getNumFSOBucketCreates());
+ Assert.assertEquals(BucketLayout.FILE_SYSTEM_OPTIMIZED,
+ omMetadataManager.getBucketTable().get(bucketKey).getBucketLayout());
+ }
+
+ /**
+ * Gets the bucket layout from the ozone configuration and
+ * creates a bucket request with the latest client version.
+ * Checking that the configuration layout is the same with
+ * the one used for the request.
+ * @throws Exception
+ */
+ @Test
+ public void testValidateAndUpdateCacheVerifyBucketLayoutWithFSO()
+ throws Exception {
+ String volumeName = UUID.randomUUID().toString();
+ String bucketName = UUID.randomUUID().toString();
+ String bucketKey = omMetadataManager.getBucketKey(volumeName, bucketName);
+
+ // Checking bucket layout from configuration
+ Assert.assertEquals(OMConfigKeys.OZONE_BUCKET_LAYOUT_FILE_SYSTEM_OPTIMIZED,
+ ozoneManager.getConfiguration()
+ .get(OMConfigKeys.OZONE_DEFAULT_BUCKET_LAYOUT));
+
+ Assert.assertEquals(0, omMetrics.getNumFSOBucketCreates());
+
+ // OzoneManager is mocked, the bucket layout will return null
+ when(ozoneManager.getOMDefaultBucketLayout()).thenReturn(
+ BucketLayout.FILE_SYSTEM_OPTIMIZED.name());
+
+ OMBucketCreateRequest omBucketCreateRequest =
+ doPreExecute(volumeName, bucketName, false);
doValidateAndUpdateCache(volumeName, bucketName,
omBucketCreateRequest.getOmRequest());
@@ -60,11 +105,21 @@ public class TestOMBucketCreateRequestWithFSO
}
private OMBucketCreateRequest doPreExecute(String volumeName,
- String bucketName) throws Exception {
+ String bucketName, boolean layoutFSOFromCli)
+ throws Exception {
addCreateVolumeToTable(volumeName, omMetadataManager);
- OMRequest originalRequest =
- OMRequestTestUtils.createBucketReqFSO(bucketName, volumeName,
- false, StorageTypeProto.SSD);
+
+ OMRequest originalRequest;
+
+ if (layoutFSOFromCli) {
+ originalRequest =
+ OMRequestTestUtils.createBucketReqFSO(bucketName, volumeName,
+ false, StorageTypeProto.SSD);
+ } else {
+ originalRequest = OMRequestTestUtils
+ .createBucketRequest(bucketName, volumeName,
+ false, StorageTypeProto.SSD);
+ }
OMBucketCreateRequest omBucketCreateRequest =
new OMBucketCreateRequest(originalRequest);
@@ -96,9 +151,13 @@ public class TestOMBucketCreateRequestWithFSO
omMetadataManager.getBucketTable().get(bucketKey);
Assert.assertNotNull(omMetadataManager.getBucketTable().get(bucketKey));
+ BucketLayout bucketLayout = BucketLayout
+ .fromString(ozoneManager.getConfiguration()
+ .get(OMConfigKeys.OZONE_DEFAULT_BUCKET_LAYOUT));
+
// verify table data with actual request data.
OmBucketInfo bucketInfoFromProto = OmBucketInfo.getFromProtobuf(
- modifiedRequest.getCreateBucketRequest().getBucketInfo());
+ modifiedRequest.getCreateBucketRequest().getBucketInfo(), bucketLayout);
Assert.assertEquals(bucketInfoFromProto.getCreationTime(),
dbBucketInfo.getCreationTime());
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@ozone.apache.org
For additional commands, e-mail: commits-help@ozone.apache.org