[ https://issues.apache.org/jira/browse/QPID-8565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17439472#comment-17439472 ]
ASF GitHub Bot commented on QPID-8565: -------------------------------------- mklaca commented on pull request #113: URL: https://github.com/apache/qpid-broker-j/pull/113#issuecomment-961997263 Hi Alex, regarding the RulePredicate.Any performance optimization, I have measured the impact of the chain of rule predicates optimization on the performance. The time of ACL rules check decreases by 2-3%, it depends on the structure of ACL rules of course. But the optimization has always a positive impact. The whole ACL plugin performance optimization is based on the set of many small improvements that together will improve the performance significantly. I disagree that > The code readability has improved significantly without additional "any" check From my point of view, it is a small change and it allows "null check free code". The RulePredicate.Any can be used as the default value instead of null and so it could be added to the predicate chain multiple times and any null check is not needed. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org > [Broker-J] Enhancement of ACL rule predicates evaluation > -------------------------------------------------------- > > Key: QPID-8565 > URL: https://issues.apache.org/jira/browse/QPID-8565 > Project: Qpid > Issue Type: Improvement > Components: Broker-J > Reporter: Marek Laca > Priority: Minor > Labels: Broker, Java > > The access control plugin checks the rights of the user to perform an action > on the broker's component. The access control plugin iterates through the ACL > rules and checks their predicates. The user action is denied or allowed based > on the test result. > The aim of this task are refactoring of the code that is required for the > [QPID-8487|https://issues.apache.org/jira/browse/QPID-8487] and > [QPID-8488|https://issues.apache.org/jira/browse/QPID-8488], improving the > test of the ACL rule predicates and removing useless classes. Changes should > not have any impact on the functionality of the access control plugin. > The ObjectProperties class has two responsibilities, it holds the rule > predicates and also the objects properties that are checked. The > responsibilities of ObjectProperties class should be split because the code > should honor the principle of one responsibility per class. > The Rule class is treated as immutable but the immutability is not enforce by > the code. > The Action, AclAction and ClientAction classes are only data holders that > don't have any real responsibility. -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org