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/10/21 16:02:06 UTC
svn commit: r1534163 -
/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/mongomk/MongoNodeStore.java
Author: thomasm
Date: Mon Oct 21 14:02:06 2013
New Revision: 1534163
URL: http://svn.apache.org/r1534163
Log:
OAK-825 Unnecessary performance overhead (too many child nodes are traversed)
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/mongomk/MongoNodeStore.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/mongomk/MongoNodeStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/mongomk/MongoNodeStore.java?rev=1534163&r1=1534162&r2=1534163&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/mongomk/MongoNodeStore.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/mongomk/MongoNodeStore.java Mon Oct 21 14:02:06 2013
@@ -533,13 +533,18 @@ public final class MongoNodeStore implem
docChildrenCache.put(path, clone);
c = clone;
}
- return Iterables.transform(c.childNames, new Function<String, NodeDocument>() {
+ Iterable<NodeDocument> it = Iterables.transform(c.childNames,
+ new Function<String, NodeDocument>() {
@Override
public NodeDocument apply(String name) {
String p = PathUtils.concat(path, name);
return store.find(Collection.NODES, Utils.getIdFromPath(p));
}
});
+ if (c.childNames.size() > limit) {
+ it = Iterables.limit(it, limit);
+ }
+ return it;
}
@CheckForNull