jackrabbit-oak-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Dürig <mdue...@apache.org>
Subject Re: Observation throughput
Date Fri, 21 Jun 2013 10:25:49 GMT


On 21.6.13 10:46, Jukka Zitting wrote:
> I'd look higher up the stack.

Indeed.

If I do

--- 
oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelNodeState.java 
(date 1371713356000)
+++ 
oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelNodeState.java 
(revision )
@@ -419,8 +419,7 @@
                          return true; // no differences
                      } else if (id != null && id.equals(kbase.id)) {
                          return true; // no differences
-                    } else if (path.equals(kbase.path)
-                            && childNodeCount > MAX_CHILD_NODE_NAMES) {
+                    } else if (path.equals(kbase.path)) {
                          // use MK.diff() when there are 'many' child nodes
                          String jsonDiff = 
kernel.diff(kbase.getRevision(), revision, path, 0);
                          processJsonDiff(jsonDiff, kbase, diff);

These stack traces do not show up any more and there is no more piling 
up of observation events. Furthermore total execution time of 
benchmark/ObservationTime goes down by a factor of 3!

Any reason we only use the kernel diff for big child node lists?

Michael

Mime
View raw message