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]

Reply via email to