Siyao Meng created HDDS-15961:
---------------------------------
Summary: Resolve linked bucket source properties consistently in
getBucketInfo and listBuckets
Key: HDDS-15961
URL: https://issues.apache.org/jira/browse/HDDS-15961
Project: Apache Ozone
Issue Type: Bug
Components: Ozone Manager
Reporter: Siyao Meng
h2. Background
HDDS-15624 and PR [#10745|https://github.com/apache/ozone/pull/10745]
introduced shared logic that resolves the source of a linked bucket and copies
its operational properties into the returned bucket information.
Two consistency gaps remain.
h2. Problem
*Source access handling*
Source properties should only be copied after confirming that the source bucket
can be accessed by the current caller. If the source cannot be resolved or
accessed, the API should return the stored information for the link bucket
without copying properties from the source.
This behavior should be consistent between {{getBucketInfo}} and
{{listBuckets}}. A single link whose source properties cannot be retrieved
should not cause the entire bucket listing to fail.
*Encryption information*
{{OmBucketInfo.withOperationalPropertiesFrom}} copies replication, layout,
quota, usage, metadata, tags, and other source properties, but it does not copy
{{BucketEncryptionKeyInfo}}.
A link bucket cannot define its own encryption key. Therefore, a link to an
encrypted source currently retains a null encryption value. RPC clients
consequently return null from {{OzoneBucket.getEncryptionKeyName()}}, and OFS
may report the linked bucket as unencrypted even though its source is encrypted.
h2. Expected behavior
* Check access to the resolved source bucket before copying its operational
properties.
* If the source cannot be resolved or accessed, return the stored information
for the link bucket. For {{listBuckets}}, continue processing the remaining
entries.
* When the source properties can be returned, include the source bucket
encryption information along with its other operational properties.
* Preserve the link identity fields, including its volume, bucket name, owner,
source path, ACLs, timestamps, and object/update IDs.
h2. References
* [HDDS-15624|https://issues.apache.org/jira/browse/HDDS-15624]
* [Apache Ozone PR #10745|https://github.com/apache/ozone/pull/10745]
* [HDDS-5530|https://issues.apache.org/jira/browse/HDDS-5530]
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]