[
https://issues.apache.org/jira/browse/QPID-8565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17439343#comment-17439343
]
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
> [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: [email protected]
For additional commands, e-mail: [email protected]