Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HADOOP-19161. S3A: option "fs.s3a.performance.flags" to take list of performance flags (#6789) #6966

Commits on Jul 29, 2024

  1. HADOOP-19161. S3A: option "fs.s3a.performance.flags" to take list of …

    …performance flags (apache#6789)
    
    
    
    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
    steveloughran committed Jul 29, 2024
    Configuration menu
    Copy the full SHA
    4e22e8d View commit details
    Browse the repository at this point in the history