Reading 10000 items with 1 initial ACEs and 1 principals per subject ----------------------------------------------------------- java -Xmx2048m -Dprofile=true -Druntime=5 -Dwarmup=1 -jar target/oak-benchmarks-1.20-SNAPSHOT.jar benchmark --itemsToRead 10000 --numberOfInitialAce 1 --numberOfUsers 1 --entriesForEachPrincipal false --reverseOrder false --compositionType AND --useAggregationFilter true --csvFile HasItemGetItemIsModifiedTest_10000_cycle_principalbased-AND-aggregationfilter_20191010_135356.csv --concurrency 1,10,20,50 --report false HasItemGetItemIsModifiedTest Oak-Segment-Tar Apache Jackrabbit Oak 1.20-SNAPSHOT # HasItemGetItemIsModifiedTe C min 10% 50% 90% max N Import deep tree: 7006 All paths: 123545 Oak-Segment-Tar 1 155 157 161 173 177 31 Oak-Segment-Tar 10 305 328 346 388 441 150 Oak-Segment-Tar 20 391 659 873 1094 1194 120 Oak-Segment-Tar 50 820 1449 1848 2274 2591 152 Profiler: top 5 stack trace(s) of of 22812 ms of 3962 thread dumps: 3962/35330 (11%): at app//org.apache.jackrabbit.oak.commons.Profiler.getRunnableStackTraces(Profiler.java:207) at app//org.apache.jackrabbit.oak.commons.Profiler.tick(Profiler.java:376) at app//org.apache.jackrabbit.oak.commons.Profiler.run(Profiler.java:352) 1736/35330 (4%): at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:126) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:450) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.itemExists(SessionImpl.java:373) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:48) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 1556/35330 (4%): at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:126) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:450) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItem(SessionImpl.java:364) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:49) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 657/35330 (1%): at app//org.apache.jackrabbit.oak.segment.MapRecord.getEntry(MapRecord.java:217) at app//org.apache.jackrabbit.oak.segment.MapRecord.getEntry(MapRecord.java:172) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:452) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.itemExists(SessionImpl.java:373) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:48) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 655/35330 (1%): at app//org.apache.jackrabbit.oak.segment.MapRecord.getEntry(MapRecord.java:217) at app//org.apache.jackrabbit.oak.segment.MapRecord.getEntry(MapRecord.java:172) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:452) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItem(SessionImpl.java:364) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:49) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) summary: 38%: app//org.apache.jackrabbit.oak.segment 19%: app//org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl 17%: app//org.apache.jackrabbit.oak.commons 5%: app//org.apache.jackrabbit.oak.plugins.memory 4%: app//org.apache.jackrabbit.oak.core . Reading 10000 items with 1 initial ACEs and 10 principals per subject ----------------------------------------------------------- java -Xmx2048m -Dprofile=true -Druntime=5 -Dwarmup=1 -jar target/oak-benchmarks-1.20-SNAPSHOT.jar benchmark --itemsToRead 10000 --numberOfInitialAce 1 --numberOfUsers 10 --entriesForEachPrincipal false --reverseOrder false --compositionType AND --useAggregationFilter true --csvFile HasItemGetItemIsModifiedTest_10000_cycle_principalbased-AND-aggregationfilter_20191010_135356.csv --concurrency 1,10,20,50 --report false HasItemGetItemIsModifiedTest Oak-Segment-Tar Apache Jackrabbit Oak 1.20-SNAPSHOT # HasItemGetItemIsModifiedTe C min 10% 50% 90% max N Import deep tree: 5924 All paths: 123545 Oak-Segment-Tar 1 161 162 169 190 218 30 Oak-Segment-Tar 10 320 329 342 368 382 150 Oak-Segment-Tar 20 405 621 720 800 918 148 Oak-Segment-Tar 50 728 1168 1680 1942 2212 167 Profiler: top 5 stack trace(s) of of 22722 ms of 4182 thread dumps: 4182/40595 (10%): at app//org.apache.jackrabbit.oak.commons.Profiler.getRunnableStackTraces(Profiler.java:207) at app//org.apache.jackrabbit.oak.commons.Profiler.tick(Profiler.java:376) at app//org.apache.jackrabbit.oak.commons.Profiler.run(Profiler.java:352) 1354/40595 (3%): at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplateId(SegmentNodeState.java:117) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:126) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:450) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.itemExists(SessionImpl.java:373) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:48) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 1195/40595 (2%): at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplateId(SegmentNodeState.java:117) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:126) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:450) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItem(SessionImpl.java:364) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:49) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 847/40595 (2%): at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNodeMap(SegmentNodeState.java:133) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:452) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItem(SessionImpl.java:364) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:49) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 809/40595 (1%): at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNodeMap(SegmentNodeState.java:133) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:452) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.itemExists(SessionImpl.java:373) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:48) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) summary: 36%: app//org.apache.jackrabbit.oak.segment 18%: app//org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl 12%: app//org.apache.jackrabbit.oak.commons 7%: app//org.apache.jackrabbit.oak.core 4%: app//org.apache.jackrabbit.oak.cache . Reading 10000 items with 1 initial ACEs and 100 principals per subject ----------------------------------------------------------- java -Xmx2048m -Dprofile=true -Druntime=5 -Dwarmup=1 -jar target/oak-benchmarks-1.20-SNAPSHOT.jar benchmark --itemsToRead 10000 --numberOfInitialAce 1 --numberOfUsers 100 --entriesForEachPrincipal false --reverseOrder false --compositionType AND --useAggregationFilter true --csvFile HasItemGetItemIsModifiedTest_10000_cycle_principalbased-AND-aggregationfilter_20191010_135356.csv --concurrency 1,10,20,50 --report false HasItemGetItemIsModifiedTest Oak-Segment-Tar Apache Jackrabbit Oak 1.20-SNAPSHOT # HasItemGetItemIsModifiedTe C min 10% 50% 90% max N Import deep tree: 5649 All paths: 123545 Oak-Segment-Tar 1 156 157 163 183 270 30 Oak-Segment-Tar 10 331 339 348 360 373 150 Oak-Segment-Tar 20 464 667 748 838 934 140 Oak-Segment-Tar 50 941 1235 1744 1965 2367 169 Profiler: top 5 stack trace(s) of of 22942 ms of 4105 thread dumps: 4105/39817 (10%): at app//org.apache.jackrabbit.oak.commons.Profiler.getRunnableStackTraces(Profiler.java:207) at app//org.apache.jackrabbit.oak.commons.Profiler.tick(Profiler.java:376) at app//org.apache.jackrabbit.oak.commons.Profiler.run(Profiler.java:352) 2116/39817 (5%): at app//org.apache.jackrabbit.oak.cache.CacheLIRS.getIfPresent(CacheLIRS.java:371) at app//org.apache.jackrabbit.oak.segment.ReaderCache.get(ReaderCache.java:115) at app//org.apache.jackrabbit.oak.segment.CachingSegmentReader.readTemplate(CachingSegmentReader.java:125) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:126) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:450) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.itemExists(SessionImpl.java:373) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:48) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 1928/39817 (4%): at app//org.apache.jackrabbit.oak.cache.CacheLIRS.getIfPresent(CacheLIRS.java:371) at app//org.apache.jackrabbit.oak.segment.ReaderCache.get(ReaderCache.java:115) at app//org.apache.jackrabbit.oak.segment.CachingSegmentReader.readTemplate(CachingSegmentReader.java:125) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:126) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:450) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItem(SessionImpl.java:364) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:49) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 773/39817 (1%): at app//org.apache.jackrabbit.oak.segment.MapRecord.getEntry(MapRecord.java:217) at app//org.apache.jackrabbit.oak.segment.MapRecord.getEntry(MapRecord.java:172) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:452) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.itemExists(SessionImpl.java:373) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:48) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 763/39817 (1%): at app//org.apache.jackrabbit.oak.segment.MapRecord.getEntry(MapRecord.java:217) at app//org.apache.jackrabbit.oak.segment.MapRecord.getEntry(MapRecord.java:172) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:452) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItem(SessionImpl.java:364) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:49) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) summary: 30%: app//org.apache.jackrabbit.oak.segment 19%: app//org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl 15%: app//org.apache.jackrabbit.oak.commons 11%: app//org.apache.jackrabbit.oak.cache 4%: app//org.apache.jackrabbit.oak.core . Reading 10000 items with 1 initial ACEs and 1000 principals per subject ----------------------------------------------------------- java -Xmx2048m -Dprofile=true -Druntime=5 -Dwarmup=1 -jar target/oak-benchmarks-1.20-SNAPSHOT.jar benchmark --itemsToRead 10000 --numberOfInitialAce 1 --numberOfUsers 1000 --entriesForEachPrincipal false --reverseOrder false --compositionType AND --useAggregationFilter true --csvFile HasItemGetItemIsModifiedTest_10000_cycle_principalbased-AND-aggregationfilter_20191010_135356.csv --concurrency 1,10,20,50 --report false HasItemGetItemIsModifiedTest Oak-Segment-Tar Apache Jackrabbit Oak 1.20-SNAPSHOT # HasItemGetItemIsModifiedTe C min 10% 50% 90% max N Import deep tree: 5973 All paths: 123545 Oak-Segment-Tar 1 164 166 168 184 215 29 Oak-Segment-Tar 10 349 366 389 451 479 130 Oak-Segment-Tar 20 508 688 783 875 1009 137 Oak-Segment-Tar 50 850 1378 1782 2048 2389 159 Profiler: top 5 stack trace(s) of of 22735 ms of 4091 thread dumps: 4091/39607 (10%): at app//org.apache.jackrabbit.oak.commons.Profiler.getRunnableStackTraces(Profiler.java:207) at app//org.apache.jackrabbit.oak.commons.Profiler.tick(Profiler.java:376) at app//org.apache.jackrabbit.oak.commons.Profiler.run(Profiler.java:352) 1585/39607 (4%): at app//org.apache.jackrabbit.oak.cache.CacheLIRS.getIfPresent(CacheLIRS.java:371) at app//org.apache.jackrabbit.oak.segment.ReaderCache.get(ReaderCache.java:115) at app//org.apache.jackrabbit.oak.segment.CachingSegmentReader.readTemplate(CachingSegmentReader.java:125) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:126) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:450) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.itemExists(SessionImpl.java:373) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:48) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 1568/39607 (3%): at app//org.apache.jackrabbit.oak.cache.CacheLIRS.getIfPresent(CacheLIRS.java:371) at app//org.apache.jackrabbit.oak.segment.ReaderCache.get(ReaderCache.java:115) at app//org.apache.jackrabbit.oak.segment.CachingSegmentReader.readTemplate(CachingSegmentReader.java:125) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:126) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:450) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItem(SessionImpl.java:364) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:49) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 755/39607 (1%): at app//org.apache.jackrabbit.oak.segment.MapRecord.getEntry(MapRecord.java:171) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:452) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.itemExists(SessionImpl.java:373) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:48) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 710/39607 (1%): at app//org.apache.jackrabbit.oak.segment.MapRecord.getEntry(MapRecord.java:171) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:452) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItem(SessionImpl.java:364) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:49) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) summary: 28%: app//org.apache.jackrabbit.oak.segment 19%: app//org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl 12%: app//org.apache.jackrabbit.oak.commons 9%: app//org.apache.jackrabbit.oak.cache 6%: app//org.apache.jackrabbit.oak.core . Reading 10000 items with 10 initial ACEs and 1 principals per subject ----------------------------------------------------------- java -Xmx2048m -Dprofile=true -Druntime=5 -Dwarmup=1 -jar target/oak-benchmarks-1.20-SNAPSHOT.jar benchmark --itemsToRead 10000 --numberOfInitialAce 10 --numberOfUsers 1 --entriesForEachPrincipal false --reverseOrder false --compositionType AND --useAggregationFilter true --csvFile HasItemGetItemIsModifiedTest_10000_cycle_principalbased-AND-aggregationfilter_20191010_135356.csv --concurrency 1,10,20,50 --report false HasItemGetItemIsModifiedTest Oak-Segment-Tar Apache Jackrabbit Oak 1.20-SNAPSHOT # HasItemGetItemIsModifiedTe C min 10% 50% 90% max N Import deep tree: 6172 All paths: 123545 Oak-Segment-Tar 1 161 165 177 251 293 26 Oak-Segment-Tar 10 309 332 346 385 404 150 Oak-Segment-Tar 20 554 685 753 850 970 140 Oak-Segment-Tar 50 855 1155 1679 1934 2110 171 Profiler: top 5 stack trace(s) of of 22908 ms of 4196 thread dumps: 4196/43002 (9%): at app//org.apache.jackrabbit.oak.commons.Profiler.getRunnableStackTraces(Profiler.java:207) at app//org.apache.jackrabbit.oak.commons.Profiler.tick(Profiler.java:376) at app//org.apache.jackrabbit.oak.commons.Profiler.run(Profiler.java:352) 1378/43002 (3%): at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:450) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.itemExists(SessionImpl.java:373) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:48) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 1348/43002 (3%): at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplateId(SegmentNodeState.java:117) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:126) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:450) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.itemExists(SessionImpl.java:373) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:48) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 1339/43002 (3%): at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplateId(SegmentNodeState.java:117) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:126) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:450) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItem(SessionImpl.java:364) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:49) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 1316/43002 (3%): at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:450) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItem(SessionImpl.java:364) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:49) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) summary: 40%: app//org.apache.jackrabbit.oak.segment 19%: app//org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl 14%: app//org.apache.jackrabbit.oak.commons 4%: app//org.apache.jackrabbit.oak.core 3%: app//org.apache.jackrabbit.oak.plugins.tree.impl . Reading 10000 items with 10 initial ACEs and 10 principals per subject ----------------------------------------------------------- java -Xmx2048m -Dprofile=true -Druntime=5 -Dwarmup=1 -jar target/oak-benchmarks-1.20-SNAPSHOT.jar benchmark --itemsToRead 10000 --numberOfInitialAce 10 --numberOfUsers 10 --entriesForEachPrincipal false --reverseOrder false --compositionType AND --useAggregationFilter true --csvFile HasItemGetItemIsModifiedTest_10000_cycle_principalbased-AND-aggregationfilter_20191010_135356.csv --concurrency 1,10,20,50 --report false HasItemGetItemIsModifiedTest Oak-Segment-Tar Apache Jackrabbit Oak 1.20-SNAPSHOT # HasItemGetItemIsModifiedTe C min 10% 50% 90% max N Import deep tree: 5963 All paths: 123545 Oak-Segment-Tar 1 158 159 166 172 176 31 Oak-Segment-Tar 10 317 326 341 364 401 150 Oak-Segment-Tar 20 386 662 738 792 827 141 Oak-Segment-Tar 50 879 1178 1661 1954 2184 174 Profiler: top 5 stack trace(s) of of 22756 ms of 4173 thread dumps: 4173/41283 (10%): at app//org.apache.jackrabbit.oak.commons.Profiler.getRunnableStackTraces(Profiler.java:207) at app//org.apache.jackrabbit.oak.commons.Profiler.tick(Profiler.java:376) at app//org.apache.jackrabbit.oak.commons.Profiler.run(Profiler.java:352) 1366/41283 (3%): at app//org.apache.jackrabbit.oak.commons.Buffer.getShort(Buffer.java:207) at app//org.apache.jackrabbit.oak.segment.data.SegmentDataV12.internalReadRecordId(SegmentDataV12.java:209) at app//org.apache.jackrabbit.oak.segment.data.SegmentDataV12.readRecordId(SegmentDataV12.java:205) at app//org.apache.jackrabbit.oak.segment.Segment.readRecordId(Segment.java:427) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplateId(SegmentNodeState.java:117) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:126) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:450) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.itemExists(SessionImpl.java:373) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:48) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 1154/41283 (2%): at app//org.apache.jackrabbit.oak.commons.Buffer.getShort(Buffer.java:207) at app//org.apache.jackrabbit.oak.segment.data.SegmentDataV12.internalReadRecordId(SegmentDataV12.java:209) at app//org.apache.jackrabbit.oak.segment.data.SegmentDataV12.readRecordId(SegmentDataV12.java:205) at app//org.apache.jackrabbit.oak.segment.Segment.readRecordId(Segment.java:427) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplateId(SegmentNodeState.java:117) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:126) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:450) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItem(SessionImpl.java:364) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:49) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 1052/41283 (2%): at app//org.apache.jackrabbit.oak.cache.CacheLIRS.getIfPresent(CacheLIRS.java:371) at app//org.apache.jackrabbit.oak.segment.ReaderCache.get(ReaderCache.java:115) at app//org.apache.jackrabbit.oak.segment.CachingSegmentReader.readTemplate(CachingSegmentReader.java:125) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:126) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:450) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItem(SessionImpl.java:364) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:49) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 1020/41283 (2%): at app//org.apache.jackrabbit.oak.cache.CacheLIRS.getIfPresent(CacheLIRS.java:371) at app//org.apache.jackrabbit.oak.segment.ReaderCache.get(ReaderCache.java:115) at app//org.apache.jackrabbit.oak.segment.CachingSegmentReader.readTemplate(CachingSegmentReader.java:125) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:126) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:450) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.itemExists(SessionImpl.java:373) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:48) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) summary: 28%: app//org.apache.jackrabbit.oak.commons 21%: app//org.apache.jackrabbit.oak.segment 20%: app//org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl 5%: app//org.apache.jackrabbit.oak.cache 4%: app//org.apache.jackrabbit.oak.core . Reading 10000 items with 10 initial ACEs and 100 principals per subject ----------------------------------------------------------- java -Xmx2048m -Dprofile=true -Druntime=5 -Dwarmup=1 -jar target/oak-benchmarks-1.20-SNAPSHOT.jar benchmark --itemsToRead 10000 --numberOfInitialAce 10 --numberOfUsers 100 --entriesForEachPrincipal false --reverseOrder false --compositionType AND --useAggregationFilter true --csvFile HasItemGetItemIsModifiedTest_10000_cycle_principalbased-AND-aggregationfilter_20191010_135356.csv --concurrency 1,10,20,50 --report false HasItemGetItemIsModifiedTest Oak-Segment-Tar Apache Jackrabbit Oak 1.20-SNAPSHOT # HasItemGetItemIsModifiedTe C min 10% 50% 90% max N Import deep tree: 5300 All paths: 123545 Oak-Segment-Tar 1 160 161 204 288 353 24 Oak-Segment-Tar 10 220 322 332 350 371 153 Oak-Segment-Tar 20 404 612 709 790 857 150 Oak-Segment-Tar 50 910 1195 1604 1841 1979 179 Profiler: top 5 stack trace(s) of of 23016 ms of 4368 thread dumps: 4368/45975 (9%): at app//org.apache.jackrabbit.oak.commons.Profiler.getRunnableStackTraces(Profiler.java:207) at app//org.apache.jackrabbit.oak.commons.Profiler.tick(Profiler.java:376) at app//org.apache.jackrabbit.oak.commons.Profiler.run(Profiler.java:352) 2444/45975 (5%): at app//org.apache.jackrabbit.oak.cache.CacheLIRS$Segment.get(CacheLIRS.java:864) at app//org.apache.jackrabbit.oak.cache.CacheLIRS.getIfPresent(CacheLIRS.java:371) at app//org.apache.jackrabbit.oak.segment.ReaderCache.get(ReaderCache.java:115) at app//org.apache.jackrabbit.oak.segment.CachingSegmentReader.readTemplate(CachingSegmentReader.java:125) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:126) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:450) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.itemExists(SessionImpl.java:373) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:48) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 2133/45975 (4%): at app//org.apache.jackrabbit.oak.cache.CacheLIRS$Segment.get(CacheLIRS.java:864) at app//org.apache.jackrabbit.oak.cache.CacheLIRS.getIfPresent(CacheLIRS.java:371) at app//org.apache.jackrabbit.oak.segment.ReaderCache.get(ReaderCache.java:115) at app//org.apache.jackrabbit.oak.segment.CachingSegmentReader.readTemplate(CachingSegmentReader.java:125) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:126) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:450) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItem(SessionImpl.java:364) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:49) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 1371/45975 (2%): at app//org.apache.jackrabbit.oak.segment.MapRecord.getEntry(MapRecord.java:171) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:452) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItem(SessionImpl.java:364) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:49) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 1291/45975 (2%): at app//org.apache.jackrabbit.oak.segment.MapRecord.getEntry(MapRecord.java:171) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:452) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.itemExists(SessionImpl.java:373) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:48) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) summary: 26%: app//org.apache.jackrabbit.oak.segment 20%: app//org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl 12%: app//org.apache.jackrabbit.oak.cache 11%: app//org.apache.jackrabbit.oak.commons 7%: app//org.apache.jackrabbit.oak.core . Reading 10000 items with 10 initial ACEs and 1000 principals per subject ----------------------------------------------------------- java -Xmx2048m -Dprofile=true -Druntime=5 -Dwarmup=1 -jar target/oak-benchmarks-1.20-SNAPSHOT.jar benchmark --itemsToRead 10000 --numberOfInitialAce 10 --numberOfUsers 1000 --entriesForEachPrincipal false --reverseOrder false --compositionType AND --useAggregationFilter true --csvFile HasItemGetItemIsModifiedTest_10000_cycle_principalbased-AND-aggregationfilter_20191010_135356.csv --concurrency 1,10,20,50 --report false HasItemGetItemIsModifiedTest Oak-Segment-Tar Apache Jackrabbit Oak 1.20-SNAPSHOT # HasItemGetItemIsModifiedTe C min 10% 50% 90% max N Import deep tree: 5773 All paths: 123545 Oak-Segment-Tar 1 166 168 171 189 197 29 Oak-Segment-Tar 10 329 345 358 404 427 140 Oak-Segment-Tar 20 553 675 788 869 958 137 Oak-Segment-Tar 50 731 1412 1764 2048 2293 159 Profiler: top 5 stack trace(s) of of 22651 ms of 4282 thread dumps: 4282/43143 (9%): at app//org.apache.jackrabbit.oak.commons.Profiler.getRunnableStackTraces(Profiler.java:207) at app//org.apache.jackrabbit.oak.commons.Profiler.tick(Profiler.java:376) at app//org.apache.jackrabbit.oak.commons.Profiler.run(Profiler.java:352) 2269/43143 (5%): at app//org.apache.jackrabbit.oak.cache.CacheLIRS.getIfPresent(CacheLIRS.java:371) at app//org.apache.jackrabbit.oak.segment.ReaderCache.get(ReaderCache.java:115) at app//org.apache.jackrabbit.oak.segment.CachingSegmentReader.readTemplate(CachingSegmentReader.java:125) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:126) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:450) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.itemExists(SessionImpl.java:373) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:48) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 2172/43143 (5%): at app//org.apache.jackrabbit.oak.cache.CacheLIRS.getIfPresent(CacheLIRS.java:371) at app//org.apache.jackrabbit.oak.segment.ReaderCache.get(ReaderCache.java:115) at app//org.apache.jackrabbit.oak.segment.CachingSegmentReader.readTemplate(CachingSegmentReader.java:125) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:126) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:450) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItem(SessionImpl.java:364) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:49) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 847/43143 (1%): at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:287) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.itemExists(SessionImpl.java:373) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:48) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 790/43143 (1%): at app//org.apache.jackrabbit.oak.segment.MapRecord.getEntry(MapRecord.java:217) at app//org.apache.jackrabbit.oak.segment.MapRecord.getEntry(MapRecord.java:172) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:452) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItem(SessionImpl.java:364) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:49) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) summary: 30%: app//org.apache.jackrabbit.oak.segment 19%: app//org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl 12%: app//org.apache.jackrabbit.oak.cache 11%: app//org.apache.jackrabbit.oak.commons 7%: app//org.apache.jackrabbit.oak.core . Reading 10000 items with 100 initial ACEs and 1 principals per subject ----------------------------------------------------------- java -Xmx2048m -Dprofile=true -Druntime=5 -Dwarmup=1 -jar target/oak-benchmarks-1.20-SNAPSHOT.jar benchmark --itemsToRead 10000 --numberOfInitialAce 100 --numberOfUsers 1 --entriesForEachPrincipal false --reverseOrder false --compositionType AND --useAggregationFilter true --csvFile HasItemGetItemIsModifiedTest_10000_cycle_principalbased-AND-aggregationfilter_20191010_135356.csv --concurrency 1,10,20,50 --report false HasItemGetItemIsModifiedTest Oak-Segment-Tar Apache Jackrabbit Oak 1.20-SNAPSHOT # HasItemGetItemIsModifiedTe C min 10% 50% 90% max N Import deep tree: 5842 All paths: 123545 Oak-Segment-Tar 1 161 162 169 189 213 30 Oak-Segment-Tar 10 331 339 353 433 538 140 Oak-Segment-Tar 20 419 580 714 789 941 152 Oak-Segment-Tar 50 892 1230 1643 2015 2247 169 Profiler: top 5 stack trace(s) of of 23004 ms of 4070 thread dumps: 4070/39196 (10%): at app//org.apache.jackrabbit.oak.commons.Profiler.getRunnableStackTraces(Profiler.java:207) at app//org.apache.jackrabbit.oak.commons.Profiler.tick(Profiler.java:376) at app//org.apache.jackrabbit.oak.commons.Profiler.run(Profiler.java:352) 1659/39196 (4%): at app//org.apache.jackrabbit.oak.cache.CacheLIRS.getIfPresent(CacheLIRS.java:371) at app//org.apache.jackrabbit.oak.segment.ReaderCache.get(ReaderCache.java:115) at app//org.apache.jackrabbit.oak.segment.CachingSegmentReader.readTemplate(CachingSegmentReader.java:125) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:126) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:450) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.itemExists(SessionImpl.java:373) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:48) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 1513/39196 (3%): at app//org.apache.jackrabbit.oak.cache.CacheLIRS.getIfPresent(CacheLIRS.java:371) at app//org.apache.jackrabbit.oak.segment.ReaderCache.get(ReaderCache.java:115) at app//org.apache.jackrabbit.oak.segment.CachingSegmentReader.readTemplate(CachingSegmentReader.java:125) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:126) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:450) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItem(SessionImpl.java:364) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:49) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 727/39196 (1%): at app//org.apache.jackrabbit.oak.segment.MapRecord.getEntry(MapRecord.java:217) at app//org.apache.jackrabbit.oak.segment.MapRecord.getEntry(MapRecord.java:172) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:452) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.itemExists(SessionImpl.java:373) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:48) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 692/39196 (1%): at app//org.apache.jackrabbit.oak.segment.MapRecord.getEntry(MapRecord.java:171) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:452) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.itemExists(SessionImpl.java:373) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:48) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) summary: 31%: app//org.apache.jackrabbit.oak.segment 19%: app//org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl 13%: app//org.apache.jackrabbit.oak.commons 9%: app//org.apache.jackrabbit.oak.cache 6%: app//org.apache.jackrabbit.oak.core . Reading 10000 items with 100 initial ACEs and 10 principals per subject ----------------------------------------------------------- java -Xmx2048m -Dprofile=true -Druntime=5 -Dwarmup=1 -jar target/oak-benchmarks-1.20-SNAPSHOT.jar benchmark --itemsToRead 10000 --numberOfInitialAce 100 --numberOfUsers 10 --entriesForEachPrincipal false --reverseOrder false --compositionType AND --useAggregationFilter true --csvFile HasItemGetItemIsModifiedTest_10000_cycle_principalbased-AND-aggregationfilter_20191010_135356.csv --concurrency 1,10,20,50 --report false HasItemGetItemIsModifiedTest Oak-Segment-Tar Apache Jackrabbit Oak 1.20-SNAPSHOT # HasItemGetItemIsModifiedTe C min 10% 50% 90% max N Import deep tree: 5869 All paths: 123545 Oak-Segment-Tar 1 163 164 167 195 215 29 Oak-Segment-Tar 10 276 327 345 370 409 150 Oak-Segment-Tar 20 456 633 734 821 969 143 Oak-Segment-Tar 50 763 1082 1670 1969 2274 170 Profiler: top 5 stack trace(s) of of 22766 ms of 3926 thread dumps: 3926/37012 (10%): at app//org.apache.jackrabbit.oak.commons.Profiler.getRunnableStackTraces(Profiler.java:207) at app//org.apache.jackrabbit.oak.commons.Profiler.tick(Profiler.java:376) at app//org.apache.jackrabbit.oak.commons.Profiler.run(Profiler.java:352) 1934/37012 (5%): at app//org.apache.jackrabbit.oak.cache.CacheLIRS.getIfPresent(CacheLIRS.java:371) at app//org.apache.jackrabbit.oak.segment.ReaderCache.get(ReaderCache.java:115) at app//org.apache.jackrabbit.oak.segment.CachingSegmentReader.readTemplate(CachingSegmentReader.java:125) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:126) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:450) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.itemExists(SessionImpl.java:373) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:48) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 1753/37012 (4%): at app//org.apache.jackrabbit.oak.cache.CacheLIRS.getIfPresent(CacheLIRS.java:371) at app//org.apache.jackrabbit.oak.segment.ReaderCache.get(ReaderCache.java:115) at app//org.apache.jackrabbit.oak.segment.CachingSegmentReader.readTemplate(CachingSegmentReader.java:125) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:126) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:450) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItem(SessionImpl.java:364) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:49) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 674/37012 (1%): at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:287) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItem(SessionImpl.java:364) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:49) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 670/37012 (1%): at app//org.apache.jackrabbit.oak.segment.MapRecord.getEntry(MapRecord.java:217) at app//org.apache.jackrabbit.oak.segment.MapRecord.getEntry(MapRecord.java:172) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:452) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.itemExists(SessionImpl.java:373) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:48) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) summary: 29%: app//org.apache.jackrabbit.oak.segment 20%: app//org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl 12%: app//org.apache.jackrabbit.oak.commons 11%: app//org.apache.jackrabbit.oak.cache 7%: app//org.apache.jackrabbit.oak.core . Reading 10000 items with 100 initial ACEs and 100 principals per subject ----------------------------------------------------------- java -Xmx2048m -Dprofile=true -Druntime=5 -Dwarmup=1 -jar target/oak-benchmarks-1.20-SNAPSHOT.jar benchmark --itemsToRead 10000 --numberOfInitialAce 100 --numberOfUsers 100 --entriesForEachPrincipal false --reverseOrder false --compositionType AND --useAggregationFilter true --csvFile HasItemGetItemIsModifiedTest_10000_cycle_principalbased-AND-aggregationfilter_20191010_135356.csv --concurrency 1,10,20,50 --report false HasItemGetItemIsModifiedTest Oak-Segment-Tar Apache Jackrabbit Oak 1.20-SNAPSHOT # HasItemGetItemIsModifiedTe C min 10% 50% 90% max N Import deep tree: 5536 All paths: 123545 Oak-Segment-Tar 1 162 162 165 173 182 31 Oak-Segment-Tar 10 247 321 335 363 384 153 Oak-Segment-Tar 20 357 627 714 822 918 146 Oak-Segment-Tar 50 750 1150 1678 1959 2235 167 Profiler: top 5 stack trace(s) of of 22674 ms of 3711 thread dumps: 3711/36309 (10%): at app//org.apache.jackrabbit.oak.commons.Profiler.getRunnableStackTraces(Profiler.java:207) at app//org.apache.jackrabbit.oak.commons.Profiler.tick(Profiler.java:376) at app//org.apache.jackrabbit.oak.commons.Profiler.run(Profiler.java:352) 1334/36309 (3%): at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNodeMap(SegmentNodeState.java:133) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:452) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItem(SessionImpl.java:364) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:49) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 1282/36309 (3%): at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNodeMap(SegmentNodeState.java:133) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:452) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.itemExists(SessionImpl.java:373) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:48) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 1147/36309 (3%): at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplateId(SegmentNodeState.java:117) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:126) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:450) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.itemExists(SessionImpl.java:373) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:48) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 1104/36309 (3%): at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplateId(SegmentNodeState.java:117) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:126) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:450) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItem(SessionImpl.java:364) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:49) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) summary: 38%: app//org.apache.jackrabbit.oak.segment 20%: app//org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl 15%: app//org.apache.jackrabbit.oak.commons 4%: app//org.apache.jackrabbit.oak.core 3%: app//org.apache.jackrabbit.oak.plugins.memory . Reading 10000 items with 100 initial ACEs and 1000 principals per subject ----------------------------------------------------------- java -Xmx2048m -Dprofile=true -Druntime=5 -Dwarmup=1 -jar target/oak-benchmarks-1.20-SNAPSHOT.jar benchmark --itemsToRead 10000 --numberOfInitialAce 100 --numberOfUsers 1000 --entriesForEachPrincipal false --reverseOrder false --compositionType AND --useAggregationFilter true --csvFile HasItemGetItemIsModifiedTest_10000_cycle_principalbased-AND-aggregationfilter_20191010_135356.csv --concurrency 1,10,20,50 --report false HasItemGetItemIsModifiedTest Oak-Segment-Tar Apache Jackrabbit Oak 1.20-SNAPSHOT # HasItemGetItemIsModifiedTe C min 10% 50% 90% max N Import deep tree: 5476 All paths: 123545 Oak-Segment-Tar 1 158 159 161 173 187 31 Oak-Segment-Tar 10 314 332 345 364 378 150 Oak-Segment-Tar 20 382 625 723 842 982 143 Oak-Segment-Tar 50 775 1114 1677 1983 2656 170 Profiler: top 5 stack trace(s) of of 22786 ms of 3676 thread dumps: 3676/36565 (10%): at app//org.apache.jackrabbit.oak.commons.Profiler.getRunnableStackTraces(Profiler.java:207) at app//org.apache.jackrabbit.oak.commons.Profiler.tick(Profiler.java:376) at app//org.apache.jackrabbit.oak.commons.Profiler.run(Profiler.java:352) 1856/36565 (5%): at app//org.apache.jackrabbit.oak.cache.CacheLIRS.getIfPresent(CacheLIRS.java:371) at app//org.apache.jackrabbit.oak.segment.ReaderCache.get(ReaderCache.java:115) at app//org.apache.jackrabbit.oak.segment.CachingSegmentReader.readTemplate(CachingSegmentReader.java:125) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:126) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:450) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.itemExists(SessionImpl.java:373) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:48) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 1650/36565 (4%): at app//org.apache.jackrabbit.oak.cache.CacheLIRS.getIfPresent(CacheLIRS.java:371) at app//org.apache.jackrabbit.oak.segment.ReaderCache.get(ReaderCache.java:115) at app//org.apache.jackrabbit.oak.segment.CachingSegmentReader.readTemplate(CachingSegmentReader.java:125) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:126) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:450) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItem(SessionImpl.java:364) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:49) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 916/36565 (2%): at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:452) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.itemExists(SessionImpl.java:373) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:48) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 812/36565 (2%): at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:452) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItem(SessionImpl.java:364) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:49) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) summary: 29%: app//org.apache.jackrabbit.oak.segment 19%: app//org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl 12%: app//org.apache.jackrabbit.oak.commons 11%: app//org.apache.jackrabbit.oak.cache 8%: app//org.apache.jackrabbit.oak.core . Reading 10000 items with 1000 initial ACEs and 1 principals per subject ----------------------------------------------------------- java -Xmx2048m -Dprofile=true -Druntime=5 -Dwarmup=1 -jar target/oak-benchmarks-1.20-SNAPSHOT.jar benchmark --itemsToRead 10000 --numberOfInitialAce 1000 --numberOfUsers 1 --entriesForEachPrincipal false --reverseOrder false --compositionType AND --useAggregationFilter true --csvFile HasItemGetItemIsModifiedTest_10000_cycle_principalbased-AND-aggregationfilter_20191010_135356.csv --concurrency 1,10,20,50 --report false HasItemGetItemIsModifiedTest Oak-Segment-Tar Apache Jackrabbit Oak 1.20-SNAPSHOT # HasItemGetItemIsModifiedTe C min 10% 50% 90% max N Import deep tree: 5739 All paths: 123545 Oak-Segment-Tar 1 159 160 164 174 188 31 Oak-Segment-Tar 10 316 331 344 367 417 150 Oak-Segment-Tar 20 419 629 731 843 973 144 Oak-Segment-Tar 50 840 1255 1693 2013 2257 167 Profiler: top 5 stack trace(s) of of 23021 ms of 3473 thread dumps: 3473/36248 (9%): at app//org.apache.jackrabbit.oak.commons.Profiler.getRunnableStackTraces(Profiler.java:207) at app//org.apache.jackrabbit.oak.commons.Profiler.tick(Profiler.java:376) at app//org.apache.jackrabbit.oak.commons.Profiler.run(Profiler.java:352) 1273/36248 (3%): at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplateId(SegmentNodeState.java:117) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:126) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:450) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.itemExists(SessionImpl.java:373) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:48) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 1167/36248 (3%): at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplateId(SegmentNodeState.java:117) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:126) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:450) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItem(SessionImpl.java:364) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:49) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 1048/36248 (2%): at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNodeMap(SegmentNodeState.java:133) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:452) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.itemExists(SessionImpl.java:373) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:48) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 1009/36248 (2%): at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNodeMap(SegmentNodeState.java:133) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:452) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItem(SessionImpl.java:364) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:49) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) summary: 39%: app//org.apache.jackrabbit.oak.segment 21%: app//org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl 14%: app//org.apache.jackrabbit.oak.commons 3%: app//org.apache.jackrabbit.oak.cache 3%: app//org.apache.jackrabbit.oak.core . Reading 10000 items with 1000 initial ACEs and 10 principals per subject ----------------------------------------------------------- java -Xmx2048m -Dprofile=true -Druntime=5 -Dwarmup=1 -jar target/oak-benchmarks-1.20-SNAPSHOT.jar benchmark --itemsToRead 10000 --numberOfInitialAce 1000 --numberOfUsers 10 --entriesForEachPrincipal false --reverseOrder false --compositionType AND --useAggregationFilter true --csvFile HasItemGetItemIsModifiedTest_10000_cycle_principalbased-AND-aggregationfilter_20191010_135356.csv --concurrency 1,10,20,50 --report false HasItemGetItemIsModifiedTest Oak-Segment-Tar Apache Jackrabbit Oak 1.20-SNAPSHOT # HasItemGetItemIsModifiedTe C min 10% 50% 90% max N Import deep tree: 5998 All paths: 123545 Oak-Segment-Tar 1 161 161 165 172 173 31 Oak-Segment-Tar 10 314 327 341 365 382 150 Oak-Segment-Tar 20 431 589 722 854 965 146 Oak-Segment-Tar 50 850 1256 1684 2020 2502 171 Profiler: top 5 stack trace(s) of of 22949 ms of 3679 thread dumps: 3679/36168 (10%): at app//org.apache.jackrabbit.oak.commons.Profiler.getRunnableStackTraces(Profiler.java:207) at app//org.apache.jackrabbit.oak.commons.Profiler.tick(Profiler.java:376) at app//org.apache.jackrabbit.oak.commons.Profiler.run(Profiler.java:352) 857/36168 (2%): at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplateId(SegmentNodeState.java:117) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:126) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:450) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.itemExists(SessionImpl.java:373) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:48) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 764/36168 (2%): at app//org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl.EntryCache.getEntries(EntryCache.java:76) at app//org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl.EntryIterator.getNext(EntryIterator.java:60) at app//org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl.EntryIterator.getNext(EntryIterator.java:28) at app//org.apache.jackrabbit.commons.iterator.AbstractLazyIterator.hasNext(AbstractLazyIterator.java:39) at app//org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl.PrincipalBasedPermissionProvider.isGranted(PrincipalBasedPermissionProvider.java:272) at app//org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl.PrincipalBasedPermissionProvider.isGranted(PrincipalBasedPermissionProvider.java:164) at app//org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl.AbstractTreePermission.canRead(AbstractTreePermission.java:63) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder$ReadablePropertyPredicate.apply(SecureNodeBuilder.java:383) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getProperty(SecureNodeBuilder.java:179) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.hasProperty(SecureNodeBuilder.java:188) at app//org.apache.jackrabbit.oak.plugins.tree.impl.AbstractTree.hasProperty(AbstractTree.java:256) at app//org.apache.jackrabbit.oak.core.MutableTree.hasProperty(MutableTree.java:132) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:446) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.itemExists(SessionImpl.java:373) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:48) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 720/36168 (1%): at app//org.apache.jackrabbit.oak.segment.CachingSegmentReader.readTemplate(CachingSegmentReader.java:125) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:126) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:450) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.itemExists(SessionImpl.java:373) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:48) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 711/36168 (1%): at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplateId(SegmentNodeState.java:117) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:126) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:450) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItem(SessionImpl.java:364) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:49) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) summary: 37%: app//org.apache.jackrabbit.oak.segment 20%: app//org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl 15%: app//org.apache.jackrabbit.oak.commons 6%: app//org.apache.jackrabbit.oak.plugins.memory 3%: app//org.apache.jackrabbit.oak.core 3%: app//org.apache.jackrabbit.oak.security.authorization . Reading 10000 items with 1000 initial ACEs and 100 principals per subject ----------------------------------------------------------- java -Xmx2048m -Dprofile=true -Druntime=5 -Dwarmup=1 -jar target/oak-benchmarks-1.20-SNAPSHOT.jar benchmark --itemsToRead 10000 --numberOfInitialAce 1000 --numberOfUsers 100 --entriesForEachPrincipal false --reverseOrder false --compositionType AND --useAggregationFilter true --csvFile HasItemGetItemIsModifiedTest_10000_cycle_principalbased-AND-aggregationfilter_20191010_135356.csv --concurrency 1,10,20,50 --report false HasItemGetItemIsModifiedTest Oak-Segment-Tar Apache Jackrabbit Oak 1.20-SNAPSHOT # HasItemGetItemIsModifiedTe C min 10% 50% 90% max N Import deep tree: 5593 All paths: 123545 Oak-Segment-Tar 1 165 166 172 183 207 29 Oak-Segment-Tar 10 250 337 354 386 411 144 Oak-Segment-Tar 20 460 622 759 868 988 141 Oak-Segment-Tar 50 876 1189 1736 2158 2497 165 Profiler: top 5 stack trace(s) of of 22816 ms of 3643 thread dumps: 3643/35900 (10%): at app//org.apache.jackrabbit.oak.commons.Profiler.getRunnableStackTraces(Profiler.java:207) at app//org.apache.jackrabbit.oak.commons.Profiler.tick(Profiler.java:376) at app//org.apache.jackrabbit.oak.commons.Profiler.run(Profiler.java:352) 953/35900 (2%): at app//org.apache.jackrabbit.oak.segment.file.AbstractFileStore$2$$Lambda$55/0x00000008001e3040.run(Unknown Source) at app//org.apache.jackrabbit.oak.segment.SegmentId.getSegment(SegmentId.java:157) at app//org.apache.jackrabbit.oak.segment.Record.getSegment(Record.java:71) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplateId(SegmentNodeState.java:117) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:126) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:450) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.itemExists(SessionImpl.java:373) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:48) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 923/35900 (2%): at app//org.apache.jackrabbit.oak.segment.file.AbstractFileStore$2$$Lambda$55/0x00000008001e3040.run(Unknown Source) at app//org.apache.jackrabbit.oak.segment.SegmentId.getSegment(SegmentId.java:157) at app//org.apache.jackrabbit.oak.segment.Record.getSegment(Record.java:71) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplateId(SegmentNodeState.java:117) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:126) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:450) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItem(SessionImpl.java:364) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:49) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 692/35900 (1%): at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:287) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.itemExists(SessionImpl.java:373) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:48) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 672/35900 (1%): at app//org.apache.jackrabbit.oak.cache.CacheLIRS.getIfPresent(CacheLIRS.java:371) at app//org.apache.jackrabbit.oak.segment.ReaderCache.get(ReaderCache.java:115) at app//org.apache.jackrabbit.oak.segment.CachingSegmentReader.readTemplate(CachingSegmentReader.java:125) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:126) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:450) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.itemExists(SessionImpl.java:373) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:48) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) summary: 29%: app//org.apache.jackrabbit.oak.segment 18%: app//org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl 12%: app//org.apache.jackrabbit.oak.commons 7%: app//org.apache.jackrabbit.oak.segment.file 7%: app//org.apache.jackrabbit.oak.core . Reading 10000 items with 1000 initial ACEs and 1000 principals per subject ----------------------------------------------------------- java -Xmx2048m -Dprofile=true -Druntime=5 -Dwarmup=1 -jar target/oak-benchmarks-1.20-SNAPSHOT.jar benchmark --itemsToRead 10000 --numberOfInitialAce 1000 --numberOfUsers 1000 --entriesForEachPrincipal false --reverseOrder false --compositionType AND --useAggregationFilter true --csvFile HasItemGetItemIsModifiedTest_10000_cycle_principalbased-AND-aggregationfilter_20191010_135356.csv --concurrency 1,10,20,50 --report false HasItemGetItemIsModifiedTest Oak-Segment-Tar Apache Jackrabbit Oak 1.20-SNAPSHOT # HasItemGetItemIsModifiedTe C min 10% 50% 90% max N Import deep tree: 6117 All paths: 123545 Oak-Segment-Tar 1 161 162 165 171 178 31 Oak-Segment-Tar 10 286 326 343 367 434 150 Oak-Segment-Tar 20 359 631 741 814 902 143 Oak-Segment-Tar 50 789 1324 1743 2037 2416 160 Profiler: top 5 stack trace(s) of of 22686 ms of 3674 thread dumps: 3674/34681 (10%): at app//org.apache.jackrabbit.oak.commons.Profiler.getRunnableStackTraces(Profiler.java:207) at app//org.apache.jackrabbit.oak.commons.Profiler.tick(Profiler.java:376) at app//org.apache.jackrabbit.oak.commons.Profiler.run(Profiler.java:352) 1784/34681 (5%): at app//org.apache.jackrabbit.oak.cache.CacheLIRS.getIfPresent(CacheLIRS.java:371) at app//org.apache.jackrabbit.oak.segment.ReaderCache.get(ReaderCache.java:115) at app//org.apache.jackrabbit.oak.segment.CachingSegmentReader.readTemplate(CachingSegmentReader.java:125) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:126) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:450) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.itemExists(SessionImpl.java:373) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:48) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 1643/34681 (4%): at app//org.apache.jackrabbit.oak.cache.CacheLIRS.getIfPresent(CacheLIRS.java:371) at app//org.apache.jackrabbit.oak.segment.ReaderCache.get(ReaderCache.java:115) at app//org.apache.jackrabbit.oak.segment.CachingSegmentReader.readTemplate(CachingSegmentReader.java:125) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:126) at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:450) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItem(SessionImpl.java:364) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:49) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 734/34681 (2%): at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:452) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.itemExists(SessionImpl.java:373) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:48) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) 676/34681 (1%): at app//org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:452) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.(MemoryNodeBuilder.java:142) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.(SegmentNodeBuilder.java:100) at app//org.apache.jackrabbit.oak.segment.SegmentNodeBuilder.createChildBuilder(SegmentNodeBuilder.java:156) at app//org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getChildNode(MemoryNodeBuilder.java:330) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.(SecureNodeBuilder.java:111) at app//org.apache.jackrabbit.oak.core.SecureNodeBuilder.getChildNode(SecureNodeBuilder.java:328) at app//org.apache.jackrabbit.oak.core.MutableTree.getTree(MutableTree.java:288) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:221) at app//org.apache.jackrabbit.oak.core.MutableRoot.getTree(MutableRoot.java:70) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:441) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:167) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:82) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:229) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:242) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:226) at app//org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItem(SessionImpl.java:364) at app//org.apache.jackrabbit.oak.benchmark.authorization.principalbased.HasItemGetItemIsModifiedTest.randomRead(HasItemGetItemIsModifiedTest.java:49) at app//org.apache.jackrabbit.oak.benchmark.ReadDeepTreeTest.runTest(ReadDeepTreeTest.java:133) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:378) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:387) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest.access$000(AbstractTest.java:51) at app//org.apache.jackrabbit.oak.benchmark.AbstractTest$Executor.run(AbstractTest.java:307) summary: 29%: app//org.apache.jackrabbit.oak.segment 19%: app//org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl 12%: app//org.apache.jackrabbit.oak.commons 12%: app//org.apache.jackrabbit.oak.cache 6%: app//org.apache.jackrabbit.oak.core . ----------------------------------------- Benchmark completed. see HasItemGetItemIsModifiedTest_10000_cycle_principalbased-AND-aggregationfilter_20191010_135356.csv for details: Benchmarks: HasItemGetItemIsModifiedTest Fixture: Oak-Segment-Tar Runtime: 5 Concurrency: 1,10,20,50 Profiling: true Items to Read: 10000 Number of ACEs: 1 10 100 1000 Number of Principals: 1 10 100 1000 Create entries for each principal: false Use default authorization instead of 'principalbased': false CompositionType: AND -------------------------------------- Reading 10000 items with 1 initial ACEs and 1 principals per subject ----------------------------------------------------------- # HasItemGetItemIsModifiedTe, C, min, 10%, 50%, 90%, max, N Oak-Segment-Tar , 1, 155, 157, 161, 173, 177, 31 Oak-Segment-Tar , 10, 305, 328, 346, 388, 441, 150 Oak-Segment-Tar , 20, 391, 659, 873, 1094, 1194, 120 Oak-Segment-Tar , 50, 820, 1449, 1848, 2274, 2591, 152 Reading 10000 items with 1 initial ACEs and 10 principals per subject ----------------------------------------------------------- # HasItemGetItemIsModifiedTe, C, min, 10%, 50%, 90%, max, N Oak-Segment-Tar , 1, 161, 162, 169, 190, 218, 30 Oak-Segment-Tar , 10, 320, 329, 342, 368, 382, 150 Oak-Segment-Tar , 20, 405, 621, 720, 800, 918, 148 Oak-Segment-Tar , 50, 728, 1168, 1680, 1942, 2212, 167 Reading 10000 items with 1 initial ACEs and 100 principals per subject ----------------------------------------------------------- # HasItemGetItemIsModifiedTe, C, min, 10%, 50%, 90%, max, N Oak-Segment-Tar , 1, 156, 157, 163, 183, 270, 30 Oak-Segment-Tar , 10, 331, 339, 348, 360, 373, 150 Oak-Segment-Tar , 20, 464, 667, 748, 838, 934, 140 Oak-Segment-Tar , 50, 941, 1235, 1744, 1965, 2367, 169 Reading 10000 items with 1 initial ACEs and 1000 principals per subject ----------------------------------------------------------- # HasItemGetItemIsModifiedTe, C, min, 10%, 50%, 90%, max, N Oak-Segment-Tar , 1, 164, 166, 168, 184, 215, 29 Oak-Segment-Tar , 10, 349, 366, 389, 451, 479, 130 Oak-Segment-Tar , 20, 508, 688, 783, 875, 1009, 137 Oak-Segment-Tar , 50, 850, 1378, 1782, 2048, 2389, 159 Reading 10000 items with 10 initial ACEs and 1 principals per subject ----------------------------------------------------------- # HasItemGetItemIsModifiedTe, C, min, 10%, 50%, 90%, max, N Oak-Segment-Tar , 1, 161, 165, 177, 251, 293, 26 Oak-Segment-Tar , 10, 309, 332, 346, 385, 404, 150 Oak-Segment-Tar , 20, 554, 685, 753, 850, 970, 140 Oak-Segment-Tar , 50, 855, 1155, 1679, 1934, 2110, 171 Reading 10000 items with 10 initial ACEs and 10 principals per subject ----------------------------------------------------------- # HasItemGetItemIsModifiedTe, C, min, 10%, 50%, 90%, max, N Oak-Segment-Tar , 1, 158, 159, 166, 172, 176, 31 Oak-Segment-Tar , 10, 317, 326, 341, 364, 401, 150 Oak-Segment-Tar , 20, 386, 662, 738, 792, 827, 141 Oak-Segment-Tar , 50, 879, 1178, 1661, 1954, 2184, 174 Reading 10000 items with 10 initial ACEs and 100 principals per subject ----------------------------------------------------------- # HasItemGetItemIsModifiedTe, C, min, 10%, 50%, 90%, max, N Oak-Segment-Tar , 1, 160, 161, 204, 288, 353, 24 Oak-Segment-Tar , 10, 220, 322, 332, 350, 371, 153 Oak-Segment-Tar , 20, 404, 612, 709, 790, 857, 150 Oak-Segment-Tar , 50, 910, 1195, 1604, 1841, 1979, 179 Reading 10000 items with 10 initial ACEs and 1000 principals per subject ----------------------------------------------------------- # HasItemGetItemIsModifiedTe, C, min, 10%, 50%, 90%, max, N Oak-Segment-Tar , 1, 166, 168, 171, 189, 197, 29 Oak-Segment-Tar , 10, 329, 345, 358, 404, 427, 140 Oak-Segment-Tar , 20, 553, 675, 788, 869, 958, 137 Oak-Segment-Tar , 50, 731, 1412, 1764, 2048, 2293, 159 Reading 10000 items with 100 initial ACEs and 1 principals per subject ----------------------------------------------------------- # HasItemGetItemIsModifiedTe, C, min, 10%, 50%, 90%, max, N Oak-Segment-Tar , 1, 161, 162, 169, 189, 213, 30 Oak-Segment-Tar , 10, 331, 339, 353, 433, 538, 140 Oak-Segment-Tar , 20, 419, 580, 714, 789, 941, 152 Oak-Segment-Tar , 50, 892, 1230, 1643, 2015, 2247, 169 Reading 10000 items with 100 initial ACEs and 10 principals per subject ----------------------------------------------------------- # HasItemGetItemIsModifiedTe, C, min, 10%, 50%, 90%, max, N Oak-Segment-Tar , 1, 163, 164, 167, 195, 215, 29 Oak-Segment-Tar , 10, 276, 327, 345, 370, 409, 150 Oak-Segment-Tar , 20, 456, 633, 734, 821, 969, 143 Oak-Segment-Tar , 50, 763, 1082, 1670, 1969, 2274, 170 Reading 10000 items with 100 initial ACEs and 100 principals per subject ----------------------------------------------------------- # HasItemGetItemIsModifiedTe, C, min, 10%, 50%, 90%, max, N Oak-Segment-Tar , 1, 162, 162, 165, 173, 182, 31 Oak-Segment-Tar , 10, 247, 321, 335, 363, 384, 153 Oak-Segment-Tar , 20, 357, 627, 714, 822, 918, 146 Oak-Segment-Tar , 50, 750, 1150, 1678, 1959, 2235, 167 Reading 10000 items with 100 initial ACEs and 1000 principals per subject ----------------------------------------------------------- # HasItemGetItemIsModifiedTe, C, min, 10%, 50%, 90%, max, N Oak-Segment-Tar , 1, 158, 159, 161, 173, 187, 31 Oak-Segment-Tar , 10, 314, 332, 345, 364, 378, 150 Oak-Segment-Tar , 20, 382, 625, 723, 842, 982, 143 Oak-Segment-Tar , 50, 775, 1114, 1677, 1983, 2656, 170 Reading 10000 items with 1000 initial ACEs and 1 principals per subject ----------------------------------------------------------- # HasItemGetItemIsModifiedTe, C, min, 10%, 50%, 90%, max, N Oak-Segment-Tar , 1, 159, 160, 164, 174, 188, 31 Oak-Segment-Tar , 10, 316, 331, 344, 367, 417, 150 Oak-Segment-Tar , 20, 419, 629, 731, 843, 973, 144 Oak-Segment-Tar , 50, 840, 1255, 1693, 2013, 2257, 167 Reading 10000 items with 1000 initial ACEs and 10 principals per subject ----------------------------------------------------------- # HasItemGetItemIsModifiedTe, C, min, 10%, 50%, 90%, max, N Oak-Segment-Tar , 1, 161, 161, 165, 172, 173, 31 Oak-Segment-Tar , 10, 314, 327, 341, 365, 382, 150 Oak-Segment-Tar , 20, 431, 589, 722, 854, 965, 146 Oak-Segment-Tar , 50, 850, 1256, 1684, 2020, 2502, 171 Reading 10000 items with 1000 initial ACEs and 100 principals per subject ----------------------------------------------------------- # HasItemGetItemIsModifiedTe, C, min, 10%, 50%, 90%, max, N Oak-Segment-Tar , 1, 165, 166, 172, 183, 207, 29 Oak-Segment-Tar , 10, 250, 337, 354, 386, 411, 144 Oak-Segment-Tar , 20, 460, 622, 759, 868, 988, 141 Oak-Segment-Tar , 50, 876, 1189, 1736, 2158, 2497, 165 Reading 10000 items with 1000 initial ACEs and 1000 principals per subject ----------------------------------------------------------- # HasItemGetItemIsModifiedTe, C, min, 10%, 50%, 90%, max, N Oak-Segment-Tar , 1, 161, 162, 165, 171, 178, 31 Oak-Segment-Tar , 10, 286, 326, 343, 367, 434, 150 Oak-Segment-Tar , 20, 359, 631, 741, 814, 902, 143 Oak-Segment-Tar , 50, 789, 1324, 1743, 2037, 2416, 160