Ivan Andika created HDDS-10066:
----------------------------------

             Summary: Consolidate and tests the Ratis write path for prefix ACL
                 Key: HDDS-10066
                 URL: https://issues.apache.org/jira/browse/HDDS-10066
             Project: Apache Ozone
          Issue Type: Improvement
          Components: OM
            Reporter: Ivan Andika
            Assignee: Ivan Andika


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:
 * PrefixManagerImpl should not update the Prefix table entry directly. This is 
because all write needs to go through OM Table Cache.
 ** The update to prefix table on PrefixManager is valid if ratis is not 
enabled. 
 ** [-SPDI-110974-|https://jira.shopee.io/browse/SPDI-110974] wrongly updated 
the prefix table even if ratis is enabled.
 ** We have to revert this change.
 * 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



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to