greenwich commented on code in PR #11229:
URL: https://github.com/apache/ozone/pull/11229#discussion_r4119277176


##########
hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/util/S3Consts.java:
##########
@@ -131,6 +131,11 @@ public final class S3Consts {
   /** Request header carrying the list of object attributes to return. */
   public static final String OBJECT_ATTRIBUTES_HEADER = 
"x-amz-object-attributes";
 
+  // S3 storage class values passed via the `x-amz-storage-class` request 
header.
+  public static final String S3_STORAGE_CLASS_STANDARD = "STANDARD";
+  public static final String S3_STORAGE_CLASS_STANDARD_IA = "STANDARD_IA";
+  public static final String S3_STORAGE_CLASS_GLACIER = "GLACIER";
+

Review Comment:
   One thing worth settling before the enum shape: for S3 buckets that are 
links, which bucket supplies the policy? 
   A bucket created through the S3 API is a real bucket in `/s3v`, so 
inheriting from the bucket works fine there. But where an existing Ozone bucket 
is exposed via `ozone sh bucket link`, the gateway reads the link row's 
properties: `getBucketInfo` doesn't resolve links `(OzoneManagerUtils:63)`, 
while the key write is rewritten to the resolved target `(OMKeyRequest:141, 
bucket.update(keyArgs))`. 
   
   Today that already means replication comes from the link rather than the 
target; if the tier defaults from the bucket policy, it hits the same split, 
with the link row unset and the real bucket carrying the intended policy.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to