You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ozone.apache.org by ca...@apache.org on 2022/03/14 11:22:52 UTC
[ozone] branch master updated: HDDS-6431. Fix usedBytes for FSO bucket (#3178)
This is an automated email from the ASF dual-hosted git repository.
captainzmc 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 f826d12 HDDS-6431. Fix usedBytes for FSO bucket (#3178)
f826d12 is described below
commit f826d124aa1d8063d37a1ef3c1809787401b7b0b
Author: Kaijie Chen <ch...@kaijie.org>
AuthorDate: Mon Mar 14 19:22:33 2022 +0800
HDDS-6431. Fix usedBytes for FSO bucket (#3178)
* Get OMBucketInfo from cache
---
.../client/rpc/TestOzoneRpcClientAbstract.java | 29 ++++++++++++++++++++++
.../om/request/key/OMKeyCommitRequestWithFSO.java | 3 +--
2 files changed, 30 insertions(+), 2 deletions(-)
diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestOzoneRpcClientAbstract.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestOzoneRpcClientAbstract.java
index 128c407..92147cf 100644
--- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestOzoneRpcClientAbstract.java
+++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestOzoneRpcClientAbstract.java
@@ -991,6 +991,35 @@ public abstract class TestOzoneRpcClientAbstract {
}
@Test
+ public void testFSOBucketUsedBytes() throws IOException {
+ String volumeName = UUID.randomUUID().toString();
+ String bucketName = UUID.randomUUID().toString();
+ OzoneVolume volume = null;
+ String value = "sample value";
+ int valueLength = value.getBytes(UTF_8).length;
+ store.createVolume(volumeName);
+ volume = store.getVolume(volumeName);
+ BucketArgs bucketArgsFSO = BucketArgs.newBuilder()
+ .setBucketLayout(BucketLayout.FILE_SYSTEM_OPTIMIZED)
+ .build();
+ volume.createBucket(bucketName, bucketArgsFSO);
+ OzoneBucket bucket = volume.getBucket(bucketName);
+ String keyName = UUID.randomUUID().toString();
+
+ writeKey(bucket, keyName, ONE, value, valueLength);
+ Assert.assertEquals(valueLength,
+ store.getVolume(volumeName).getBucket(bucketName).getUsedBytes());
+
+ writeKey(bucket, keyName, ONE, value, valueLength);
+ Assert.assertEquals(valueLength,
+ store.getVolume(volumeName).getBucket(bucketName).getUsedBytes());
+
+ bucket.deleteKey(keyName);
+ Assert.assertEquals(0L,
+ store.getVolume(volumeName).getBucket(bucketName).getUsedBytes());
+ }
+
+ @Test
public void testVolumeUsedNamespace() throws IOException {
String volumeName = UUID.randomUUID().toString();
String bucketName = UUID.randomUUID().toString();
diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCommitRequestWithFSO.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCommitRequestWithFSO.java
index 575e1e9..41ab13a 100644
--- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCommitRequestWithFSO.java
+++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCommitRequestWithFSO.java
@@ -106,7 +106,6 @@ public class OMKeyCommitRequestWithFSO extends OMKeyCommitRequest {
commitKeyRequest.getClientID());
- String bucketKey = omMetadataManager.getBucketKey(volumeName, bucketName);
Iterator<Path> pathComponents = Paths.get(keyName).iterator();
String dbOpenFileKey = null;
@@ -122,7 +121,7 @@ public class OMKeyCommitRequestWithFSO extends OMKeyCommitRequest {
validateBucketAndVolume(omMetadataManager, volumeName, bucketName);
String fileName = OzoneFSUtils.getFileName(keyName);
- omBucketInfo = omMetadataManager.getBucketTable().get(bucketKey);
+ omBucketInfo = getBucketInfo(omMetadataManager, volumeName, bucketName);
long bucketId = omBucketInfo.getObjectID();
long parentID = OMFileRequest.getParentID(bucketId, pathComponents,
keyName, omMetadataManager, "Cannot create file : " + keyName
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@ozone.apache.org
For additional commands, e-mail: commits-help@ozone.apache.org