[ 
https://issues.apache.org/jira/browse/HADOOP-12020?focusedWorklogId=766645&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-766645
 ]

ASF GitHub Bot logged work on HADOOP-12020:
-------------------------------------------

                Author: ASF GitHub Bot
            Created on: 05/May/22 13:40
            Start Date: 05/May/22 13:40
    Worklog Time Spent: 10m 
      Work Description: monthonk commented on code in PR #3877:
URL: https://github.com/apache/hadoop/pull/3877#discussion_r865918646


##########
hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3AFileSystem.java:
##########
@@ -963,7 +965,15 @@ protected RequestFactory createRequestFactory() {
     // Any encoding type
     String contentEncoding = getConf().getTrimmed(CONTENT_ENCODING, null);
 
-    String storageClass = getConf().getTrimmed(STORAGE_CLASS, null);
+    StorageClass storageClass;
+    try {
+      String storageClassConf = getConf()
+          .getTrimmed(STORAGE_CLASS, "")
+          .toUpperCase(Locale.US);
+      storageClass = StorageClass.fromValue(storageClassConf);
+    } catch (IllegalArgumentException e) {
+      storageClass = null;

Review Comment:
   sounds good, i will add some logging at warn to let users know that they 
should check storage class config





Issue Time Tracking
-------------------

    Worklog Id:     (was: 766645)
    Time Spent: 1h  (was: 50m)

> Support AWS S3 reduced redundancy storage class
> -----------------------------------------------
>
>                 Key: HADOOP-12020
>                 URL: https://issues.apache.org/jira/browse/HADOOP-12020
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: fs/s3
>    Affects Versions: 2.7.0
>         Environment: Hadoop on AWS
>            Reporter: Yann Landrin-Schweitzer
>            Assignee: Monthon Klongklaew
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 1h
>  Remaining Estimate: 0h
>
> Amazon S3 uses, by default, the NORMAL_STORAGE class for s3 objects.
> This offers, according to Amazon's material, 99.99999999% reliability.
> For many applications, however, the 99.99% reliability offered by the 
> REDUCED_REDUNDANCY storage class is amply sufficient, and comes with a 
> significant cost saving.
> HDFS, when using the legacy s3n protocol, or the new s3a scheme, should 
> support overriding the default storage class of created s3 objects so that 
> users can take advantage of this cost benefit.
> This would require minor changes of the s3n and s3a drivers, using 
> a configuration property fs.s3n.storage.class to override the default storage 
> when desirable. 
> This override could be implemented in Jets3tNativeFileSystemStore with:
>       S3Object object = new S3Object(key);
>       ...
>       if(storageClass!=null)  object.setStorageClass(storageClass);
> It would take a more complex form in s3a, e.g. setting:
>     InitiateMultipartUploadRequest initiateMPURequest =
>         new InitiateMultipartUploadRequest(bucket, key, om);
>     if(storageClass !=null ) {
>         initiateMPURequest = 
> initiateMPURequest.withStorageClass(storageClass);
>     }
> and similar statements in various places.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

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

Reply via email to