Uploaded image for project: 'Apache Ozone'
  1. Apache Ozone
  2. HDDS-5672 Support protocol aware buckets within a single OM
  3. HDDS-5929

Make FSO and OBS bucket layouts independent of normalization config flag

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 1.3.0
    • OM

    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

          Activity

            People

              aryangupta1998 Aryan Gupta
              rakeshr Rakesh Radhakrishnan
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: