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 657677316ff HDDS-14189. Copy OmKeyInfo using toBuilder instead of
newBuilder (#9510)
657677316ff is described below
commit 657677316ff8c688f0e9d71d13eafd70f2eb8b49
Author: Doroszlai, Attila <[email protected]>
AuthorDate: Fri Dec 19 13:33:31 2025 +0100
HDDS-14189. Copy OmKeyInfo using toBuilder instead of newBuilder (#9510)
---
.../apache/hadoop/ozone/client/rpc/RpcClient.java | 17 +--------------
.../apache/hadoop/ozone/om/helpers/OmKeyInfo.java | 1 +
.../org/apache/hadoop/ozone/om/KeyManagerImpl.java | 7 +-----
.../S3MultipartUploadCompleteRequest.java | 25 +++++-----------------
.../S3MultipartUploadCompleteRequestWithFSO.java | 7 ------
5 files changed, 8 insertions(+), 49 deletions(-)
diff --git
a/hadoop-ozone/client/src/main/java/org/apache/hadoop/ozone/client/rpc/RpcClient.java
b/hadoop-ozone/client/src/main/java/org/apache/hadoop/ozone/client/rpc/RpcClient.java
index 5fce2b83fd5..3947e4b6818 100644
---
a/hadoop-ozone/client/src/main/java/org/apache/hadoop/ozone/client/rpc/RpcClient.java
+++
b/hadoop-ozone/client/src/main/java/org/apache/hadoop/ozone/client/rpc/RpcClient.java
@@ -1601,25 +1601,10 @@ public OzoneInputStream getKey(
Collections.singletonList(keyLocationInfoGroup);
keyInfo.setKeyLocationVersions(keyLocationInfoGroups);
- OmKeyInfo dnKeyInfo = new OmKeyInfo.Builder()
- .setVolumeName(keyInfo.getVolumeName())
- .setBucketName(keyInfo.getBucketName())
- .setKeyName(keyInfo.getKeyName())
- .setOmKeyLocationInfos(keyInfo.getKeyLocationVersions())
- .setDataSize(keyInfo.getDataSize())
- .setCreationTime(keyInfo.getCreationTime())
- .setModificationTime(keyInfo.getModificationTime())
+ OmKeyInfo dnKeyInfo = keyInfo.toBuilder()
.setReplicationConfig(replicationConfig instanceof
ECReplicationConfig
?
RatisReplicationConfig.getInstance(HddsProtos.ReplicationFactor.ONE)
: keyInfo.getReplicationConfig())
- .setFileEncryptionInfo(keyInfo.getFileEncryptionInfo())
- .setAcls(keyInfo.getAcls())
- .setObjectID(keyInfo.getObjectID())
- .setUpdateID(keyInfo.getUpdateID())
- .setParentObjectID(keyInfo.getParentObjectID())
- .setFileChecksum(keyInfo.getFileChecksum())
- .setOwnerName(keyInfo.getOwnerName())
- .addAllMetadata(keyInfo.getMetadata())
.build();
dnKeyInfo.setKeyLocationVersions(keyLocationInfoGroups);
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 7cfbf4172d4..76e0cac3f46 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
@@ -546,6 +546,7 @@ public Builder setOwnerName(String owner) {
public Builder setOmKeyLocationInfos(
List<OmKeyLocationInfoGroup> omKeyLocationInfoList) {
if (omKeyLocationInfoList != null) {
+ this.omKeyLocationInfoGroups.clear();
this.omKeyLocationInfoGroups.addAll(omKeyLocationInfoList);
}
return this;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/KeyManagerImpl.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/KeyManagerImpl.java
index e1850e33bc6..604a06f5751 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/KeyManagerImpl.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/KeyManagerImpl.java
@@ -1721,19 +1721,14 @@ private OmKeyInfo createDirectoryKey(OmKeyInfo keyInfo,
String keyName)
String dir = OzoneFSUtils.addTrailingSlashIfNeeded(keyName);
FileEncryptionInfo encInfo = getFileEncryptionInfo(bucketInfo);
- return new OmKeyInfo.Builder()
- .setVolumeName(keyInfo.getVolumeName())
- .setBucketName(keyInfo.getBucketName())
+ return keyInfo.toBuilder()
.setKeyName(dir)
.setOmKeyLocationInfos(Collections.singletonList(
new OmKeyLocationInfoGroup(0, new ArrayList<>())))
.setCreationTime(Time.now())
.setModificationTime(Time.now())
.setDataSize(0)
- .setReplicationConfig(keyInfo.getReplicationConfig())
.setFileEncryptionInfo(encInfo)
- .setAcls(keyInfo.getAcls())
- .setOwnerName(keyInfo.getOwnerName())
.build();
}
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCompleteRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCompleteRequest.java
index 8db0b7402c9..cadd7f80b62 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCompleteRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCompleteRequest.java
@@ -464,7 +464,7 @@ protected OmKeyInfo getOmKeyInfo(long trxnLogIndex,
OmKeyInfo omKeyInfo = getOmKeyInfoFromKeyTable(ozoneKey, keyName,
omMetadataManager);
- OmKeyInfo.Builder builder = null;
+ OmKeyInfo.Builder builder;
if (omKeyInfo == null) {
// This is a newly added key, it does not have any versions.
OmKeyLocationInfoGroup keyLocationInfoGroup = new
@@ -475,30 +475,20 @@ protected OmKeyInfo getOmKeyInfo(long trxnLogIndex,
keyName, omMetadataManager);
// A newly created key, this is the first version.
- builder = new OmKeyInfo.Builder().setVolumeName(volumeName)
- .setBucketName(bucketName).setKeyName(dbOpenKeyInfo.getKeyName())
+ builder = dbOpenKeyInfo.toBuilder()
+ .setVolumeName(volumeName)
+ .setBucketName(bucketName)
.setReplicationConfig(ReplicationConfig.fromProto(
partKeyInfo.getType(), partKeyInfo.getFactor(),
partKeyInfo.getEcReplicationConfig()))
.setCreationTime(keyArgs.getModificationTime())
.setModificationTime(keyArgs.getModificationTime())
.setDataSize(dataSize)
- .setFileEncryptionInfo(dbOpenKeyInfo.getFileEncryptionInfo())
.setOmKeyLocationInfos(
Collections.singletonList(keyLocationInfoGroup))
- .setAcls(dbOpenKeyInfo.getAcls())
- .addAllMetadata(dbOpenKeyInfo.getMetadata())
.addMetadata(OzoneConsts.ETAG,
multipartUploadedKeyHash(partKeyInfoMap))
- .setOwnerName(keyArgs.getOwnerName())
- .addAllTags(dbOpenKeyInfo.getTags());
- // Check if db entry has ObjectID. This check is required because
- // it is possible that between multipart key uploads and complete,
- // we had an upgrade.
- if (dbOpenKeyInfo.getObjectID() != 0) {
- builder.setObjectID(dbOpenKeyInfo.getObjectID());
- }
- updatePrefixFSOInfo(dbOpenKeyInfo, builder);
+ .setOwnerName(keyArgs.getOwnerName());
} else {
OmKeyInfo dbOpenKeyInfo = getOmKeyInfoFromOpenKeyTable(multipartOpenKey,
keyName, omMetadataManager);
@@ -533,11 +523,6 @@ protected OmKeyInfo getOmKeyInfo(long trxnLogIndex,
return builder.setUpdateID(trxnLogIndex).build();
}
- protected void updatePrefixFSOInfo(OmKeyInfo dbOpenKeyInfo,
- OmKeyInfo.Builder builder) {
- // FSO is disabled. Do nothing.
- }
-
protected String getDBOzoneKey(OMMetadataManager omMetadataManager,
String volumeName, String bucketName, String keyName) throws IOException
{
return omMetadataManager.getOzoneKey(volumeName, bucketName, keyName);
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCompleteRequestWithFSO.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCompleteRequestWithFSO.java
index cf888c50e6c..a5c8b2703d6 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCompleteRequestWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCompleteRequestWithFSO.java
@@ -123,13 +123,6 @@ protected void addKeyTableCacheEntry(OMMetadataManager
omMetadataManager,
omKeyInfo.getFileName(), transactionLogIndex);
}
- @Override
- protected void updatePrefixFSOInfo(OmKeyInfo dbOpenKeyInfo,
- OmKeyInfo.Builder builder) {
- // updates parentID
- builder.setParentObjectID(dbOpenKeyInfo.getParentObjectID());
- }
-
@Override
protected String getDBOzoneKey(OMMetadataManager omMetadataManager,
String volumeName, String bucketName, String keyName)throws IOException {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]