Gargi-jais11 commented on code in PR #11626:
URL: https://github.com/apache/ozone/pull/11626#discussion_r4345426376


##########
hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyRequest.java:
##########
@@ -1210,9 +1209,11 @@ private OmKeyInfo prepareMultipartFileInfo(
     }
     // For this upload part we don't need to check in KeyTable. As this
     // is not an actual key, it is a part of the key.
+    // The part takes the storage policy of the multipart key, not the one in 
args: the client
+    // does not send it when opening a part, and allocateBlock later sends the 
policy of this part.

Review Comment:
   Adding one more case to @devmadhuu example: 
   Right now the streaming path doesn't send the policy at all. 
`BlockOutputStreamEntryPool `sets `info.getStoragePolicy()` on the 
allocateBlock args, but `BlockDataStreamOutputEntryPool` doesn't, so OM falls 
back to the bucket's current policy.
   
   For example, initiate with COLD on a WARM bucket and upload parts via 
**createMultipartStreamKey**: all blocks go to WARM, but the completed key says 
COLD. S3G hits this for UploadPart when 
`hdds.container.ratis.datastream.enabled=true.`
   
   Can we set the policy in **BlockDataStreamOutputEntryPool** too and add a 
streaming variant of the MPU test? Handling old clients on the OM side can be a 
follow-up.



-- 
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