You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by th...@apache.org on 2013/03/05 12:17:56 UTC
svn commit: r1452741 - in
/jackrabbit/oak/trunk/oak-mongomk/src/main/java/org/apache/jackrabbit/mongomk/prototype:
MongoDocumentStore.java MongoMK.java
Author: thomasm
Date: Tue Mar 5 11:17:56 2013
New Revision: 1452741
URL: http://svn.apache.org/r1452741
Log:
OAK-668 Make cache size / limits configurable
Modified:
jackrabbit/oak/trunk/oak-mongomk/src/main/java/org/apache/jackrabbit/mongomk/prototype/MongoDocumentStore.java
jackrabbit/oak/trunk/oak-mongomk/src/main/java/org/apache/jackrabbit/mongomk/prototype/MongoMK.java
Modified: jackrabbit/oak/trunk/oak-mongomk/src/main/java/org/apache/jackrabbit/mongomk/prototype/MongoDocumentStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-mongomk/src/main/java/org/apache/jackrabbit/mongomk/prototype/MongoDocumentStore.java?rev=1452741&r1=1452740&r2=1452741&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-mongomk/src/main/java/org/apache/jackrabbit/mongomk/prototype/MongoDocumentStore.java (original)
+++ jackrabbit/oak/trunk/oak-mongomk/src/main/java/org/apache/jackrabbit/mongomk/prototype/MongoDocumentStore.java Tue Mar 5 11:17:56 2013
@@ -52,7 +52,7 @@ public class MongoDocumentStore implemen
private long time;
private Cache<String, Map<String, Object>> cache =
- new Cache<String, Map<String, Object>>(1024 * 20);
+ new Cache<String, Map<String, Object>>(MongoMK.CACHE_DOCUMENTS);
public MongoDocumentStore(DB db) {
nodesCollection = db.getCollection(Collection.NODES.toString());
Modified: jackrabbit/oak/trunk/oak-mongomk/src/main/java/org/apache/jackrabbit/mongomk/prototype/MongoMK.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-mongomk/src/main/java/org/apache/jackrabbit/mongomk/prototype/MongoMK.java?rev=1452741&r1=1452740&r2=1452741&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-mongomk/src/main/java/org/apache/jackrabbit/mongomk/prototype/MongoMK.java (original)
+++ jackrabbit/oak/trunk/oak-mongomk/src/main/java/org/apache/jackrabbit/mongomk/prototype/MongoMK.java Tue Mar 5 11:17:56 2013
@@ -47,6 +47,21 @@ import com.mongodb.DB;
* A MicroKernel implementation that stores the data in a MongoDB.
*/
public class MongoMK implements MicroKernel {
+
+ /**
+ * The number of documents to cache.
+ */
+ static final int CACHE_DOCUMENTS = Integer.getInteger("oak.mongoMK.cacheDocs", 20 * 1024);
+
+ /**
+ * The number of child node list entries to cache.
+ */
+ private static final int CACHE_CHILDREN = Integer.getInteger("oak.mongoMK.cacheChildren", 1024);
+
+ /**
+ * The number of nodes to cache.
+ */
+ private static final int CACHE_NODES = Integer.getInteger("oak.mongoMK.cacheNodes", 1024);
private static final Logger LOG = LoggerFactory.getLogger(MongoMK.class);
@@ -88,13 +103,14 @@ public class MongoMK implements MicroKer
* Key: path@rev
* Value: node
*/
- private final Map<String, Node> nodeCache = new Cache<String, Node>(1024);
+ private final Map<String, Node> nodeCache =
+ new Cache<String, Node>(CACHE_NODES);
/**
* Child node cache.
*/
private Cache<String, Node.Children> nodeChildrenCache =
- new Cache<String, Node.Children>(1024);
+ new Cache<String, Node.Children>(CACHE_CHILDREN);
/**
* The unsaved write count increments.