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 ch...@apache.org on 2013/11/20 09:02:39 UTC
svn commit: r1543730 -
/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/mongomk/CacheInvalidator.java
Author: chetanm
Date: Wed Nov 20 08:02:39 2013
New Revision: 1543730
URL: http://svn.apache.org/r1543730
Log:
OAK-1156 - Improve the document cache invalidation logic to selectively invalidate doc
Adding an extra check that sameLevelNodes is not empty. Otherwise unnecessary query would be performed with empty node list
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/mongomk/CacheInvalidator.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/mongomk/CacheInvalidator.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/mongomk/CacheInvalidator.java?rev=1543730&r1=1543729&r2=1543730&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/mongomk/CacheInvalidator.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/mongomk/CacheInvalidator.java Wed Nov 20 08:02:39 2013
@@ -187,15 +187,15 @@ abstract class CacheInvalidator {
final boolean hasMore = pitr.hasNext();
//Change in level or last element
- if ((hasMore && tn.level() != pitr.peek().level())
- ||
- (!hasMore && !sameLevelNodes.isEmpty())) {
+ if (!sameLevelNodes.isEmpty() &&
+ ((hasMore && tn.level() != pitr.peek().level()) || !hasMore )) {
QueryBuilder query = QueryBuilder.start(Document.ID)
.in(sameLevelNodes.keySet());
//Fetch lastRev and modCount for each such nodes
DBCursor cursor = nodes.find(query.get(), keys);
+ LOG.debug("Checking for changed nodes at level {} with {} paths",tn.level(),sameLevelNodes.size());
result.queryCount++;
for (DBObject obj : cursor) {