[ 
https://issues.apache.org/jira/browse/HDDS-5929?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Rakesh Radhakrishnan updated HDDS-5929:
---------------------------------------
    Status: Patch Available  (was: Open)

> Make FSO and OBS bucket layouts independent of normalization config flag
> ------------------------------------------------------------------------
>
>                 Key: HDDS-5929
>                 URL: https://issues.apache.org/jira/browse/HDDS-5929
>             Project: Apache Ozone
>          Issue Type: Sub-task
>          Components: OM
>            Reporter: Rakesh Radhakrishnan
>            Assignee: Aryan Gupta
>            Priority: Major
>              Labels: pull-request-available
>
> Presently FILE_SYSTEM_OPTIMIZED("FSO") and OBJECT_STORE("OBS") implementation 
> depends on {{"ozone.om.enable.filesystem.paths"}} flag. This flag should be 
> enabled explicitly for the FSO logic and disabled explicitly for the OBS 
> logic. This task is to remove the dependency with the normalization config 
> flag for the FSO and OBS bucket layouts. 
> *case-1)* {{FSO bucket layout}} should normalize the given key path 
> irrespective of the above flag value.
> *case-2)* {{OBS bucket layout}} shouldn't normalize the given key path 
> irrespective of the above flag value.
> *case-3)* {{LEGACY bucket layout}} should read the configuration flag and 
> perform normalize the given key path based on the above config flag.
>  
> +*Hint*+
> {code:java}
>  // normalize key if required.
>  String keyName;
>  if (getBucketLayout() == BucketLayout.OBJECT_STORE) {
>       keyName = keyArgs.getKeyName(); // pure object store semantics.
>  } else if (getBucketLayout() == BucketLayout.FILE_SYSTEM_OPTIMIZED) {
>       keyName = validateAndNormalizeKey(true, keyArgs.getKeyName()); // pure 
> FS semantics.
>  } else {
>       // legacy bucket, normalize key based on 
> "ozone.om.enable.filesystem.paths" flag value.
>       keyName = validateAndNormalizeKey(
>       ozoneManager.getEnableFileSystemPaths(), keyArgs.getKeyName());
>  }
>  {code}
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

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

Reply via email to