Uploaded image for project: 'Apache Ozone'
  1. Apache Ozone
  2. HDDS-10066

Consolidate and test the Ratis write path for prefix ACL

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Implemented
    • None
    • 2.0.0
    • OM

    Description

      While working on Prefix ACL, it's found that there are very little tests on Prefix ACL OM HA request and response flow. We need to add more tests for prefix ACL.

      There are also identified possible bugs that might have be a problem in the future. They are:

      • It's found that OmPrefixInfo and PersistedPrefixInfo do not store and load the updateID and the objectID from DB correctly
        • We need to add the object ID and updateID in the prefix codec process.
      • UpdateID stored in the OmPrefixInfo on the in-memory prefix tree are not updated
        • In OMPrefixAclRequest, the setUpdateId is called after the we apply the ACL operation to the prefix tree (through PrefixManager), this causes OmPrefixInfo update ID to be different than the one in the OM DB
        • We need set the update ID to OmPrefixInfo before we apply the ACL operation to the prefix tree, so that it will be reflected as well.
      • PrefixManager only updates the OmPrefixInfo in the prefix tree for ACL operations that changes underlying ACLs
        • If there is no changes in the underlying ACL (e.g. adding existing ACL), the prefix tree will not be updated 
        • However, under the OM HA write flow, every request will update the updateID
        • Therefore, we need to update the prefix tree regardless whether the ACL operation results in ACL change
      • Add prefix object validation in OMPrefixAclRequest#validateAndUpdateCache

      Attachments

        Issue Links

          Activity

            People

              ivanandika Ivan Andika
              ivanandika Ivan Andika
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: