keith-turner commented on code in PR #113:
URL: https://github.com/apache/accumulo-access/pull/113#discussion_r2933636576


##########
modules/core/src/main/java/org/apache/accumulo/access/impl/AccessEvaluatorImpl.java:
##########
@@ -43,7 +45,27 @@ public final class AccessEvaluatorImpl implements 
AccessEvaluator {
    */
   AccessEvaluatorImpl(Predicate<String> authorizationChecker,
       AuthorizationValidator authorizationValidator) {
-    this.authorizedPredicate = auth -> 
authorizationChecker.test(auth.toString());
+
+    // This map helps avoid allocating string objects on each call to this 
predicate
+    Map<CharsWrapper,Boolean> checkCache = new ConcurrentHashMap<>();
+    this.authorizedPredicate = auth -> {
+      if (auth instanceof CharsWrapper wrapped) {
+        // Try to avoid allocating a string object and copying the char array.
+        Boolean cachedResult = checkCache.get(wrapped);

Review Comment:
   No, the lookup key and insert key are not the same.  Need to allocate a key 
for insertion.



-- 
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]

Reply via email to