You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-commits@hadoop.apache.org by ar...@apache.org on 2019/10/22 02:37:54 UTC
[hadoop-ozone] branch master updated: HDDS-2343. Add immutable
entries in to the DoubleBuffer for Bucket requests. (#69)
This is an automated email from the ASF dual-hosted git repository.
arp 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 599b0d9 HDDS-2343. Add immutable entries in to the DoubleBuffer for Bucket requests. (#69)
599b0d9 is described below
commit 599b0d9158524eb40e874b82547dda9e1c102b2e
Author: Bharat Viswanadham <bh...@apache.org>
AuthorDate: Mon Oct 21 19:37:43 2019 -0700
HDDS-2343. Add immutable entries in to the DoubleBuffer for Bucket requests. (#69)
---
.../hadoop/ozone/om/helpers/OmBucketInfo.java | 25 +++++++++++++++++++++-
.../om/request/bucket/OMBucketCreateRequest.java | 3 ++-
.../request/bucket/OMBucketSetPropertyRequest.java | 5 +++--
.../om/request/bucket/acl/OMBucketAclRequest.java | 3 ++-
4 files changed, 31 insertions(+), 5 deletions(-)
diff --git a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmBucketInfo.java b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmBucketInfo.java
index eb10802..090b4ce 100644
--- a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmBucketInfo.java
+++ b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmBucketInfo.java
@@ -39,7 +39,8 @@ import com.google.common.base.Preconditions;
/**
* A class that encapsulates Bucket Info.
*/
-public final class OmBucketInfo extends WithMetadata implements Auditable {
+public final class OmBucketInfo extends WithMetadata implements Auditable,
+ Cloneable {
/**
* Name of the volume in which the bucket belongs to.
*/
@@ -214,6 +215,28 @@ public final class OmBucketInfo extends WithMetadata implements Auditable {
return auditMap;
}
+ @Override
+ public Object clone() {
+ OmBucketInfo.Builder builder = new OmBucketInfo.Builder()
+ .setVolumeName(volumeName)
+ .setBucketName(bucketName)
+ .setAcls(acls.stream().map(acl -> new OzoneAcl(acl.getType(),
+ acl.getName(), acl.getAclBitSet(), acl.getAclScope()))
+ .collect(Collectors.toList()))
+ .setStorageType(storageType)
+ .setIsVersionEnabled(isVersionEnabled)
+ .setCreationTime(creationTime)
+ .setBucketEncryptionKey(bekInfo != null ?
+ new BucketEncryptionKeyInfo(bekInfo.getVersion(),
+ bekInfo.getSuite(), bekInfo.getKeyName()) : null);
+
+ if (metadata != null) {
+ metadata.forEach((k, v) -> builder.addMetadata(k, v));
+ }
+ return builder.build();
+
+ }
+
/**
* Builder for OmBucketInfo.
*/
diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/OMBucketCreateRequest.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/OMBucketCreateRequest.java
index 33a6310..8ab8d7d 100644
--- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/OMBucketCreateRequest.java
+++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/OMBucketCreateRequest.java
@@ -178,7 +178,8 @@ public class OMBucketCreateRequest extends OMClientRequest {
omResponse.setCreateBucketResponse(
CreateBucketResponse.newBuilder().build());
- omClientResponse = new OMBucketCreateResponse(omBucketInfo,
+ omClientResponse =
+ new OMBucketCreateResponse((OmBucketInfo) omBucketInfo.clone(),
omResponse.build());
} catch (IOException ex) {
exception = ex;
diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/OMBucketSetPropertyRequest.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/OMBucketSetPropertyRequest.java
index 6c5f5fa..7351428 100644
--- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/OMBucketSetPropertyRequest.java
+++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/OMBucketSetPropertyRequest.java
@@ -168,8 +168,9 @@ public class OMBucketSetPropertyRequest extends OMClientRequest {
omResponse.setSetBucketPropertyResponse(
SetBucketPropertyResponse.newBuilder().build());
- omClientResponse = new OMBucketSetPropertyResponse(omBucketInfo,
- omResponse.build());
+ omClientResponse =
+ new OMBucketSetPropertyResponse((OmBucketInfo) omBucketInfo.clone(),
+ omResponse.build());
} catch (IOException ex) {
exception = ex;
omClientResponse = new OMBucketSetPropertyResponse(omBucketInfo,
diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/acl/OMBucketAclRequest.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/acl/OMBucketAclRequest.java
index 87ad600..b6eb70d 100644
--- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/acl/OMBucketAclRequest.java
+++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/acl/OMBucketAclRequest.java
@@ -109,7 +109,8 @@ public abstract class OMBucketAclRequest extends OMClientRequest {
new CacheValue<>(Optional.of(omBucketInfo), transactionLogIndex));
}
- omClientResponse = onSuccess(omResponse, omBucketInfo, operationResult);
+ omClientResponse = onSuccess(omResponse,
+ (OmBucketInfo) omBucketInfo.clone(), operationResult);
} catch (IOException ex) {
exception = ex;
---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-commits-help@hadoop.apache.org