You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by js...@apache.org on 2016/04/25 14:18:22 UTC

svn commit: r1740826 - in /jackrabbit/branches/2.10: ./ jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/acl/CompiledPermissionsImpl.java

Author: jsedding
Date: Mon Apr 25 12:18:22 2016
New Revision: 1740826

URL: http://svn.apache.org/viewvc?rev=1740826&view=rev
Log:
JCR-3971 - Make read-permission cache-size in CompiledPermissionsImpl configurable

- merged to branches/2.10

Modified:
    jackrabbit/branches/2.10/   (props changed)
    jackrabbit/branches/2.10/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/acl/CompiledPermissionsImpl.java

Propchange: jackrabbit/branches/2.10/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Apr 25 12:18:22 2016
@@ -1,3 +1,3 @@
 /jackrabbit/branches/JCR-2272:1173165-1176545
 /jackrabbit/sandbox/JCR-2415-lucene-3.0:1060860-1064038
-/jackrabbit/trunk:1729382,1732436
+/jackrabbit/trunk:1729382,1732436,1740814

Modified: jackrabbit/branches/2.10/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/acl/CompiledPermissionsImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.10/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/acl/CompiledPermissionsImpl.java?rev=1740826&r1=1740825&r2=1740826&view=diff
==============================================================================
--- jackrabbit/branches/2.10/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/acl/CompiledPermissionsImpl.java (original)
+++ jackrabbit/branches/2.10/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/acl/CompiledPermissionsImpl.java Mon Apr 25 12:18:22 2016
@@ -36,6 +36,8 @@ import org.apache.jackrabbit.core.securi
 import org.apache.jackrabbit.spi.Name;
 import org.apache.jackrabbit.spi.Path;
 import org.apache.jackrabbit.util.Text;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import javax.jcr.ItemNotFoundException;
 import javax.jcr.RepositoryException;
@@ -51,6 +53,15 @@ import java.util.Set;
  */
 class CompiledPermissionsImpl extends AbstractCompiledPermissions implements AccessControlListener {
 
+    private static final Logger LOG = LoggerFactory.getLogger(CompiledPermissionsImpl.class);
+
+    public static final int DEFAULT_MAX_CACHE_SIZE = 5000;
+
+    public static final int MAX_CACHE_SIZE = Integer.getInteger(
+            "org.apache.jackrabbit.core.security.authorization.acl.CompiledPermissionsImpl.cacheSize",
+            DEFAULT_MAX_CACHE_SIZE
+    );
+
     private final List<String> principalNames;
     private final SessionImpl session;
     private final EntryCollector entryCollector;
@@ -61,7 +72,7 @@ class CompiledPermissionsImpl extends Ab
      * removing LRU items.
      */
     @SuppressWarnings("unchecked")
-    private final Map<ItemId, Boolean> readCache = new GrowingLRUMap(1024, 5000);
+    private final Map<ItemId, Boolean> readCache = new GrowingLRUMap(1024, MAX_CACHE_SIZE);
 
     private final Object monitor = new Object();
 
@@ -84,6 +95,8 @@ class CompiledPermissionsImpl extends Ab
             */
             entryCollector.addListener(this);
         }
+
+        LOG.debug("Read permission cache size = {}", MAX_CACHE_SIZE);
     }
 
     private Result buildResult(NodeImpl node, boolean isExistingNode,