Devesh Kumar Singh created HDDS-17521:
-----------------------------------------
Summary: Add an optional S3 Gateway setting to prefer bucket
replication and storage policy
Key: HDDS-17521
URL: https://issues.apache.org/jira/browse/HDDS-17521
Project: Apache Ozone
Issue Type: Sub-task
Components: Ozone Client
Reporter: Devesh Kumar Singh
Assignee: Devesh Kumar Singh
An explicit S3 storage-class header can override a bucket’s replication
configuration. For example:
1. A bucket uses EC replication.
2. A copy tool uploads an object with x-amz-storage-class: STANDARD.
3. The gateway selects RATIS/THREE instead of the bucket’s EC configuration.
This can produce objects with a different replication configuration than the
operator intended.
Storage-policy support introduces a related case: an archive-class request
could select COLD for a bucket configured as HOT. This needs to be addressed
when the new resolver is integrated into S3 write operations.
Introduce an optional S3 Gateway setting that gives explicitly configured
bucket replication and storage policy priority. Keep the option disabled by
default to preserve existing behavior. When a bucket setting is absent, retain
the existing resolution rules for that setting.
*Decision needed*
Agree on how to handle an archive-class request that conflicts with the
bucket’s settings. The proposed approach is to reject the request with a clear
error, rather than silently accept it with different storage behavior.
*Acceptance criteria*
- With the option disabled, existing request handling remains unchanged.
- With it enabled, an EC bucket retains EC when a client sends STANDARD.
- Conflicting archive requests follow the agreed behavior and have focused
tests.
- Regular uploads, copies, and multipart upload initialization apply the same
rules. Multipart uploads retain the configuration selected at initialization.
- Tests cover missing bucket settings, invalid storage-class headers, and
linked buckets.
- Changing the gateway setting does not modify existing objects. Responses
describe stored object metadata.
- Documentation explains the default, precedence rules, conflict handling, and
restart requirements.
cc: [~SaketaChalamchala] [~greenwich]
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]