This is an automated email from the ASF dual-hosted git repository. mreutegg pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
commit bbc141fd1fb9ff0d9ce742279445df9eb698c3e3 Merge: 799939d68a d005718e98 Author: Marcel Reutegger <[email protected]> AuthorDate: Fri Jul 15 13:28:22 2022 +0200 Merge pull request #622 from apache/OAK-9780 OAK-9780: Prefetch node states .../oak/api/jmx/QueryEngineSettingsMBean.java | 34 +- .../jackrabbit/oak/api/jmx/package-info.java | 2 +- oak-core/pom.xml | 3 +- .../main/java/org/apache/jackrabbit/oak/Oak.java | 20 + .../apache/jackrabbit/oak/core/ImmutableRoot.java | 7 +- .../apache/jackrabbit/oak/core/MutableRoot.java | 11 +- .../jackrabbit/oak/plugins/index/Cursors.java | 559 --------------------- .../plugins/index/aggregate/AggregateIndex.java | 2 +- .../plugins/index/aggregate/AggregationCursor.java | 2 +- .../oak/plugins/index/cursor/AbstractCursor.java | 22 +- .../oak/plugins/index/cursor/AncestorCursor.java | 62 +++ .../oak/plugins/index/cursor/ConcatCursor.java | 120 +++++ .../oak/plugins/index/cursor/Cursors.java | 113 +++++ .../plugins/index/cursor/IntersectionCursor.java | 121 +++++ .../oak/plugins/index/cursor/PathCursor.java | 73 +++ .../oak/plugins/index/cursor/PrefetchCursor.java | 203 ++++++++ .../oak/plugins/index/cursor/TraversingCursor.java | 192 +++++++ .../oak/plugins/index/diffindex/DiffIndex.java | 2 +- .../oak/plugins/index/nodetype/NodeTypeIndex.java | 3 +- .../plugins/index/property/PropertyIndexPlan.java | 2 +- .../plugins/index/reference/ReferenceIndex.java | 2 +- .../jackrabbit/oak/query/ExecutionContext.java | 12 +- .../jackrabbit/oak/query/QueryEngineImpl.java | 4 +- .../jackrabbit/oak/query/QueryEngineSettings.java | 39 +- .../apache/jackrabbit/oak/query/QueryOptions.java | 91 ++++ .../apache/jackrabbit/oak/query/SQL2Parser.java | 19 +- .../jackrabbit/oak/query/ast/SelectorImpl.java | 10 +- .../oak/query/index/TraversingIndex.java | 2 +- .../jackrabbit/oak/query/stats/QueryRecorder.java | 9 +- .../jackrabbit/oak/query/stats/QueryStatsData.java | 6 - .../jackrabbit/oak/query/xpath/Statement.java | 10 +- .../oak/query/xpath/XPathToSQL2Converter.java | 42 +- .../oak/plugins/index/cursor/CursorUtils.java | 18 +- .../plugins/index/{ => cursor}/CursorsTest.java | 2 +- .../plugins/index/cursor/PrefetchCursorTest.java | 119 +++++ .../oak/plugins/index/cursor/TestCursor.java | 25 +- .../index/cursor/TestPrefetchNodeStore.java | 26 +- .../oak/plugins/index/cursor/TestRow.java | 29 +- .../plugins/index/nodetype/NodeTypeIndexTest.java | 4 +- .../oak/security/CustomQueryIndexProviderTest.java | 2 +- .../site/markdown/nodestore/document/metrics.md | 2 + .../oak/plugins/index/lucene/LuceneIndex.java | 4 +- oak-parent/pom.xml | 1 + .../index/search/spi/query/FulltextIndex.java | 4 +- .../plugins/index/solr/query/SolrQueryIndex.java | 4 +- .../oak/composite/CompositeNodeStore.java | 9 +- .../oak/composite/CompositionContext.java | 7 + .../jackrabbit/oak/composite/package-info.java | 2 +- .../oak/plugins/document/DocumentNodeState.java | 30 ++ .../oak/plugins/document/DocumentNodeStore.java | 59 ++- .../plugins/document/DocumentNodeStoreBuilder.java | 12 + .../plugins/document/DocumentNodeStoreMBean.java | 6 +- .../document/DocumentNodeStoreMBeanImpl.java | 4 + .../plugins/document/DocumentNodeStoreService.java | 13 + .../oak/plugins/document/DocumentStore.java | 8 + .../oak/plugins/document/DocumentStoreStats.java | 31 ++ .../document/DocumentStoreStatsCollector.java | 10 + .../plugins/document/DocumentStoreStatsMBean.java | 4 + .../document/cache/CacheChangesTracker.java | 6 - .../plugins/document/cache/NodeDocumentCache.java | 25 +- .../plugins/document/mongo/MongoDocumentStore.java | 93 ++++ .../plugins/document/prefetch/CacheWarming.java | 74 +++ .../util/LeaseCheckDocumentStoreWrapper.java | 7 + .../document/ConcurrentPrefetchAndUpdateIT.java | 157 ++++++ .../plugins/document/CountingDocumentStore.java | 6 + .../document/DocumentNodeStoreMBeanTest.java | 24 + .../document/cache/CacheChangesTrackerTest.java | 4 +- .../document/mongo/MongoTestCollection.java | 4 +- .../document/prefetch/CacheWarmingTest.java | 228 +++++++++ .../document/prefetch/CountingMongoCollection.java | 134 +++++ .../document/prefetch/CountingMongoDatabase.java | 354 +++++++++++++ .../oak/spi/state/PrefetchNodeStore.java | 23 +- 72 files changed, 2721 insertions(+), 652 deletions(-)
