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 b537a6a710 HDDS-10396. Encapsulate fields in WithMetadata and
subclasses (#6238)
b537a6a710 is described below
commit b537a6a710e83a413cfba87c02e0357c0365d114
Author: Doroszlai, Attila <[email protected]>
AuthorDate: Thu Feb 22 21:00:44 2024 +0100
HDDS-10396. Encapsulate fields in WithMetadata and subclasses (#6238)
---
.../apache/hadoop/ozone/client/OzoneBucket.java | 2 +-
.../apache/hadoop/ozone/client/OzoneVolume.java | 2 +-
.../hadoop/ozone/om/helpers/OmBucketArgs.java | 4 +-
.../hadoop/ozone/om/helpers/OmBucketInfo.java | 32 +++++++-------
.../hadoop/ozone/om/helpers/OmDirectoryInfo.java | 40 ++++++++---------
.../apache/hadoop/ozone/om/helpers/OmKeyInfo.java | 51 +++++++++-------------
.../ozone/om/helpers/OmMultipartKeyInfo.java | 10 ++---
.../hadoop/ozone/om/helpers/OmVolumeArgs.java | 22 +++++-----
.../hadoop/ozone/om/helpers/WithMetadata.java | 9 ++--
.../hadoop/ozone/om/helpers/WithObjectID.java | 45 ++++++++-----------
.../ozone/om/helpers/WithParentObjectId.java | 10 +++--
.../hadoop/ozone/om/helpers/OmPrefixInfo.java | 32 +++++++-------
12 files changed, 119 insertions(+), 140 deletions(-)
diff --git
a/hadoop-ozone/client/src/main/java/org/apache/hadoop/ozone/client/OzoneBucket.java
b/hadoop-ozone/client/src/main/java/org/apache/hadoop/ozone/client/OzoneBucket.java
index ca885b3b6b..dc7d6cf0a7 100644
---
a/hadoop-ozone/client/src/main/java/org/apache/hadoop/ozone/client/OzoneBucket.java
+++
b/hadoop-ozone/client/src/main/java/org/apache/hadoop/ozone/client/OzoneBucket.java
@@ -154,7 +154,7 @@ public class OzoneBucket extends WithMetadata {
private String owner;
protected OzoneBucket(Builder builder) {
- this.metadata = builder.metadata;
+ setMetadata(builder.metadata);
this.proxy = builder.proxy;
this.volumeName = builder.volumeName;
this.name = builder.name; // bucket name
diff --git
a/hadoop-ozone/client/src/main/java/org/apache/hadoop/ozone/client/OzoneVolume.java
b/hadoop-ozone/client/src/main/java/org/apache/hadoop/ozone/client/OzoneVolume.java
index 47b50c042a..9c48994372 100644
---
a/hadoop-ozone/client/src/main/java/org/apache/hadoop/ozone/client/OzoneVolume.java
+++
b/hadoop-ozone/client/src/main/java/org/apache/hadoop/ozone/client/OzoneVolume.java
@@ -106,7 +106,7 @@ public class OzoneVolume extends WithMetadata {
private long refCount;
protected OzoneVolume(Builder builder) {
- this.metadata = builder.metadata;
+ setMetadata(builder.metadata);
this.proxy = builder.proxy;
this.name = builder.name;
this.admin = builder.admin;
diff --git
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmBucketArgs.java
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmBucketArgs.java
index e382377dff..55d05dccd7 100644
---
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmBucketArgs.java
+++
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmBucketArgs.java
@@ -80,7 +80,7 @@ public final class OmBucketArgs extends WithMetadata
implements Auditable {
this.bucketName = bucketName;
this.isVersionEnabled = isVersionEnabled;
this.storageType = storageType;
- this.metadata = metadata;
+ setMetadata(metadata);
this.ownerName = ownerName;
}
@@ -206,7 +206,7 @@ public final class OmBucketArgs extends WithMetadata
implements Auditable {
auditMap.put(OzoneConsts.VOLUME, this.volumeName);
auditMap.put(OzoneConsts.BUCKET, this.bucketName);
auditMap.put(OzoneConsts.GDPR_FLAG,
- this.metadata.get(OzoneConsts.GDPR_FLAG));
+ getMetadata().get(OzoneConsts.GDPR_FLAG));
auditMap.put(OzoneConsts.IS_VERSION_ENABLED,
String.valueOf(this.isVersionEnabled));
if (this.storageType != null) {
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 cc811053eb..a1023d555c 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
@@ -158,9 +158,9 @@ public final class OmBucketInfo extends WithObjectID
implements Auditable {
this.storageType = storageType;
this.creationTime = creationTime;
this.modificationTime = modificationTime;
- this.objectID = objectID;
- this.updateID = updateID;
- this.metadata = metadata;
+ setObjectID(objectID);
+ setUpdateID(updateID);
+ setMetadata(metadata);
this.bekInfo = bekInfo;
this.sourceVolume = sourceVolume;
this.sourceBucket = sourceBucket;
@@ -351,7 +351,7 @@ public final class OmBucketInfo extends WithObjectID
implements Auditable {
auditMap.put(OzoneConsts.BUCKET, this.bucketName);
auditMap.put(OzoneConsts.BUCKET_LAYOUT, String.valueOf(this.bucketLayout));
auditMap.put(OzoneConsts.GDPR_FLAG,
- this.metadata.get(OzoneConsts.GDPR_FLAG));
+ getMetadata().get(OzoneConsts.GDPR_FLAG));
auditMap.put(OzoneConsts.ACLS,
(this.acls != null) ? this.acls.toString() : null);
auditMap.put(OzoneConsts.IS_VERSION_ENABLED,
@@ -403,13 +403,13 @@ public final class OmBucketInfo extends WithObjectID
implements Auditable {
.setIsVersionEnabled(isVersionEnabled)
.setCreationTime(creationTime)
.setModificationTime(modificationTime)
- .setObjectID(objectID)
- .setUpdateID(updateID)
+ .setObjectID(getObjectID())
+ .setUpdateID(getUpdateID())
.setBucketEncryptionKey(bekInfo)
.setSourceVolume(sourceVolume)
.setSourceBucket(sourceBucket)
.setAcls(acls)
- .addAllMetadata(metadata)
+ .addAllMetadata(getMetadata())
.setUsedBytes(usedBytes)
.setUsedNamespace(usedNamespace)
.setQuotaInBytes(quotaInBytes)
@@ -607,11 +607,11 @@ public final class OmBucketInfo extends WithObjectID
implements Auditable {
.setStorageType(storageType.toProto())
.setCreationTime(creationTime)
.setModificationTime(modificationTime)
- .setObjectID(objectID)
- .setUpdateID(updateID)
+ .setObjectID(getObjectID())
+ .setUpdateID(getUpdateID())
.setUsedBytes(usedBytes)
.setUsedNamespace(usedNamespace)
- .addAllMetadata(KeyValueUtil.toProtobuf(metadata))
+ .addAllMetadata(KeyValueUtil.toProtobuf(getMetadata()))
.setQuotaInBytes(quotaInBytes)
.setQuotaInNamespace(quotaInNamespace);
if (bucketLayout != null) {
@@ -739,13 +739,13 @@ public final class OmBucketInfo extends WithObjectID
implements Auditable {
Objects.equals(acls, that.acls) &&
Objects.equals(isVersionEnabled, that.isVersionEnabled) &&
storageType == that.storageType &&
- objectID == that.objectID &&
- updateID == that.updateID &&
+ getObjectID() == that.getObjectID() &&
+ getUpdateID() == that.getUpdateID() &&
usedBytes == that.usedBytes &&
usedNamespace == that.usedNamespace &&
Objects.equals(sourceVolume, that.sourceVolume) &&
Objects.equals(sourceBucket, that.sourceBucket) &&
- Objects.equals(metadata, that.metadata) &&
+ Objects.equals(getMetadata(), that.getMetadata()) &&
Objects.equals(bekInfo, that.bekInfo) &&
Objects.equals(owner, that.owner) &&
Objects.equals(defaultReplicationConfig,
that.defaultReplicationConfig);
@@ -768,9 +768,9 @@ public final class OmBucketInfo extends WithObjectID
implements Auditable {
", bekInfo=" + bekInfo +
", sourceVolume='" + sourceVolume + "'" +
", sourceBucket='" + sourceBucket + "'" +
- ", objectID=" + objectID +
- ", updateID=" + updateID +
- ", metadata=" + metadata +
+ ", objectID=" + getObjectID() +
+ ", updateID=" + getUpdateID() +
+ ", metadata=" + getMetadata() +
", usedBytes=" + usedBytes +
", usedNamespace=" + usedNamespace +
", quotaInBytes=" + quotaInBytes +
diff --git
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmDirectoryInfo.java
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmDirectoryInfo.java
index 3d1940bd7c..69ea2fc5b8 100644
---
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmDirectoryInfo.java
+++
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmDirectoryInfo.java
@@ -58,10 +58,10 @@ public class OmDirectoryInfo extends WithParentObjectId
public OmDirectoryInfo(Builder builder) {
this.name = builder.name;
this.acls = builder.acls;
- this.metadata = builder.metadata;
- this.objectID = builder.objectID;
- this.updateID = builder.updateID;
- this.parentObjectID = builder.parentObjectID;
+ setMetadata(builder.metadata);
+ setObjectID(builder.objectID);
+ setUpdateID(builder.updateID);
+ setParentObjectID(builder.parentObjectID);
this.creationTime = builder.creationTime;
this.modificationTime = builder.modificationTime;
}
@@ -164,10 +164,6 @@ public class OmDirectoryInfo extends WithParentObjectId
return getPath() + ":" + getObjectID();
}
- public long getParentObjectID() {
- return parentObjectID;
- }
-
public String getPath() {
return getParentObjectID() + OzoneConsts.OM_KEY_PREFIX + getName();
}
@@ -196,10 +192,10 @@ public class OmDirectoryInfo extends WithParentObjectId
DirectoryInfo.newBuilder().setName(name)
.setCreationTime(creationTime)
.setModificationTime(modificationTime)
- .addAllMetadata(KeyValueUtil.toProtobuf(metadata))
- .setObjectID(objectID)
- .setUpdateID(updateID)
- .setParentID(parentObjectID);
+ .addAllMetadata(KeyValueUtil.toProtobuf(getMetadata()))
+ .setObjectID(getObjectID())
+ .setUpdateID(getUpdateID())
+ .setParentID(getParentObjectID());
if (acls != null) {
pib.addAllAcls(OzoneAclUtil.toProtobuf(acls));
}
@@ -245,16 +241,16 @@ public class OmDirectoryInfo extends WithParentObjectId
return creationTime == omDirInfo.creationTime &&
modificationTime == omDirInfo.modificationTime &&
name.equals(omDirInfo.name) &&
- Objects.equals(metadata, omDirInfo.metadata) &&
+ Objects.equals(getMetadata(), omDirInfo.getMetadata()) &&
Objects.equals(acls, omDirInfo.acls) &&
- objectID == omDirInfo.objectID &&
- updateID == omDirInfo.updateID &&
- parentObjectID == omDirInfo.parentObjectID;
+ getObjectID() == omDirInfo.getObjectID() &&
+ getUpdateID() == omDirInfo.getUpdateID() &&
+ getParentObjectID() == omDirInfo.getParentObjectID();
}
@Override
public int hashCode() {
- return Objects.hash(objectID, parentObjectID, name);
+ return Objects.hash(getObjectID(), getParentObjectID(), name);
}
/**
@@ -266,16 +262,16 @@ public class OmDirectoryInfo extends WithParentObjectId
.setName(name)
.setCreationTime(creationTime)
.setModificationTime(modificationTime)
- .setParentObjectID(parentObjectID)
- .setObjectID(objectID)
- .setUpdateID(updateID);
+ .setParentObjectID(getParentObjectID())
+ .setObjectID(getObjectID())
+ .setUpdateID(getUpdateID());
acls.forEach(acl -> builder.addAcl(new OzoneAcl(acl.getType(),
acl.getName(), (BitSet) acl.getAclBitSet().clone(),
acl.getAclScope())));
- if (metadata != null) {
- builder.addAllMetadata(metadata);
+ if (getMetadata() != null) {
+ builder.addAllMetadata(getMetadata());
}
return builder.build();
diff --git
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmKeyInfo.java
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmKeyInfo.java
index c3a1a4a3d7..b2297accf8 100644
---
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmKeyInfo.java
+++
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmKeyInfo.java
@@ -116,11 +116,11 @@ public final class OmKeyInfo extends WithParentObjectId
this.creationTime = creationTime;
this.modificationTime = modificationTime;
this.replicationConfig = replicationConfig;
- this.metadata = metadata;
+ setMetadata(metadata);
this.encInfo = encInfo;
this.acls = acls;
- this.objectID = objectID;
- this.updateID = updateID;
+ setObjectID(objectID);
+ setUpdateID(updateID);
this.fileChecksum = fileChecksum;
}
@@ -137,7 +137,7 @@ public final class OmKeyInfo extends WithParentObjectId
creationTime, modificationTime, replicationConfig, metadata,
encInfo, acls, objectID, updateID, fileChecksum);
this.fileName = fileName;
- this.parentObjectID = parentObjectID;
+ setParentObjectID(parentObjectID);
this.isFile = isFile;
}
@@ -181,11 +181,6 @@ public final class OmKeyInfo extends WithParentObjectId
return fileName;
}
- public long getParentObjectID() {
- return parentObjectID;
- }
-
-
public synchronized OmKeyLocationInfoGroup getLatestVersionLocations() {
return keyLocationVersions.size() == 0 ? null :
keyLocationVersions.get(keyLocationVersions.size() - 1);
@@ -213,7 +208,7 @@ public final class OmKeyInfo extends WithParentObjectId
}
public boolean isHsync() {
- return metadata.containsKey(OzoneConsts.HSYNC_CLIENT_ID);
+ return getMetadata().containsKey(OzoneConsts.HSYNC_CLIENT_ID);
}
/**
@@ -413,10 +408,6 @@ public final class OmKeyInfo extends WithParentObjectId
return OzoneAclUtil.setAcl(acls, newAcls);
}
- public void setParentObjectID(long parentObjectID) {
- this.parentObjectID = parentObjectID;
- }
-
public void setReplicationConfig(ReplicationConfig repConfig) {
this.replicationConfig = repConfig;
}
@@ -674,11 +665,11 @@ public final class OmKeyInfo extends WithParentObjectId
.addAllKeyLocationList(keyLocations)
.setCreationTime(creationTime)
.setModificationTime(modificationTime)
- .addAllMetadata(KeyValueUtil.toProtobuf(metadata))
+ .addAllMetadata(KeyValueUtil.toProtobuf(getMetadata()))
.addAllAcls(OzoneAclUtil.toProtobuf(acls))
- .setObjectID(objectID)
- .setUpdateID(updateID)
- .setParentID(parentObjectID);
+ .setObjectID(getObjectID())
+ .setUpdateID(getUpdateID())
+ .setParentID(getParentObjectID());
FileChecksumProto fileChecksumProto = OMPBHelper.convert(fileChecksum);
if (fileChecksumProto != null) {
@@ -753,8 +744,8 @@ public final class OmKeyInfo extends WithParentObjectId
", key='" + keyName + '\'' +
", dataSize='" + dataSize + '\'' +
", creationTime='" + creationTime + '\'' +
- ", objectID='" + objectID + '\'' +
- ", parentID='" + parentObjectID + '\'' +
+ ", objectID='" + getObjectID() + '\'' +
+ ", parentID='" + getParentObjectID() + '\'' +
", replication='" + replicationConfig + '\'' +
", fileChecksum='" + fileChecksum +
'}';
@@ -770,12 +761,12 @@ public final class OmKeyInfo extends WithParentObjectId
volumeName.equals(omKeyInfo.volumeName) &&
bucketName.equals(omKeyInfo.bucketName) &&
replicationConfig.equals(omKeyInfo.replicationConfig) &&
- Objects.equals(metadata, omKeyInfo.metadata) &&
+ Objects.equals(getMetadata(), omKeyInfo.getMetadata()) &&
Objects.equals(acls, omKeyInfo.acls) &&
- objectID == omKeyInfo.objectID;
+ getObjectID() == omKeyInfo.getObjectID();
if (isEqual && checkUpdateID) {
- isEqual = updateID == omKeyInfo.updateID;
+ isEqual = getUpdateID() == omKeyInfo.getUpdateID();
}
if (isEqual && checkModificationTime) {
@@ -783,7 +774,7 @@ public final class OmKeyInfo extends WithParentObjectId
}
if (isEqual && checkPath) {
- isEqual = parentObjectID == omKeyInfo.parentObjectID &&
+ isEqual = getParentObjectID() == omKeyInfo.getParentObjectID() &&
keyName.equals(omKeyInfo.keyName);
}
@@ -808,7 +799,7 @@ public final class OmKeyInfo extends WithParentObjectId
@Override
public int hashCode() {
- return Objects.hash(volumeName, bucketName, keyName, parentObjectID);
+ return Objects.hash(volumeName, bucketName, keyName, getParentObjectID());
}
/**
@@ -825,9 +816,9 @@ public final class OmKeyInfo extends WithParentObjectId
.setDataSize(dataSize)
.setReplicationConfig(replicationConfig)
.setFileEncryptionInfo(encInfo)
- .setObjectID(objectID)
- .setUpdateID(updateID)
- .setParentObjectID(parentObjectID)
+ .setObjectID(getObjectID())
+ .setUpdateID(getUpdateID())
+ .setParentObjectID(getParentObjectID())
.setFileName(fileName)
.setFile(isFile);
@@ -841,8 +832,8 @@ public final class OmKeyInfo extends WithParentObjectId
acl.getName(), (BitSet) acl.getAclBitSet().clone(),
acl.getAclScope())));
- if (metadata != null) {
- metadata.forEach((k, v) -> builder.addMetadata(k, v));
+ if (getMetadata() != null) {
+ getMetadata().forEach((k, v) -> builder.addMetadata(k, v));
}
if (fileChecksum != null) {
diff --git
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmMultipartKeyInfo.java
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmMultipartKeyInfo.java
index 4f57e075bd..90b6301437 100644
---
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmMultipartKeyInfo.java
+++
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmMultipartKeyInfo.java
@@ -170,8 +170,8 @@ public final class OmMultipartKeyInfo extends WithObjectID {
this.creationTime = creationTime;
this.replicationConfig = replicationConfig;
this.partKeyInfoMap = sortedMap;
- this.objectID = objectID;
- this.updateID = updateID;
+ setObjectID(objectID);
+ setUpdateID(updateID);
this.parentID = parentObjId;
}
@@ -323,8 +323,8 @@ public final class OmMultipartKeyInfo extends WithObjectID {
.setUploadID(uploadID)
.setCreationTime(creationTime)
.setType(replicationConfig.getReplicationType())
- .setObjectID(objectID)
- .setUpdateID(updateID)
+ .setObjectID(getObjectID())
+ .setUpdateID(getUpdateID())
.setParentID(parentID);
if (replicationConfig instanceof ECReplicationConfig) {
@@ -362,7 +362,7 @@ public final class OmMultipartKeyInfo extends WithObjectID {
// is added, it returns a new shallow copy of the PartKeyInfoMap Object
// so here we can directly pass in partKeyInfoMap
return new OmMultipartKeyInfo(uploadID, creationTime, replicationConfig,
- partKeyInfoMap, objectID, updateID, parentID);
+ partKeyInfoMap, getObjectID(), getUpdateID(), parentID);
}
}
diff --git
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmVolumeArgs.java
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmVolumeArgs.java
index c5c8f5ca8e..1a12d4ddb3 100644
---
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmVolumeArgs.java
+++
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmVolumeArgs.java
@@ -102,12 +102,12 @@ public final class OmVolumeArgs extends WithObjectID
this.quotaInBytes = quotaInBytes;
this.quotaInNamespace = quotaInNamespace;
this.usedNamespace = usedNamespace;
- this.metadata = metadata;
+ setMetadata(metadata);
this.acls = acls;
this.creationTime = creationTime;
this.modificationTime = modificationTime;
- this.objectID = objectID;
- this.updateID = updateID;
+ setObjectID(objectID);
+ setUpdateID(updateID);
this.refCount = refCount;
}
@@ -286,12 +286,12 @@ public final class OmVolumeArgs extends WithObjectID
return false;
}
OmVolumeArgs that = (OmVolumeArgs) o;
- return Objects.equals(this.objectID, that.objectID);
+ return Objects.equals(this.getObjectID(), that.getObjectID());
}
@Override
public int hashCode() {
- return Objects.hash(this.objectID);
+ return Objects.hash(getObjectID());
}
/**
@@ -430,13 +430,13 @@ public final class OmVolumeArgs extends WithObjectID
.setQuotaInBytes(quotaInBytes)
.setQuotaInNamespace(quotaInNamespace)
.setUsedNamespace(usedNamespace)
- .addAllMetadata(KeyValueUtil.toProtobuf(metadata))
+ .addAllMetadata(KeyValueUtil.toProtobuf(getMetadata()))
.addAllVolumeAcls(aclList)
.setCreationTime(
creationTime == 0 ? System.currentTimeMillis() : creationTime)
.setModificationTime(modificationTime)
- .setObjectID(objectID)
- .setUpdateID(updateID)
+ .setObjectID(getObjectID())
+ .setUpdateID(getUpdateID())
.setRefCount(refCount)
.build();
}
@@ -476,8 +476,8 @@ public final class OmVolumeArgs extends WithObjectID
@Override
public OmVolumeArgs copyObject() {
Map<String, String> cloneMetadata = new HashMap<>();
- if (metadata != null) {
- metadata.forEach((k, v) -> cloneMetadata.put(k, v));
+ if (getMetadata() != null) {
+ getMetadata().forEach((k, v) -> cloneMetadata.put(k, v));
}
List<OzoneAcl> cloneAcls = new ArrayList(acls.size());
@@ -488,6 +488,6 @@ public final class OmVolumeArgs extends WithObjectID
return new OmVolumeArgs(adminName, ownerName, volume, quotaInBytes,
quotaInNamespace, usedNamespace, cloneMetadata, cloneAcls,
- creationTime, modificationTime, objectID, updateID, refCount);
+ creationTime, modificationTime, getObjectID(), getUpdateID(),
refCount);
}
}
diff --git
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/WithMetadata.java
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/WithMetadata.java
index 5c49a15a12..cc190399a7 100644
---
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/WithMetadata.java
+++
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/WithMetadata.java
@@ -23,22 +23,21 @@ import java.util.Map;
/**
* Mixin class to handle custom metadata.
*/
-public class WithMetadata {
+public abstract class WithMetadata {
- @SuppressWarnings("visibilitymodifier")
- protected Map<String, String> metadata = new HashMap<>();
+ private Map<String, String> metadata = new HashMap<>();
/**
* Custom key value metadata.
*/
- public Map<String, String> getMetadata() {
+ public final Map<String, String> getMetadata() {
return metadata;
}
/**
* Set custom key value metadata.
*/
- public void setMetadata(Map<String, String> metadata) {
+ public final void setMetadata(Map<String, String> metadata) {
this.metadata = metadata;
}
diff --git
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/WithObjectID.java
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/WithObjectID.java
index 0ea1a1c0e6..fb677871fa 100644
---
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/WithObjectID.java
+++
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/WithObjectID.java
@@ -22,34 +22,24 @@ import static
org.apache.hadoop.ozone.OzoneConsts.OBJECT_ID_RECLAIM_BLOCKS;
/**
* Mixin class to handle ObjectID and UpdateID.
*/
-public class WithObjectID extends WithMetadata {
+public abstract class WithObjectID extends WithMetadata {
+
+ private long objectID;
+ private long updateID;
/**
* ObjectIDs are unique and immutable identifier for each object in the
* System.
*/
- @SuppressWarnings("visibilitymodifier")
- protected long objectID;
- /**
- * UpdateIDs are monotonically increasing values which are updated
- * each time there is an update.
- */
- @SuppressWarnings("visibilitymodifier")
- protected long updateID;
-
- /**
- * Returns objectID.
- * @return long
- */
- public long getObjectID() {
+ public final long getObjectID() {
return objectID;
}
/**
- * Returns updateID.
- * @return long
+ * UpdateIDs are monotonically increasing values which are updated
+ * each time there is an update.
*/
- public long getUpdateID() {
+ public final long getUpdateID() {
return updateID;
}
@@ -62,7 +52,7 @@ public class WithObjectID extends WithMetadata {
*
* @param obId - long
*/
- public void setObjectID(long obId) {
+ public final void setObjectID(long obId) {
if (this.objectID != 0 && obId != OBJECT_ID_RECLAIM_BLOCKS) {
throw new UnsupportedOperationException("Attempt to modify object ID " +
"which is not zero. Current Object ID is " + this.objectID);
@@ -76,7 +66,7 @@ public class WithObjectID extends WithMetadata {
* @param updateId long
* @param isRatisEnabled boolean
*/
- public void setUpdateID(long updateId, boolean isRatisEnabled) {
+ public final void setUpdateID(long updateId, boolean isRatisEnabled) {
// Because in non-HA, we have multiple rpc handler threads and
// transactionID is generated in OzoneManagerServerSideTranslatorPB.
@@ -103,21 +93,22 @@ public class WithObjectID extends WithMetadata {
// Main reason, in non-HA transaction Index after restart starts from 0.
// And also because of this same reason we don't do replay checks in
non-HA.
- if (isRatisEnabled && updateId < this.updateID) {
+ if (isRatisEnabled && updateId < this.getUpdateID()) {
throw new IllegalArgumentException(String.format(
"Trying to set updateID to %d which is not greater than the " +
- "current value of %d for %s", updateId, this.updateID,
+ "current value of %d for %s", updateId, this.getUpdateID(),
getObjectInfo()));
}
- this.updateID = updateId;
- }
-
- public boolean isUpdateIDset() {
- return this.updateID > 0;
+ this.setUpdateID(updateId);
}
+ /** Hook method, customized in subclasses. */
public String getObjectInfo() {
return this.toString();
}
+
+ public final void setUpdateID(long updateID) {
+ this.updateID = updateID;
+ }
}
diff --git
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/WithParentObjectId.java
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/WithParentObjectId.java
index 79a135af17..b92b34e8e3 100644
---
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/WithParentObjectId.java
+++
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/WithParentObjectId.java
@@ -22,6 +22,8 @@ package org.apache.hadoop.ozone.om.helpers;
* Object ID with additional parent ID field.
*/
public class WithParentObjectId extends WithObjectID {
+ private long parentObjectID;
+
/**
* Object ID with additional parent ID field.
*
@@ -45,11 +47,11 @@ public class WithParentObjectId extends WithObjectID {
* key1 | 1026 | 1025 |
* ------------------------------------------|
*/
- @SuppressWarnings("visibilitymodifier")
- protected long parentObjectID;
-
- public long getParentObjectID() {
+ public final long getParentObjectID() {
return parentObjectID;
}
+ public final void setParentObjectID(long parentObjectID) {
+ this.parentObjectID = parentObjectID;
+ }
}
diff --git
a/hadoop-ozone/interface-storage/src/main/java/org/apache/hadoop/ozone/om/helpers/OmPrefixInfo.java
b/hadoop-ozone/interface-storage/src/main/java/org/apache/hadoop/ozone/om/helpers/OmPrefixInfo.java
index 4cc76868f7..d6fb140659 100644
---
a/hadoop-ozone/interface-storage/src/main/java/org/apache/hadoop/ozone/om/helpers/OmPrefixInfo.java
+++
b/hadoop-ozone/interface-storage/src/main/java/org/apache/hadoop/ozone/om/helpers/OmPrefixInfo.java
@@ -55,9 +55,9 @@ public final class OmPrefixInfo extends WithObjectID {
Map<String, String> metadata, long objectId, long updateId) {
this.name = name;
this.acls = acls;
- this.metadata = metadata;
- this.objectID = objectId;
- this.updateID = updateId;
+ setMetadata(metadata);
+ setObjectID(objectId);
+ setUpdateID(updateId);
}
/**
@@ -164,9 +164,9 @@ public final class OmPrefixInfo extends WithObjectID {
public PersistedPrefixInfo getProtobuf() {
PersistedPrefixInfo.Builder pib =
PersistedPrefixInfo.newBuilder().setName(name)
- .addAllMetadata(KeyValueUtil.toProtobuf(metadata))
- .setObjectID(objectID)
- .setUpdateID(updateID);
+ .addAllMetadata(KeyValueUtil.toProtobuf(getMetadata()))
+ .setObjectID(getObjectID())
+ .setUpdateID(getUpdateID());
if (acls != null) {
pib.addAllAcls(OzoneAclStorageUtil.toProtobuf(acls));
}
@@ -210,14 +210,14 @@ public final class OmPrefixInfo extends WithObjectID {
OmPrefixInfo that = (OmPrefixInfo) o;
return name.equals(that.name) &&
Objects.equals(acls, that.acls) &&
- Objects.equals(metadata, that.metadata) &&
- objectID == that.objectID &&
- updateID == that.updateID;
+ Objects.equals(getMetadata(), that.getMetadata()) &&
+ getObjectID() == that.getObjectID() &&
+ getUpdateID() == that.getUpdateID();
}
@Override
public int hashCode() {
- return Objects.hash(name, acls, metadata, objectID, updateID);
+ return Objects.hash(name, acls, getMetadata(), getObjectID(),
getUpdateID());
}
@Override
@@ -225,9 +225,9 @@ public final class OmPrefixInfo extends WithObjectID {
return "OmPrefixInfo{" +
"name='" + name + '\'' +
", acls=" + acls +
- ", metadata=" + metadata +
- ", objectID=" + objectID +
- ", updateID=" + updateID +
+ ", metadata=" + getMetadata() +
+ ", objectID=" + getObjectID() +
+ ", updateID=" + getUpdateID() +
'}';
}
@@ -241,10 +241,10 @@ public final class OmPrefixInfo extends WithObjectID {
.collect(Collectors.toList());
Map<String, String> metadataList = new HashMap<>();
- if (metadata != null) {
- metadata.forEach((k, v) -> metadataList.put(k, v));
+ if (getMetadata() != null) {
+ getMetadata().forEach((k, v) -> metadataList.put(k, v));
}
- return new OmPrefixInfo(name, aclList, metadataList, objectID, updateID);
+ return new OmPrefixInfo(name, aclList, metadataList, getObjectID(),
getUpdateID());
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]