[ 
https://issues.apache.org/jira/browse/HADOOP-19161?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17869322#comment-17869322
 ] 

ASF GitHub Bot commented on HADOOP-19161:
-----------------------------------------

steveloughran opened a new pull request, #6966:
URL: https://github.com/apache/hadoop/pull/6966

   
   
   
   1. Configuration adds new method `getEnumSet()` to get a set of enum values 
from a configuration string. <E extends Enum<E>> EnumSet<E> getEnumSet(String 
key, Class<E> enumClass, boolean ignoreUnknown)
   
      Whitespace is ignored, case is ignored and the value "*" is mapped to 
"all values of the enum". If "ignoreUnknown" is true then when parsing, unknown 
values are ignored. This is recommended for forward compatiblity with later 
versions.
   
   2. This support is implemented in 
org.apache.hadoop.fs.s3a.impl.ConfigurationHelper -it can be used elsewhere in 
the hadoop codebase.
   
   3. A new private FlagSet class in hadoop common manages a set of enum flags.
   
        It implements StreamCapabilities and can be probed for a specific 
option being set
       (with a prefix)
   
   
   S3A adds an option fs.s3a.performance.flags which builds a FlagSet with enum 
type PerformanceFlagEnum
   
   * which initially contains {Create, Delete, Mkdir, Open}
   * the existing fs.s3a.create.performance option sets the flag "Create".
   * tests which configure fs.s3a.create.performance MUST clear 
fs.s3a.performance.flags in test setup.
   
   Future performance flags are planned, with different levels of safety and/or 
backwards compatibility.
   
   Contributed by Steve Loughran
   
   
   ### For code changes:
   
   - [ ] Does the title or this PR starts with the corresponding JIRA issue id 
(e.g. 'HADOOP-17799. Your PR title ...')?
   - [ ] Object storage: have the integration tests been executed and the 
endpoint declared according to the connector-specific documentation?
   - [ ] If adding new dependencies to the code, are these dependencies 
licensed in a way that is compatible for inclusion under [ASF 
2.0](http://www.apache.org/legal/resolved.html#category-a)?
   - [ ] If applicable, have you updated the `LICENSE`, `LICENSE-binary`, 
`NOTICE-binary` files?
   
   




> S3A: option "fs.s3a.performance.flags" to take list of performance flags
> ------------------------------------------------------------------------
>
>                 Key: HADOOP-19161
>                 URL: https://issues.apache.org/jira/browse/HADOOP-19161
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: fs/s3
>    Affects Versions: 3.4.1
>            Reporter: Steve Loughran
>            Assignee: Steve Loughran
>            Priority: Major
>              Labels: pull-request-available
>
> HADOOP-19072 shows we want to add more optimisations than that of 
> HADOOP-18930.
> * Extending the new optimisations to the existing option is brittle
> * Adding explicit options for each feature gets complext fast.
> Proposed
> * A new class S3APerformanceFlags keeps all the flags
> * it build this from a string[] of values, which can be extracted from 
> getConf(),
> * and it can also support a "*" option to mean "everything"
> * this class can also be handed off to hasPathCapability() and do the right 
> thing.
> Proposed optimisations
> * create file (we will hook up HADOOP-18930)
> * mkdir (HADOOP-19072)
> * delete (probe for parent path)
> * rename (probe for source path)
> We could think of more, with different names, later.
> The goal is make it possible to strip out every HTTP request we do for 
> safety/posix compliance, so applications have the option of turning off what 
> they don't need.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org

Reply via email to