Details
-
Sub-task
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
Description
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
// 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()); }
Attachments
Issue Links
- links to