This is an automated email from the ASF dual-hosted git repository.

kwin pushed a change to branch 
feature/OAK-11498-expose-bound-principals-via-jrsession
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git


    from fc756c5782 OAK-11498: Expose Session-bound principals via 
JackrabbitSession
     add e97dfebeb4 OAK-11390 Generate aggregate UT/IT reports with profile 
"pedantic"
     add 7bfc8fedab OAK-11495 : added utils method for repalcing Guava's 
Iterables.size (#2090)
     add 846ec69591 OAK-11496 : added utils method for repalcing Guava's 
Iterables.all (#2096)
     add 1fe0054f42 OAK-11468: RDBDataSourceFactory unnecessarily loads the 
JDBC driver class explicitly. (#2085)
     add f6232932d7 OAK-11503 : added utils method for repalcing Guava's 
Iterables.size (#2097)
     add 3c4f4c4e47 OAK-11451 : removed usage of Guava Iterables.concat (#2049)
     add 3a923e6827 OAK-11507 : using oak-commons IterableUtils inplace of 
commons-collections4 (#2100)
     add 6331a5a979 OAK-11508: [oak-search-elastic] is null / is not null 
queries should resolve the field name (#2101)
     add 4c7ec478c4 OAK-11252 Disabling flaky test (#2103)
     add 4984c929b0 OAK-11509 Incremental flat file store: reduce logging 
(#2102)
     add 07335f52a4 OAK-11504 Elasticsearch: support flattened fields - 
indentation changes only (#2104)
     add 14c29cabd8 OAK-11515 - Fix indentation and import order (#2106)
     add 8512acc1c5 OAK-11513 : added util method in oak-commons to replace 
Iterables.toArray (#2105)
     add 5fee417d9c OAK-11513 : removed usage of Guava's Iterables.toArray 
(#2107)
     add 9adc3b9a56 OAK-11466 Replace Fixed to Exponential retries in 
oak-segment-azure (#2067)
     add 81c09d1825  OAK-11397: add new API for expanded names/paths  (#2079)
     add 839c982efa OAK-11505 - Reduce object allocation in FullTextIndexEditor 
(#2098)
     add b11c1b3c2c OAK-11518 : added utils method to replace 
Iterables.partition (#2111)
     add ed44a7ec20 OAK-11519 : removed usage of Iterables.partition with 
oak-commons (IterableUtils) (#2112)
     add 2f16a088d9 OAK-11523 : added util method for replceing Guava's 
Iterables.filter … (#2114)
     add 92f3247c77 OAK-11526 - Reduce logging verbosity in IndexWriterPool 
when closing writers (#2118)
     add 5a900a2d81 OAK-11522 : removed usage of Guava's Iterables.filter 
(#2115)
     add 77b7999340 OAK-11528 : added util method for replacing Guava's 
Iterables.transform in oak-commons module (#2117)
     add 53c7980d18 OAK-11524 : Make SetUtils API call commons-collection4 API 
(#2116)
     add 6af0ba59dd OAK-11511 - Performance improvements to 
FullTextDocumentMaker class (#2110)
     add 74adf10bd7 OAK-11527 : replaced Guava's Iterables.transform with 
oak-commons util (#2119)
     add 0a6389fd2e OAK-11529 RegExp recursion in AstElement - workaround 
(#2120)
     add 41e615aeae OAK-11530 Elasticsearch: 'field name cannot be an empty 
string'  (#2121)
     add 5c097bf66b OAK-11533 - Reduce calls to PathUtils.concat() (#2123)
     add 1ceb9b13e2 OAK-11510 - Performance improvements to IndexDefinition 
class (#2108)
     add 4213721614 OAK-11520 - Performance improvements to Aggregate class in 
indexing logic (#2113)
     add 9c78ef283b OAK-11534 Auto-merge indexes if string matches single-value 
array (#2124)
     add 3509f70b12 OAK-11504 Elasticsearch: support flattened fields (#2099)
     add 48b26b59b7 OAK-11531 : added util method to replace Guava's 
Iterables.mergeSorted (#2122)
     add 6c2f14621d OAK-11536: elastic synonym filter has to be lenient to 
incorrect rules (#2125)
     add 0550fd63f3 OAK-11538 - Cleanups and small performance improvements to 
CompositeEditor and CompositeIndexEditorProvider
     add 372e46df85 OAK-11532 : replaced Guava's Iterables.mergeSorted with 
oak-commons util (#2127)
     add 58bc057cfb  OAK-11500: Remove usage of Guava io.Closeable  (#2129)
     add 588da45c92 OAK-11543 : Add Iterables.elementEquals replacement in 
IterableUtils (#2131)
     add 94a1cbc61d Revert " OAK-11500: Remove usage of Guava io.Closeable  
(#2129)"
     add 48abf89ef8 OAK-11539: Flaky test: 
MembershipProviderTest#testGetMembershipInherited() (#2128)
     add 6cd2da6cd3 OAK-11544 Flaky test 
PipelinedTreeStoreIT.createFFSCustomExcludePathsRegexNoRetryOnConnectionErrorRegexFiltering
 (#2132)
     add 3bad0ea0a1 OAK-8748: Run performance tests and compare with baseline
     add fbb5152e6d OAK-11501 Remove spotbugs-m-p
     add 485955c3cd OAK-11499: Remove parameter "aggregate"
     add fe6cef1166 OAK-11547 - Upgrade Elasticsearch client from 8.15.0 to 
8.17.2 (#2135)
     add 7db1257a0c OAK-11500: Remove usage of Guava io.Closeable (#2136)
     add c43a4a24c2 OAK-11542 : replaced Guava's Iterables.elementsEqual with 
oak-commons util (#2133)
     add a200ceb052 OAK-11548 : added util method to replace Guava's 
Iterables.limit() (#2138)
     add 4cbc522d90 OAK-11549 : replaced Guava's Iterables.limit with 
oak-commons util (#2140)
     add eccc4ffe01 OAK-11550 : added util method to replace Guava's 
Iterables.toStrinag() (#2141)
     add 49913d25ee OAK-11553 Elastic: index name is swallowed in case of 
IllegalArgument… (#2139)
     add b3cb44e7ef OAK-11551 : replaced Guava's Iterables.toString with 
oak-commons util (#2142)
     add 9762770de4 OAK-11563 : added util to replace Iterables.getFirst in 
oak-commons (#2150)
     add 11fa75d0f7 OAK-11562 : removed usage of Guava's Iterables.addAll 
(#2149)
     add 043165b343 OAK-11558 : removed usage of Guava's Iterables.tryFind with 
Streams (#2148)
     add 88c8a2cc12 OAK-11557 : removed usage of Guava's 
Iterables.getOnlyElements with S… (#2147)
     add e27b02a498 OAK-11556 : removed usage of Guava's Iterables.getFirst 
with oak-commons API (#2146)
     add 9200c7ef39 OAK-11522 : removed usage of Guava's Iterables.filter 
(remaining one) (#2152)
     add f611f8bd06 OAK-11567 : removed usage of Guava Iterables.size (#2153)
     add 0d391f6ebb OAK-11569 -  Revert OAK-11287: Cleanup May Delete 
Referenced Segments (#1880) (#2156)
     add 449b735a10 OAK-11565 : added util to replace Iterables.get in 
oak-commons (#2158)
     add f6d2039c6c OAK-11566 : added util to replace Iterables.find in 
oak-commons (#2161)
     add 1762685c40 OAK-11576 : removed usage of Guava's Iterables.get() with 
oak-commons (#2163)
     add 3f5167cb95 OAK-11577 : removed usage of Guava's Iterables.find() with 
oak-commons (#2164)
     add 60cd7597d5 OAK-11573: add size api in IteratorUtils (#2159)
     add a2595d9cb9 OAK-11575 : added util to replace Iterables.getLast in 
oak-commons (#2162)
     add f9723a21ac OAK-11580 : removed usage of Guava's Iterables.skip() with 
ListIterator (#2168)
     add 34851c170a OAK-11582 : removed usage of Guava's Iterables.removeAll() 
with Stream (#2167)
     add 88e1396c97 OAK-11581 : removed usage of Guava's Iterables.cycle() with 
Stream (#2166)
     add 42a12a4acc OAK-11586: webapp: update Tomcat dependency to 9.0.102 
(#2170)
     add 691a326ba7 OAK-11578 : removed usage of Guava's Iterables.getLast() 
with oak-commons (#2172)
     add 8a26abaf6f OAK-11574: remove usage of Iterators.size() api (#2169)
     add 308965d9a0 OAK-11583: add get api in IteratorUtils (#2171)
     add fc14e20ea5 OAK-11597: increase toxiproxy startup attempts (#2175)
     add 9723edba9e OAK-11564 oak-run FullGC leaves background threads running
     add 5b13b559dc OAK-11596 : removed Guava's Iterables imports (#2174)
     add 399bbddd6a doc: Fix typo
     add 22fc672f00 OAK-11555 Elastic: support dot in property and function 
names (#2145)
     add 057b30aa5a OAK-11598: bump testcontainers to v1.20.6 (#2176)
     add 301a996754 OAK-11595: update Tomcat JDBC dependency to 9.0.102 (#2177)
     add 77af802954 OAK-11564 oak-run FullGC leaves background threads running
     add 4c8b070260 OAK-11555 Disable test that depends on platform encoding
     add 53c196460c OAK-11603: lucene 4.x fuzzy queries don't work in Elastic 
(#2180)
     add 7aada40fcd OAK-11602 : removed usage of Guava's ImmutableSet.copyOf 
with LinkedSet (#2178)
     add 01179a51a6  OAK-11571: commons: add Closer class (similar to Guava 
Closer) (#2181)
     add 159f032afa OAK-11571: commons: add Closer class (similar to Guava 
Closer) - fix line ends
     add b460435829  OAK-11546: remove usage of Guava Closer  (#2186)
     add f2f77bb06c OAK-11570 oak-run fullGC fullGcMaxAge default value is 
wrongly calculated
     add 709fab2f65 OAK-11570 oak-run fullGC fullGcMaxAge default value is 
wrongly calculated
     add 117fc0559d OAK-11506 Update oak-segment-azure tools to use azure sdk 
v12 implementation (#2160)
     add 6a2ae9a426 OAK-11589: remove guava Iterators.get() usage (#2187)
     add 2e2311ca80 OAK-11584 : add getLast() method in IteratorUtils (#2188)
     add 32d11a8dfa OAK-11606 - indexing-job: throttle messages warning about 
enqueuing delays in IndexWriterPool
     add e292d03752 OAK-11610: Clarify null passwords in createUser(...)
     add 679a4c816c OAK-11611: blob-cloud, segment: update netty version to 
4.1.119 (#2190)
     add ca83044340 OAK-11613: expose ELASTIC_ENABLED metric (#2192)
     add 49716cbca0 OAK-11615: update groovy dependency to 3.0.24 (#2195)
     add 55bc3e17a6 OAK-11614: ES StatisticalFacets: log search request on 
timeout (#2194)
     add c30369268f OAK-11619 - Fix flaky ConcurrentMultiplexingIndexWriterTest
     add 64813b0c76 OAK-11546: remove usage of Guava Closer: revert removal of 
Guava common.io export for now
     add 0178047ee9 OAK-11478 Node store statistics: support the tree store 
(#2071)
     add dea40543d3 OAK-11605 : removed usage of Guava's ImmutableSet.copyOf 
with LinkedSet (#2184)
     add c514f197e2 Revert "OAK-11605 : removed usage of Guava's 
ImmutableSet.copyOf with LinkedS…" (#2198)
     add e26efdf33e Reapply "OAK-11605 : removed usage of Guava's 
ImmutableSet.copyOf with LinkedS…" (#2198)
     add 8a80267ebf OAK-11624: make ES queries more lenient when values cannot 
be converted (#2200)
     add 7c7093b81e OAK-11541: Reduce logQueryExplain to only happen if Trace 
logs are enabled (#2134)
     add 0a76f3ddd6 OAK-11623 Clean oak-segment-azure lib embedding and 
exporting (#2199)
     add 71875f1590 OAK-11594 - Converting existing indexes from a type to 
another leaves the async lane the same (#2173)
     add 6ca71c76f3 OAK-11444 [full-gc] Save document id and empty properties 
names before deletion (#2038)
     add 25df4149f2 OAK-11568 Elastic: improved compatibility for aggregation 
definitions (#2193)
     add 2769219294 OAK-11630: CommandTestUtils captureSystem* should normalize 
line feeds (#2203)
     add 7435450cf0 OAK-11632: Release Oak 1.78.0 - Candidate Release Notes
     add 1dbc3934d0 [maven-release-plugin] prepare release jackrabbit-oak-1.78.0
     add 64ee526b80 [maven-release-plugin] prepare for next development 
iteration
     add 06d46de56a OAK-11622: Clock improvements (#2204)
     add 23017ea676 OAK-11621: Reduce usage of Guava Ticker (#2202)
     add 305a3d6035 OAK-11612 : removed usages of Guava's Sets.union (#2197)
     add 3bb0ea47d4 OAK-11622: Clock improvements - add test code for nanoTime()
     add d59d475881 OAK-11639: oak-run-commons: 
IncrementalFlatFileStoreStrategy uses com.google.common classes (instead of 
shaded ones) (#2210)
     add 5a5af3c775 OAK-11638 Elastic: ignore standard token filter 
configurations (#2209)
     add 1ae6bd34be OAK-11632: Release Oak 1.78.0 - adjust oak-doc* projects 
versions
     add f5e8f8b8b7 OAK-11642: oak-segment-tar uses unmaintained 
concurrentlinkedhashmap-lru (#2211)
     add 840eb75257 OAK-11607 for ordered nodetypes read the child node names 
lazily (#2182)
     add 9d7f223709 OAK-11625: Move 
o.a.j.o.plugins.bundlor.BundlingConfigInitializer to … (#2201)
     add df1135dd09 OAK-11625: Move 
o.a.j.o.plugins.bundlor.BundlingConfigInitializer - file permissions
     add 3216a1d85c OAK-11640 : removed usage of ImmutableSet.builder (#2212)
     add a1b8e60bf8 OAK-11643: Update (shaded) Guava to 33.4.6 (#2214)
     add 6d65177aad OAK-11646 : removed usage of ImmutableSet.of and its 
related unused imports (#2217)
     add dd791eaa6c  OAK-11260: Create replacement for Guava Stopwatch  (#2218)
     add 33c11454f8 OAK-11618: Remove usage of Guava Stopwatch (#2220)
     add d11b929222 OAK-11224: remove guava dependencies from POMs  - 
segment-remote, segment-aws, exercise (#2221)
     add 0d49c49e1e OAK-11652: Remove usage of Guava Iterators.forArray (#2222)
     add 0bfdde4813 OAK-11545 - Use a single long-lived bulk processor for 
Elastic reindexing (#2183)
     add e433fe28f2 OAK-11634 : provided support for generations in FullGC 
(#2206)
     add 3ac77880ed OAK-11643: Update (shaded) Guava to 33.4.7
     add fe44125afb OAK-11654: Remove usage of Guava Suppliers.ofInstance 
(#2224)
     add f54cabd63a OAK-11590 : removed usage of Iterators.getLast with 
oak-commons implementation (#2227)
     add 8b920a326f OAK-11585 : added Iterators.contains replacement in 
oak-commons (#2228)
     add 0601c69cbf OAK-11655 - Do not create redundant instances of 
ElasticBulkProcessorHandler (#2225)
     add 55a38029af OAK-11591 : removed usage of Iterators.contains with 
oak-commons util (#2230)
     add cca2a4f1db OAK-11588 : added Iterators.toArray replacement in 
oak-commons (#2233)
     add 6f91ebf9cd OAK-11650: Fix Javadoc errors (#2232)
     add 37f6efc7d0 OAK-11593 : removed usage of Iterators.toArray with 
oak-commons util (#2235)
     add 34e7fd65b2 OAK-11587 : added Iterators.asEnumeration replacement in 
oak-commons (#2236)
     add 5a39cf218b OAK-11592 : removed usage of Iterators.asEnumeration with 
oak-commons util (#2238)
     add fc066c3d68 OAK-11658 - Nodes of type nt:resource in new index 
definitions must contain a jcr:uuid and it must be unique (#2231)
     add 9cb2172bc9 OAK-11668 : removed usage of Iterators.mergedSorted with 
oak-commons util (#2239)
     add bda76aba06 OAK-11669 : added Iterators.concat replacement in 
oak-commons (#2240)
     add 92a32b1847 OAK-11666 : removed usage of Iterators.concat with 
oak-commons util (#2241)
     add 0e2a7d1e8b OAK-11673 Oak-segment-azure v12 CPU increase caused by 
refreshLease (#2243)
     add bd85fe2b08 OAK-11665 : removed usage of Guava's 
Iterators.singletonIterator with native java (#2244)
     add 7bda86b8dc OAK-11674 : added Iterators.filter replacement in 
oak-commons (#2245)
     add 3ce3784f92 OAK-11663 : removed usage of Guava's Iterators.filter with 
oak-commons (#2246)
     add ad892a1901 OAK-11676 : added Iterators.transform replacement in 
oak-commons (#2247)
     add 09329f69b9 OAK-11664 : removed usage of Guava's Iterators.transform 
with oak-commons (#2249)
     add a72e127b5a OAK-11675 Clean oak-segment-azure lib exporting (#2248)
     add 4b7c14a6dd OAK-11609 : add support for metrics export to Prometheus 
via pushgateway for VersionGarbageCollector (#2216)
     add dc42326324 OAK-11452 : exported full gc OSGi configs as metrics (#2054)
     add e0e80cf910 - moved code that exports fullGC metrics to Prometheus 
pushgateway so that it is called on each fullGC iteration in 
VersionGarbageCollector (#2255)
     add d209d76e39 OAK-11685 : reduced log level for MongoFullGcNodeBin class 
(#2256)
     add 195a48be0c OAK-11677 : removed usage of Guava's 
Iterators.elementsEqual with oak-commons (#2253)
     add cd8c0f30f3 OAK-11680 : added Iterators.cycle replacement in 
oak-commons (#2250)
     add eb852d6de7 OAK-11671 [full-gc] Persist the avg object size and avg 
size of props per document in Mongo settings (#2252)
     add 1f497243d4 OAK-11681 Clean oak-segment-azure lib exporting (#2251)
     add 143d02a07f OAK-11678 : removed usage of Guava's Iterators.cycle with 
oak-commons (#2260)
     add 1f7c51732d OAK-11688 : removed usage of Guava's 
Iterators.getOnlyElements with oak-commons (#2261)
     add 54fc1bcbf2 OAK-11688 : removed usage of Guava's 
Iterators.getOnlyElements with oak-commons (missed ones) (#2265)
     add c71dd30383 OAK-11627: Fix NPE on isInheritedMember (#2205)
     add 71de390a30 OAK-11689 : removed usage of Guava's Iterators.addAll 
(#2264)
     add bb5ca5a6e0 OAK-9584: Support expanded names in JCR method arguments 
for prefix "rep:"
     add 5279bb807e OAK-11696: remove (shaded) Guava common.io package (#2272)
     add 15ff49eca9 Revert "OAK-11696: remove (shaded) Guava common.io package 
(#2272)"
     add 6e532a4d12 OAK-11691 : added Iterators.partition replacement in 
oak-commons (#2267)
     add 3667259d03 OAK-11698: webapp: update Tomcat dependency to 9.0.104 
(#2273)
     add 6e7df1f749 Reapply "OAK-11696: remove (shaded) Guava common.io package 
(#2272)"
     add 0ddfa072e7 OAK-11700: Update (shaded) Guava to 33.4.8 (#2276)
     add 383567927b OAK-11699: Update commons-collections4 to 4.5.0 (#2275)
     add ed60943d4c OAK-11690 : removed usage of Guava's Iterators.partition 
with oak-commons (#2274)
     add 133113524e OAK-11704: Update Mockito dependency to 5.17.0 (#2279)
     add bbdfd13662 OAK-11687 DataStore FileCache Memory Usage (#2259)
     add a7e5d98498 OAK-11705 : removed usage of Guava's 
Iterators.asEnumeration with native JDK (#2280)
     add d7e297eb00 OAK-11695: consistently route the same queries to the same 
shards (#2271)
     add f66bd38d52 OAK-11657: JackrabbitSession.getExpandedName/Path need to 
return stable expanded names (#2229)
     add dca58db330 OAK-11692: Add inference config in oak (#2269)
     add f657b1ab00 OAK-11708: Update Easymock dependency to 5.5 (#2282)
     add df073f36bf OAK-11706 : added Iterators.limit replacement in 
oak-commons (#2281)
     add a5e7d1891f OAK-11710: Update jacoco plugin to 0.8.13 (#2284)
     add 20506bf1c1 OAK-11701: Upgrade jackson-databind dependency to 2.17.3 
(#2277)
     add a4d4cefe22 Revert "OAK-11692: Add inference config in oak (#2269)"
     add 0fa0466c60 Revert "OAK-11657: JackrabbitSession.getExpandedName/Path 
need to return stable expanded names (#2229)"
     add 46b1c80ddc OAK-11692: Add inference config in oak (#2287)
     add 9b63a5b664 OAK-11707 : removed usage of Guava's Iterators.limit with 
oak-commons (#2288)
     add fd5f4d7b4c OAK-11694: Implement inference in oak-search-elastic (#2270)
     add b03171acb6 OAK-11714: Add jmx to expose inferenceConfig (#2290)
     add 16995af21f OAK-11716: Capture inference service stats (#2291)
     add 9ef4707132 OAK-11717: Release Oak 1.80.0 - Candidate Release Notes 
(#2292)
     add 189b9ad0a7 OAK-11720 : added OSGI config to avoid taking exclusive 
merge lock in case of conflicts
     add 5442748c93 OAK-11709 Merging index definitions: merge 'tags' and 
override 'type' (#2283)
     add 39f73d5d87 OAK-11721: experimental and inferenceConfig implementation 
should be … (#2294)
     add a43730151c OAK-11722: Donot read compatibility system property in 
VectorQuery fo… (#2297)
     add 0927b84131 OAK-11717: Release Oak 1.80.0 - Candidate Release Notes
     add 94e9e856f3 [maven-release-plugin] prepare release jackrabbit-oak-1.80
     add 63eb1ba2a1 [maven-release-plugin] prepare for next development 
iteration
     add ea1d116369 Merge branch 'trunk' into 
feature/OAK-11498-expose-bound-principals-via-jrsession

No new revisions were added by this update.

Summary of changes:
 RELEASE-NOTES.txt                                  |  159 ++-
 oak-api/pom.xml                                    |    2 +-
 ...tedCacheStatsMBean.java => InferenceMBean.java} |   21 +-
 .../oak/api/jmx/QueryEngineSettingsMBean.java      |   14 +
 .../oak/api/jmx/RepositoryManagementMBean.java     |   12 +-
 .../jackrabbit/oak/api/jmx/package-info.java       |    2 +-
 oak-auth-external/pom.xml                          |    2 +-
 .../external/basic/DefaultSyncConfig.java          |   14 +-
 .../external/impl/DefaultSyncHandler.java          |    3 +-
 .../external/impl/DynamicSyncContext.java          |    4 +-
 .../external/impl/ExternalLoginModule.java         |    6 +-
 .../external/impl/jmx/Delegatee.java               |    5 +-
 .../external/impl/jmx/SynchronizationMBean.java    |   12 +-
 .../impl/principal/AutoMembershipPrincipals.java   |   13 +-
 .../impl/principal/AutoMembershipProvider.java     |    3 +-
 .../impl/principal/CachedGroupPrincipal.java       |    5 +-
 .../principal/DynamicGroupValidatorProvider.java   |    4 +-
 .../ExternalAuthorizableActionProvider.java        |    4 +-
 .../principal/ExternalGroupPrincipalProvider.java  |   20 +-
 .../ExternalIdentityRepositoryInitializer.java     |    2 +-
 .../principal/ExternalUserValidatorProvider.java   |    4 +-
 .../impl/principal/ProtectionConfigImpl.java       |    6 +-
 .../impl/principal/SyncHandlerMappingTracker.java  |    4 +-
 .../external/AbstractExternalAuthTest.java         |    3 +-
 .../external/basic/DefaultSyncContextTest.java     |    3 +-
 .../external/impl/AbstractDynamicTest.java         |    3 +-
 .../external/impl/AutoMembershipAwareTest.java     |    5 +-
 .../external/impl/DefaultSyncHandlerTest.java      |    7 +-
 .../external/impl/DynamicSyncContextTest.java      |   10 +-
 .../external/impl/PrincipalResolutionTest.java     |    4 +-
 .../impl/principal/AbstractPrincipalTest.java      |    5 +-
 .../principal/AutoMembershipPrincipalsTest.java    |   15 +-
 .../impl/principal/AutoMembershipProviderTest.java |   11 +-
 .../impl/principal/DynamicGroupUtilTest.java       |    3 +-
 .../impl/principal/DynamicGroupValidatorTest.java  |    6 +-
 .../ExternalGroupPrincipalProviderDMTest.java      |    7 +-
 .../ExternalIdentityRepositoryInitializerTest.java |    4 +-
 .../ExternalPrincipalConfigurationTest.java        |    3 +-
 .../PrincipalProviderAutoMembershipTest.java       |    7 +-
 .../principal/SyncHandlerMappingTrackerTest.java   |    2 +-
 .../impl/principal/SystemPrincipalConfigTest.java  |    3 +-
 oak-auth-ldap/pom.xml                              |    2 +-
 .../ldap/impl/LdapIdentityProviderTest.java        |   16 +-
 oak-authorization-cug/pom.xml                      |    2 +-
 .../cug/impl/CugAccessControlManager.java          |   15 +-
 .../authorization/cug/impl/CugExcludeImpl.java     |    4 +-
 .../authorization/cug/impl/NestedCugHook.java      |    3 +-
 .../authorization/cug/impl/TopLevelPaths.java      |    4 +-
 .../cug/impl/CugAccessControlManagerTest.java      |   11 +-
 .../authorization/cug/impl/CugImportBaseTest.java  |    4 +-
 .../cug/impl/CugPermissionProviderTest.java        |    3 +-
 .../authorization/cug/impl/CugPolicyImplTest.java  |    3 +-
 .../authorization/cug/impl/NestedCugHookTest.java  |    3 +-
 .../authorization/cug/impl/VersionTest.java        |    3 +-
 oak-authorization-principalbased/pom.xml           |    2 +-
 .../principalbased/impl/FilterProviderImpl.java    |    4 +-
 .../impl/PrincipalBasedAccessControlManager.java   |   10 +-
 .../PrincipalBasedAuthorizationConfiguration.java  |    4 +-
 .../impl/PrincipalPolicyImporter.java              |    6 +-
 .../impl/PrincipalPolicyValidatorProvider.java     |    2 +-
 .../impl/AbstractPrincipalBasedTest.java           |    4 +-
 .../principalbased/impl/EffectivePolicyTest.java   |    4 +-
 .../principalbased/impl/EntryIteratorTest.java     |    4 +-
 .../principalbased/impl/ImportBaseTest.java        |    4 +-
 .../impl/PermissionProviderVersionStoreTest.java   |    4 +-
 .../principalbased/impl/PolicyValidatorTest.java   |    3 +-
 .../impl/PrincipalPolicyImplTest.java              |    4 +-
 .../impl/PrincipalPolicyImporterTest.java          |    2 +-
 .../impl/ReadablePathsAccessControlTest.java       |    9 +-
 .../impl/ReadablePathsPermissionTest.java          |    9 +-
 .../impl/RepositoryPermissionTest.java             |    4 +-
 oak-benchmarks-elastic/pom.xml                     |    2 +-
 oak-benchmarks-lucene/pom.xml                      |    2 +-
 .../jackrabbit/oak/benchmark/HybridIndexTest.java  |    3 +-
 ...LucenePropertyFTIndexedContentAvailability.java |    4 -
 .../suites/ScalabilityBlobSearchSuite.java         |    6 +-
 .../suites/ScalabilityNodeRelationshipSuite.java   |   10 +-
 .../scalability/suites/ScalabilityNodeSuite.java   |   12 +-
 oak-benchmarks-solr/pom.xml                        |    2 +-
 oak-benchmarks/pom.xml                             |    2 +-
 oak-benchmarks/run_comparison_against_baseline.sh  |  387 ++++++
 .../jackrabbit/oak/benchmark/AbstractTest.java     |   12 +-
 .../oak/benchmark/ContinuousRevisionGCTest.java    |    3 +-
 .../jackrabbit/oak/benchmark/RevisionGCTest.java   |    3 +-
 .../authorization/AbstractHasItemGetItemTest.java  |    4 +-
 .../permission/EagerCacheSizeTest.java             |    3 +-
 .../principalbased/PrinicipalBasedReadTest.java    |    7 +-
 .../benchmarks/search/ConcurrentReader.java        |    3 -
 .../standby/StandbyBulkTransferBenchmark.java      |    2 +-
 .../suites/ScalabilityAbstractSuite.java           |    5 +-
 .../suites/ScalabilityStandbySuite.java            |    2 +-
 oak-blob-cloud-azure/pom.xml                       |    2 +-
 .../azure/blobstorage/AzureDataStoreTest.java      |    4 +-
 oak-blob-cloud/pom.xml                             |    2 +-
 .../jackrabbit/oak/blob/cloud/s3/S3Backend.java    |    4 +-
 oak-blob-plugins/pom.xml                           |    2 +-
 .../blob/AbstractSharedCachingDataStore.java       |   16 +-
 .../oak/plugins/blob/DataStoreCacheUtils.java      |   11 +-
 .../jackrabbit/oak/plugins/blob/FileCache.java     |  175 ++-
 .../plugins/blob/MarkSweepGarbageCollector.java    |   38 +-
 .../oak/plugins/blob/datastore/BlobIdTracker.java  |    6 +-
 .../plugins/blob/datastore/DataStoreBlobStore.java |   33 +-
 .../oak/plugins/blob/datastore/FSBackend.java      |    7 +-
 .../plugins/blob/datastore/OakFileDataStore.java   |    7 +-
 .../plugins/blob/AbstractDataStoreCacheTest.java   |    4 +-
 .../jackrabbit/oak/plugins/blob/BlobGCTest.java    |    9 +-
 .../oak/plugins/blob/CachingDataStoreTest.java     |   15 +-
 .../plugins/blob/CompositeDataStoreCacheTest.java  |    4 +-
 .../blob/ConsolidatedDataStoreStatsTest.java       |    2 +-
 .../jackrabbit/oak/plugins/blob/FileCacheTest.java |   60 +-
 .../oak/plugins/blob/SharedDataStoreUtilsTest.java |    6 +-
 .../oak/plugins/blob/TimeLapsedDataStore.java      |    3 +-
 .../oak/plugins/blob/UploadStagingCacheTest.java   |   23 +-
 .../datastore/BlobIdTrackerClusterSharedTest.java  |    6 +-
 .../plugins/blob/datastore/BlobIdTrackerTest.java  |    6 +-
 .../blob/datastore/DataStoreBlobStoreTest.java     |    4 +-
 .../blob/datastore/OakFileDataStoreTest.java       |    3 +-
 .../blob/datastore/SharedDataStoreTest.java        |    3 +-
 oak-blob/pom.xml                                   |    2 +-
 .../jackrabbit/oak/spi/blob/AbstractBlobStore.java |    6 +-
 oak-commons/pom.xml                                |    6 +-
 .../apache/jackrabbit/oak/commons/FileIOUtils.java |   25 +-
 .../apache/jackrabbit/oak/commons/PerfLogger.java  |    4 +-
 .../apache/jackrabbit/oak/commons/Profiler.java    |    9 +-
 .../oak/commons/collections/CollectionUtils.java   |   29 +
 .../oak/commons/collections/IterableUtils.java     |  298 +++++
 .../oak/commons/collections/IteratorUtils.java     |  498 ++++++++
 .../oak/commons/collections/SetUtils.java          |   20 +-
 .../oak/commons/collections/package-info.java      |    2 +-
 .../oak/commons/concurrent/ExecutorCloser.java     |    2 -
 .../commons/concurrent/NotifyingFutureTask.java    |    3 +-
 .../apache/jackrabbit/oak/commons/pio/Closer.java  |  126 ++
 .../commons/{conditions => pio}/package-info.java  |    4 +-
 .../jackrabbit/oak/commons/time/Stopwatch.java     |  164 +++
 .../commons/{conditions => time}/package-info.java |    4 +-
 .../commons/{StopWatch.java => TestStopWatch.java} |    2 +-
 .../commons/collections/CollectionUtilsTest.java   |   76 +-
 .../oak/commons/collections/IterableUtilsTest.java |  932 ++++++++++++++
 .../oak/commons/collections/IteratorUtilsTest.java | 1293 ++++++++++++++++++++
 .../oak/commons/collections/SetUtilsTest.java      |    1 -
 .../oak/commons/json/JsopStreamTest.java           |    4 +-
 .../jackrabbit/oak/commons/json/JsopTest.java      |    4 +-
 .../jackrabbit/oak/commons/junit/LogDumper.java    |    1 -
 .../oak/commons/junit/LogLevelModifier.java        |    1 -
 .../jackrabbit/oak/commons/pio/CloserTest.java     |  189 +++
 .../oak/commons/sort/ExternalSortTest.java         |    4 +-
 .../jackrabbit/oak/commons/time/StopwatchTest.java |   90 ++
 oak-core-spi/pom.xml                               |    2 +-
 .../apache/jackrabbit/oak/commons/jmx/JmxUtil.java |    2 +-
 .../apache/jackrabbit/oak/namepath/NameMapper.java |   23 +-
 .../jackrabbit/oak/namepath/NamePathMapper.java    |   12 +
 .../apache/jackrabbit/oak/namepath/PathMapper.java |   16 +
 .../jackrabbit/oak/namepath/package-info.java      |    2 +-
 .../jackrabbit/oak/spi/mount/FragmentMatcher.java  |    4 +-
 .../org/apache/jackrabbit/oak/spi/mount/Mount.java |    8 +-
 .../apache/jackrabbit/oak/spi/mount/MountInfo.java |    7 +-
 .../oak/spi/mount/MountInfoProvider.java           |    2 +-
 .../jackrabbit/oak/spi/observation/ChangeSet.java  |   14 +-
 .../org/apache/jackrabbit/oak/stats/Clock.java     |   75 +-
 .../oak/stats/DefaultStatisticsProvider.java       |    7 +
 .../stats/{HistogramStats.java => GaugeStats.java} |   12 +-
 .../apache/jackrabbit/oak/stats/SimpleStats.java   |   19 +-
 .../jackrabbit/oak/stats/StatisticsProvider.java   |   17 +
 .../apache/jackrabbit/oak/stats/package-info.java  |    2 +-
 .../org/apache/jackrabbit/oak/stats/ClockTest.java |  104 +-
 .../oak/stats/DefaultStatisticsProviderTest.java   |    9 +-
 .../jackrabbit/oak/stats/NonTickingTestClock.java  |   17 +-
 .../jackrabbit/oak/stats/StatisticManagerTest.java |    8 +-
 oak-core/pom.xml                                   |    9 +-
 .../main/java/org/apache/jackrabbit/oak/Oak.java   |   22 +-
 .../jackrabbit/oak/core/SecureNodeBuilder.java     |    9 +-
 .../jackrabbit/oak/core/SecureNodeState.java       |   11 +-
 .../oak/namepath/impl/GlobalNameMapper.java        |   34 +
 .../oak/namepath/impl/NamePathMapperImpl.java      |   23 +-
 .../oak/plugins/atomic/AtomicCounterEditor.java    |   20 +-
 .../atomic/AtomicCounterEditorProvider.java        |    6 +-
 .../jackrabbit/oak/plugins/cow/COWNodeStore.java   |   14 +-
 .../oak/plugins/identifier/IdentifierManager.java  |   18 +-
 .../oak/plugins/index/AsyncIndexUpdate.java        |    2 +-
 .../oak/plugins/index/AsyncIndexerService.java     |   10 +-
 .../index/CompositeIndexEditorProvider.java        |   38 +-
 .../oak/plugins/index/FormattingUtils.java         |    2 +-
 .../oak/plugins/index/IndexEditorProvider.java     |    4 +-
 .../oak/plugins/index/IndexInfoServiceImpl.java    |    4 +-
 .../oak/plugins/index/IndexPathServiceImpl.java    |   11 +-
 .../jackrabbit/oak/plugins/index/IndexUpdate.java  |   47 +-
 .../oak/plugins/index/IndexUpdateProvider.java     |    8 +-
 .../jackrabbit/oak/plugins/index/IndexUtils.java   |    5 +-
 .../oak/plugins/index/MetricsFormatter.java        |    2 +-
 .../jackrabbit/oak/plugins/index/MetricsUtils.java |    3 +-
 .../plugins/index/TrackingCorruptIndexHandler.java |   19 +-
 .../plugins/index/aggregate/AggregationCursor.java |    6 +-
 .../oak/plugins/index/cursor/AncestorCursor.java   |    7 +-
 .../oak/plugins/index/cursor/PathCursor.java       |    3 +-
 .../oak/plugins/index/cursor/TraversingCursor.java |    7 +-
 .../index/datastore/DataStoreTextWriter.java       |    2 +-
 .../index/importer/IndexDefinitionUpdater.java     |   87 +-
 .../oak/plugins/index/importer/IndexImporter.java  |   23 +-
 .../oak/plugins/index/importer/NodeStoreUtils.java |    6 +-
 .../index/nodetype/NodeTypeIndexLookup.java        |    5 +-
 .../index/progress/IndexingProgressReporter.java   |    5 +-
 .../index/progress/SimpleRateEstimator.java        |    4 +-
 .../oak/plugins/index/property/PropertyIndex.java  |   22 +-
 .../index/property/PropertyIndexLookup.java        |    5 +-
 .../plugins/index/property/PropertyIndexPlan.java  |    5 +-
 .../plugins/index/property/RecursiveDelete.java    |    6 +-
 .../index/property/jmx/PropertyIndexStats.java     |   10 +-
 .../strategy/ContentMirrorStoreStrategy.java       |    4 +-
 .../strategy/UniqueEntryStoreStrategy.java         |    2 +-
 .../plugins/index/reference/ReferenceIndex.java    |   10 +-
 .../oak/plugins/index/upgrade/IndexDisabler.java   |    3 +-
 .../jackrabbit/oak/plugins/metric/GaugeImpl.java   |   19 +-
 .../plugins/metric/MetricStatisticsProvider.java   |   38 +
 .../migration/AbstractDecoratedNodeState.java      |   13 +-
 .../oak/plugins/migration/FilteringNodeState.java  |   10 +-
 .../oak/plugins/migration/NodeStateCopier.java     |   22 +-
 .../migration/version/VersionHistoryUtil.java      |    4 +-
 .../migration/version/VersionableEditor.java       |    3 +-
 .../oak/plugins/name/NamespaceEditor.java          |    3 +-
 .../plugins/nodetype/EffectiveNodeTypeImpl.java    |   12 +-
 .../oak/plugins/nodetype/EffectiveType.java        |    5 +-
 .../oak/plugins/nodetype/NodeTypeImpl.java         |    6 +-
 .../plugins/nodetype/ReadOnlyNodeTypeManager.java  |    2 +-
 .../oak/plugins/nodetype/TypeEditor.java           |    8 +-
 .../oak/plugins/nodetype/TypePredicate.java        |    4 +-
 .../oak/plugins/nodetype/TypeRegistration.java     |   13 +-
 .../nodetype/write/NodeTypeTemplateImpl.java       |    4 +-
 .../nodetype/write/ReadWriteNodeTypeManager.java   |   14 +-
 .../plugins/observation/filter/FilterBuilder.java  |    4 +-
 .../observation/filter/GlobbingPathFilter.java     |    2 +-
 .../oak/plugins/tree/impl/AbstractTree.java        |   29 +-
 .../oak/plugins/tree/impl/ImmutableTree.java       |    6 +-
 .../tree/impl/OrderedChildnameIterator.java        |  125 ++
 .../oak/plugins/version/VersionHook.java           |    5 -
 .../oak/plugins/version/VersionableState.java      |    1 -
 .../org/apache/jackrabbit/oak/query/Query.java     |    4 +-
 .../jackrabbit/oak/query/QueryEngineSettings.java  |   19 +-
 .../oak/query/QueryEngineSettingsService.java      |   16 +
 .../jackrabbit/oak/query/UnionQueryImpl.java       |    5 +-
 .../jackrabbit/oak/query/ast/AstElement.java       |    4 +-
 .../oak/query/ast/AstElementFactory.java           |    3 +-
 .../oak/query/ast/FullTextSearchImpl.java          |   49 +-
 .../jackrabbit/oak/query/ast/LowerCaseImpl.java    |    4 +-
 .../jackrabbit/oak/query/index/FilterImpl.java     |    5 +
 .../AuthenticationConfigurationImpl.java           |    2 +-
 .../authentication/CallbackHandlerImpl.java        |    8 +-
 .../token/TokenConfigurationImpl.java              |    5 +-
 .../authentication/token/TokenLoginModule.java     |   12 +-
 .../authentication/user/LoginModuleImpl.java       |   16 +-
 .../authorization/AuthorizationContext.java        |    4 +-
 .../authorization/AuthorizationInitializer.java    |    4 +-
 .../security/authorization/accesscontrol/ACL.java  |    6 +-
 .../accesscontrol/AccessControlManagerImpl.java    |    5 +-
 .../accesscontrol/AccessControlValidator.java      |    3 +-
 .../composite/CompositeAccessControlManager.java   |   15 +-
 .../CompositeAuthorizationConfiguration.java       |   12 +-
 .../authorization/permission/ChildOrderDiff.java   |    4 +-
 .../permission/CompiledPermissionImpl.java         |    6 +-
 .../authorization/restriction/CurrentPattern.java  |    5 +-
 .../authorization/restriction/GlobPattern.java     |    3 -
 .../authorization/restriction/GlobsPattern.java    |    9 +-
 .../authorization/restriction/ItemNamePattern.java |    5 +-
 .../authorization/restriction/NodeTypePattern.java |    5 +-
 .../authorization/restriction/PrefixPattern.java   |    7 +-
 .../restriction/RestrictionProviderImpl.java       |    6 +-
 .../authorization/restriction/SubtreePattern.java  |    3 +-
 .../oak/security/internal/Preconditions.java       |    6 +-
 .../internal/SecurityProviderRegistration.java     |    8 +-
 .../oak/security/principal/EveryoneFilter.java     |    6 +-
 .../security/principal/PrincipalProviderImpl.java  |    3 +-
 .../oak/security/user/AbstractGroupPrincipal.java  |    5 +-
 .../oak/security/user/AuthorizableImpl.java        |    2 +-
 .../oak/security/user/AuthorizableIterator.java    |    9 +-
 .../oak/security/user/CacheConflictHandler.java    |   16 +-
 .../user/CachedPrincipalMembershipReader.java      |    4 +-
 .../security/user/DeclaredMembershipPredicate.java |    3 +-
 .../security/user/DynamicMembershipTracker.java    |    5 +-
 .../security/user/EveryoneMembershipProvider.java  |    5 +-
 .../jackrabbit/oak/security/user/GroupImpl.java    |    2 +-
 .../oak/security/user/MembershipProvider.java      |   12 +-
 .../oak/security/user/MembershipWriter.java        |   10 +-
 .../oak/security/user/PasswordHistory.java         |    4 +-
 .../security/user/RepMembersConflictHandler.java   |   19 +-
 .../oak/security/user/UserAuthentication.java      |    6 +-
 .../jackrabbit/oak/security/user/UserImporter.java |   27 +-
 .../oak/security/user/UserInitializer.java         |   10 +-
 .../oak/security/user/UserManagerImpl.java         |    6 +-
 .../oak/security/user/UserPrincipalProvider.java   |    5 +-
 .../jackrabbit/oak/security/user/UserProvider.java |   29 +-
 .../user/autosave/AuthorizableWrapper.java         |    5 +-
 .../user/autosave/AutoSaveEnabledManager.java      |    2 +-
 .../oak/security/user/query/UserQueryManager.java  |    9 +-
 .../jackrabbit/oak/core/SecureNodeBuilderTest.java |    5 +-
 .../oak/namepath/impl/GlobalNameMapperTest.java    |   31 +-
 .../oak/namepath/impl/NamePathMapperImplTest.java  |   21 +
 .../oak/plugins/index/AsyncIndexUpdateTest.java    |    5 +-
 .../oak/plugins/index/FormattingUtilsTest.java     |   76 +-
 .../index/importer/IndexDefinitionUpdaterTest.java |   96 +-
 .../plugins/index/importer/IndexImporterTest.java  |   46 +
 .../index/property/AsyncPropertyIndexTest.java     |    2 +-
 .../plugins/index/property/PropertyIndexTest.java  |    5 +-
 .../strategy/ContentMirrorStoreStrategyTest.java   |    1 -
 .../metric/MetricStatisticsProviderTest.java       |   15 +
 .../plugins/migration/FilteringNodeStateTest.java  |    5 +-
 .../filter/ChangeSetFilterImplTest.java            |    2 +-
 .../oak/plugins/tree/impl/ImmutableTreeTest.java   |    4 +-
 .../tree/impl/OrderedChildnameIterableTest.java    |  147 +++
 .../oak/plugins/tree/impl/TreeUtilTest.java        |    7 +-
 .../jackrabbit/oak/query/AbstractQueryTest.java    |    2 -
 .../AuthenticationConfigurationImplTest.java       |    3 +-
 .../AuthorizationConfigurationImplOSGiTest.java    |    6 +-
 .../AccessControlManagerImplTest.java              |    4 +-
 .../EffectivePoliciesByPrincipalsAndPathsTest.java |   25 +-
 .../accesscontrol/RemappedPrivilegeNamesTest.java  |    4 +-
 .../CompositeAccessControlManagerTest.java         |    5 +-
 .../composite/CompositeProviderScopeTest.java      |    4 +-
 .../evaluation/AbstractQueryTest.java              |    8 +-
 .../evaluation/ChildOrderPropertyTest.java         |   10 +-
 .../evaluation/TraversingQueryTest.java            |    1 -
 .../MountPermissionProviderRandomTestIT.java       |    4 +-
 .../permission/PermissionHookTest.java             |    5 +-
 .../restriction/GlobsPatternTest.java              |    4 +-
 .../internal/InternalSecurityProviderTest.java     |    3 +-
 .../internal/SecurityProviderRegistrationTest.java |    7 +-
 .../principal/AbstractPrincipalProviderTest.java   |    3 +-
 .../oak/security/principal/EveryoneFilterTest.java |   31 +-
 .../principal/PrincipalProviderImplErrorTest.java  |    4 +-
 .../principal/PrincipalProviderImplTest.java       |    9 +-
 .../oak/security/privilege/JcrAllTest.java         |    4 +-
 .../privilege/PrivilegeDefinitionWriterTest.java   |    4 +-
 .../oak/security/privilege/PrivilegeImplTest.java  |    4 +-
 .../security/user/AbstractAddMembersByIdTest.java  |    3 +-
 .../security/user/AbstractGroupPrincipalTest.java  |    3 +-
 .../user/AddMembersByIdBestEffortTest.java         |   14 +-
 .../security/user/AuthorizableIteratorTest.java    |   15 +-
 .../security/user/CachedGroupPrincipalTest.java    |   12 +-
 .../oak/security/user/DuplicateMembershipTest.java |   24 +-
 .../user/DynamicMembershipTrackerTest.java         |   13 +-
 .../oak/security/user/GroupImplTest.java           |    3 +-
 .../oak/security/user/ImpersonationImplTest.java   |    5 +-
 .../user/InheritedMembersIteratorTest.java         |    6 +-
 .../oak/security/user/MembershipBaseTest.java      |    8 +-
 .../oak/security/user/MembershipProviderTest.java  |   15 +-
 .../oak/security/user/MembershipTest.java          |    8 +-
 .../oak/security/user/PasswordHistoryTest.java     |    6 +-
 .../oak/security/user/UserContextTest.java         |    3 +-
 .../oak/security/user/UserImporterTest.java        |    3 +-
 .../oak/security/user/UserInitializerTest.java     |    8 +-
 .../security/user/UserPrincipalProviderTest.java   |    9 +-
 .../oak/security/user/action/GroupActionTest.java  |    7 +-
 .../user/autosave/AuthorizableImplTest.java        |    9 +-
 .../security/user/query/GroupPredicateTest.java    |    4 +-
 .../security/user/query/ResultIteratorTest.java    |   19 +-
 .../user/query/XPathConditionVisitorTest.java      |    4 +-
 .../index/importer/index-def-jcruuid-fix.json      |   24 +
 oak-doc-railroad-macro/pom.xml                     |    2 +-
 oak-doc/pom.xml                                    |    2 +-
 oak-doc/src/site/markdown/constraints.md           |    2 +-
 oak-doc/src/site/markdown/nodestore/compositens.md |    2 +-
 oak-doc/src/site/markdown/query/lucene.md          |   46 +-
 .../security/authentication/externalloginmodule.md |    2 +-
 .../security/authentication/token/default.md       |    2 +-
 oak-doc/src/site/markdown/security/user/default.md |    2 +-
 oak-examples/pom.xml                               |    2 +-
 oak-examples/standalone/pom.xml                    |    2 +-
 oak-examples/webapp/pom.xml                        |    4 +-
 oak-exercise/pom.xml                               |    8 +-
 .../external/CustomExternalIdentityProvider.java   |    4 +-
 .../ReadOnlyAuthorizationConfiguration.java        |   11 +-
 .../authorization/models/simplifiedroles/Role.java |   14 +-
 .../ThreeRolesPermissionProvider.java              |    9 +-
 .../principal/CustomPrincipalProvider.java         |    4 +-
 .../authentication/L3_LoginModuleTest.java         |    6 +-
 .../advanced/L2_SetupAggregationTest.java          |   24 +-
 .../advanced/L3_UnderstandAggregationTest.java     |   10 +-
 .../L5_CustomPermissionEvaluationTest.java         |    4 +-
 .../principalbased/AbstractPrincipalBasedTest.java |    4 +-
 .../security/principal/L3_EveryoneTest.java        |    8 +-
 .../principal/L4_PrincipalProviderTest.java        |    6 +-
 .../privilege/L3_BuiltInPrivilegesTest.java        |    4 +-
 .../security/privilege/L4_CustomPrivilegeTest.java |   10 +-
 .../user/L10_RemovalAndMembershipTest.java         |    4 +-
 .../exercise/security/user/L8_MembershipTest.java  |    4 +-
 oak-http/pom.xml                                   |    2 +-
 oak-it-osgi/pom.xml                                |    2 +-
 .../org/apache/jackrabbit/oak/osgi/OSGiIT.java     |    5 +
 oak-it/pom.xml                                     |    2 +-
 .../oak/composite/AtomicCompositeMergeTest.java    |    2 +-
 .../oak/composite/CompositeNodeStoreTest.java      |   10 +-
 .../index/AsyncIndexUpdateClusterTestIT.java       |    3 +-
 .../jackrabbit/oak/spi/state/NodeStoreTest.java    |    3 +-
 oak-jackrabbit-api/pom.xml                         |    2 +-
 .../apache/jackrabbit/api/JackrabbitSession.java   |   26 +-
 .../jackrabbit/api/JackrabbitValueFactory.java     |    4 -
 .../apache/jackrabbit/api/binary/BinaryUpload.java |   25 +-
 .../api/observation/JackrabbitEventFilter.java     |    7 -
 .../security/JackrabbitAccessControlManager.java   |   12 +-
 .../security/authorization/PrincipalSetPolicy.java |    2 +-
 .../authorization/PrivilegeCollection.java         |    2 +-
 .../jackrabbit/api/security/user/Authorizable.java |    4 +-
 .../jackrabbit/api/security/user/UserManager.java  |   16 +-
 oak-jcr/pom.xml                                    |    3 +-
 .../java/org/apache/jackrabbit/oak/jcr/Jcr.java    |    4 +-
 .../oak/jcr/delegate/AuthorizableDelegator.java    |    5 +-
 .../oak/jcr/delegate/GroupDelegator.java           |    5 +-
 .../jackrabbit/oak/jcr/delegate/NodeDelegate.java  |   11 +-
 .../oak/jcr/delegate/UserManagerDelegator.java     |    7 +-
 .../oak/jcr/delegate/VersionHistoryDelegate.java   |    3 +-
 .../jackrabbit/oak/jcr/delegate/package-info.java  |   16 +-
 .../oak/jcr/observation/EventFactory.java          |    5 +-
 .../jackrabbit/oak/jcr/session/ItemImpl.java       |   57 +-
 .../jackrabbit/oak/jcr/session/NodeImpl.java       |   18 +-
 .../jackrabbit/oak/jcr/session/SessionContext.java |   12 +
 .../jackrabbit/oak/jcr/session/SessionImpl.java    |   22 +
 .../oak/jcr/session/SessionNamespaces.java         |    6 +-
 .../oak/jcr/version/VersionHistoryImpl.java        |    7 +-
 .../jackrabbit/oak/jcr/xml/ImporterImpl.java       |    6 +-
 .../jackrabbit/oak/jcr/AbstractRepositoryTest.java |    2 +-
 .../jackrabbit/oak/jcr/BaseRepositoryStub.java     |    2 +-
 .../oak/jcr/CompatibilityIssuesTest.java           |    4 +-
 .../apache/jackrabbit/oak/jcr/ConcurrentAddIT.java |    7 +-
 .../oak/jcr/ConcurrentAddReferenceTest.java        |    5 +-
 .../jackrabbit/oak/jcr/DocumentClusterIT.java      |    5 +-
 .../jackrabbit/oak/jcr/JackrabbitNodeTest.java     |   15 +
 .../jackrabbit/oak/jcr/LargeOperationIT.java       |    6 +-
 .../jackrabbit/oak/jcr/OakRepositoryStub.java      |    5 +-
 .../oak/jcr/OakSegmentTarRepositoryStub.java       |    2 +-
 .../jackrabbit/oak/jcr/ObservationQueueTest.java   |    6 +-
 .../jackrabbit/oak/jcr/OperationLoggerTest.java    |    4 +-
 .../apache/jackrabbit/oak/jcr/PropertyTest.java    |    9 +-
 .../jackrabbit/oak/jcr/binary/BinaryAccessIT.java  |    3 +-
 .../oak/jcr/observation/ObservationTest.java       |    4 +-
 .../security/user/GroupImportBestEffortTest.java   |    6 +-
 .../jcr/security/user/GroupImportIgnoreTest.java   |    5 +-
 .../oak/jcr/security/user/UserQueryTest.java       |   35 +-
 .../oak/jcr/session/JackrabbitSessionTest.java     |   23 +-
 .../jackrabbit/oak/query/AbstractJcrTest.java      |    3 +-
 oak-lucene/pom.xml                                 |    2 +-
 .../ActiveDeletedBlobCollectorMBeanImpl.java       |    4 +-
 .../oak/plugins/index/lucene/IndexCopier.java      |    7 +-
 .../oak/plugins/index/lucene/IndexTracker.java     |    4 +-
 .../oak/plugins/index/lucene/LuceneIndex.java      |   16 +-
 .../plugins/index/lucene/LuceneIndexMBeanImpl.java |   10 +-
 .../index/lucene/LuceneIndexNodeManager.java       |    4 +-
 .../index/lucene/LuceneIndexWriterFactory.java     |    2 +-
 .../plugins/index/lucene/LucenePropertyIndex.java  |   28 +-
 .../ActiveDeletedBlobCollectorFactory.java         |    8 +-
 .../lucene/directory/CopyOnReadDirectory.java      |    4 +-
 .../lucene/directory/CopyOnWriteDirectory.java     |    4 +-
 .../lucene/directory/IndexConsistencyChecker.java  |    4 +-
 .../index/lucene/directory/IndexRootDirectory.java |    4 +-
 .../index/lucene/directory/LuceneIndexDumper.java  |    2 +-
 .../lucene/directory/LuceneIndexImporter.java      |    2 +-
 .../index/lucene/directory/OakDirectory.java       |    4 +-
 .../plugins/index/lucene/hybrid/IndexedPaths.java  |    3 +-
 .../index/lucene/hybrid/LuceneDocumentHolder.java  |    6 +-
 .../index/lucene/property/BucketSwitcher.java      |    4 +-
 .../lucene/property/HybridPropertyIndexInfo.java   |    4 +-
 .../lucene/property/HybridPropertyIndexLookup.java |    9 +-
 .../lucene/property/PropertyIndexCleaner.java      |    3 +-
 .../property/PropertyIndexUpdateCallback.java      |    6 +-
 .../property/UniquenessConstraintValidator.java    |    9 +-
 .../index/lucene/reader/DefaultIndexReader.java    |    2 +-
 .../index/lucene/util/IndexDefinitionBuilder.java  |    6 +-
 .../StatisticalSortedSetDocValuesFacetCounts.java  |    2 +-
 .../plugins/index/lucene/util/SuggestHelper.java   |    2 +-
 .../index/lucene/writer/DefaultIndexWriter.java    |    4 +-
 .../index/lucene/writer/IndexWriterPool.java       |   27 +-
 .../lucene/writer/MultiplexingIndexWriter.java     |   10 +-
 .../lucene/writer/PooledLuceneIndexWriter.java     |    3 +-
 .../java/org/apache/lucene/index/IndexWriter.java  |    2 +-
 .../oak/composite/blueGreen/Persistence.java       |    2 +-
 .../ActiveDeletedBlobCollectorMBeanImplTest.java   |    4 +-
 .../lucene/AsyncIndexStatsUpdateCallbackTest.java  |   29 +-
 .../lucene/AsyncIndexUpdateCorruptMarkingTest.java |    7 +-
 .../plugins/index/lucene/BadIndexTrackerTest.java  |   13 +-
 .../index/lucene/IndexAugmentorFactoryTest.java    |    3 +-
 .../index/lucene/IndexCopierCleanupTest.java       |    2 +-
 .../oak/plugins/index/lucene/IndexCopierTest.java  |    2 +-
 .../oak/plugins/index/lucene/IndexTrackerTest.java |    9 +-
 .../lucene/IndexlaneRepositoryTraversalTest.java   |   14 +-
 .../oak/plugins/index/lucene/InvalidIndexTest.java |    6 +-
 .../index/lucene/LuceneFullTextIndexTest.java      |   10 +
 .../oak/plugins/index/lucene/LuceneIndexTest.java  |    4 +-
 .../index/lucene/LucenePropertyIndexTest.java      |    6 +-
 .../index/lucene/LuceneTestRepositoryBuilder.java  |   13 +-
 .../index/lucene/ReopenedLuceneIndexTest.java      |    2 +-
 .../oak/plugins/index/lucene/VirtualTicker.java    |   41 -
 .../directory/AbstractActiveDeletedBlobTest.java   |    8 +-
 .../directory/ActiveDeletedBlobCollectorTest.java  |    6 +-
 .../ConcurrentCopyOnReadDirectoryTest.java         |    3 +-
 .../lucene/directory/CopyOnWriteDirectoryTest.java |    3 +-
 .../lucene/directory/OakDirectoryTestBase.java     |    6 +-
 .../index/lucene/hybrid/DocumentQueueTest.java     |    2 +-
 .../index/lucene/hybrid/HybridIndexTest.java       |    4 +-
 .../hybrid/LuceneJournalPropertyBuilderTest.java   |    3 +-
 .../invalidData/InvalidIndexDefinitionTest.java    |   29 +-
 .../property/LuceneIndexPropertyQueryTest.java     |    3 +-
 .../index/lucene/property/RecursiveDeleteTest.java |    4 +-
 .../util/LuceneIndexDefinitionBuilderTest.java     |    3 +-
 .../index/lucene/util/TapeSamplingTest.java        |    4 +-
 .../ConcurrentMultiplexingIndexWriterTest.java     |   63 +-
 .../index/lucene/writer/FailedIndexUpdateTest.java |    2 +-
 .../lucene/writer/MultiplexingIndexWriterTest.java |    3 +-
 oak-parent/pom.xml                                 |   77 +-
 oak-pojosr/pom.xml                                 |    2 +-
 .../jackrabbit/oak/run/osgi/SpringBootSupport.java |    3 +-
 oak-query-spi/pom.xml                              |   11 +-
 .../apache/jackrabbit/oak/spi/query/Filter.java    |    8 +
 .../jackrabbit/oak/spi/query/QueryLimits.java      |    4 +
 .../oak/spi/query/fulltext/VectorQuery.java        |  109 ++
 .../oak/spi/query/fulltext/VectorQueryConfig.java  |   53 +
 .../oak/spi/query/fulltext/package-info.java       |    2 +-
 .../jackrabbit/oak/spi/query/package-info.java     |    2 +-
 .../fulltext/VectorQueryCompatibilityModeTest.java |   64 +
 .../spi/query/fulltext/VectorQueryConfigTest.java  |   45 +-
 .../oak/spi/query/fulltext/VectorQueryTest.java    |  138 +++
 oak-run-commons/pom.xml                            |    2 +-
 .../apache/jackrabbit/oak/index/IndexHelper.java   |    2 +-
 .../oak/index/IndexImporterSupportBase.java        |   20 +-
 .../jackrabbit/oak/index/OutOfBandIndexerBase.java |    4 +-
 .../oak/index/async/AsyncIndexerBase.java          |    2 +-
 .../index/indexer/document/CompositeIndexer.java   |   18 +-
 .../indexer/document/DocumentStoreIndexerBase.java |   92 +-
 .../indexer/document/NodeStateEntryTraverser.java  |    9 +-
 .../document/flatfile/ChildNodeStateProvider.java  |    9 +-
 .../flatfile/DefaultAheadOfTimeBlobDownloader.java |    4 +-
 .../flatfile/FlatFileNodeStoreBuilder.java         |    4 +-
 .../indexer/document/flatfile/FlatFileStore.java   |    2 +-
 .../document/flatfile/FlatFileStoreIterator.java   |    7 +-
 .../document/flatfile/NodeStateEntrySorter.java    |    3 +-
 .../document/flatfile/PathElementComparator.java   |    4 +-
 .../document/flatfile/StoreAndSortStrategy.java    |    2 +-
 .../flatfile/TraverseWithSortStrategy.java         |    2 +-
 .../document/flatfile/analysis/StatsBuilder.java   |   64 +-
 .../analysis/modules/DistinctBinarySize.java       |    8 +-
 .../analysis/stream/NodeStreamConverter.java       |  103 --
 .../stream/NodeStreamConverterCompressed.java      |  134 --
 .../flatfile/analysis/stream/NodeStreamReader.java |  166 ---
 .../stream/NodeStreamReaderCompressed.java         |  155 ---
 ...odeLineReader.java => NodeTreeStoreReader.java} |  130 +-
 .../flatfile/linkedList/PersistedLinkedListV2.java |    4 +-
 .../flatfile/pipelined/PipelinedMergeSortTask.java |    2 +-
 .../pipelined/PipelinedMongoDownloadTask.java      |    2 +-
 .../flatfile/pipelined/PipelinedSortBatchTask.java |    2 +-
 .../flatfile/pipelined/PipelinedStrategy.java      |    2 +-
 .../flatfile/pipelined/PipelinedTransformTask.java |    2 +-
 .../pipelined/PipelinedTreeStoreStrategy.java      |    9 +-
 .../flatfile/pipelined/PipelinedTreeStoreTask.java |    8 +-
 .../flatfile/pipelined/PipelinedUtils.java         |    2 +-
 .../document/flatfile/pipelined/ThreadMonitor.java |    2 +-
 .../IncrementalFlatFileStoreStrategy.java          |    2 +-
 .../incrementalstore/IncrementalStoreBuilder.java  |   11 +-
 .../MergeIncrementalTreeStore.java                 |   10 +-
 .../index/indexer/document/tree/Prefetcher.java    |    6 +-
 .../oak/index/indexer/document/tree/TreeStore.java |    6 +-
 .../indexer/document/tree/TreeStoreNodeState.java  |    7 +-
 .../indexer/document/tree/TreeStoreUtils.java      |    2 +-
 .../indexer/document/tree/store/FileStore.java     |    3 -
 .../indexer/document/tree/store/TreeSession.java   |    5 -
 .../oak/indexversion/PurgeOldIndexVersion.java     |   27 +-
 .../plugins/document/DocumentNodeStoreHelper.java  |    9 +-
 .../oak/run/cli/BlobStoreFixtureProvider.java      |    2 +-
 .../oak/run/cli/DocumentFixtureProvider.java       |    2 +-
 .../oak/run/cli/NodeStoreFixtureProvider.java      |   22 +-
 .../org/apache/jackrabbit/oak/run/cli/Options.java |    4 +-
 .../oak/run/cli/SegmentFixtureProvider.java        |    2 +-
 .../oak/run/cli/SegmentTarFixtureProvider.java     |    7 +-
 .../flatfile/ChildNodeStateProviderTest.java       |    6 +-
 .../document/flatfile/CountingIterable.java        |    3 +-
 .../flatfile/FlatFileStoreIteratorTest.java        |    4 +-
 .../index/indexer/document/flatfile/TestUtils.java |    4 +-
 .../flatfile/analysis/stream/NodeStreamTest.java   |   98 --
 .../flatfile/analysis/stream/VarIntTest.java       |   45 -
 .../linkedList/FlatFileBufferLinkedListTest.java   |   18 +-
 .../document/flatfile/pipelined/PipelinedIT.java   |   50 +-
 .../PipelinedMongoConnectionFailureIT.java         |    6 +-
 .../flatfile/pipelined/PipelinedTreeStoreIT.java   |   51 +-
 oak-run-elastic/pom.xml                            |    4 +-
 .../oak/index/ElasticDocumentStoreIndexer.java     |   24 +-
 .../jackrabbit/oak/index/ElasticIndexCommand.java  |    5 +-
 .../oak/index/ElasticIndexImporterSupport.java     |    2 +-
 .../oak/index/ElasticOutOfBandIndexer.java         |    4 +-
 .../oak/index/async/AsyncIndexerElastic.java       |    2 +-
 .../indexer/document/ElasticIndexerProvider.java   |   24 +-
 .../index/indexer/document/ElasticIndexerTest.java |    6 +-
 oak-run/pom.xml                                    |    2 +-
 .../oak/console/commands/CdCommand.groovy          |    3 +-
 .../oak/console/commands/LsCommand.groovy          |    4 +-
 .../jackrabbit/oak/checkpoint/Checkpoints.java     |    3 +-
 .../oak/checkpoint/SegmentTarCheckpoints.java      |    2 +-
 .../AbstractSegmentTarExplorerBackend.java         |    3 +-
 .../explorer/AzureSegmentStoreExplorerBackend.java |    6 +-
 .../oak/exporter/NodeStateExportCommand.java       |    2 +-
 .../apache/jackrabbit/oak/index/IndexCommand.java  |    4 +-
 .../oak/index/IndexConsistencyCheckPrinter.java    |    2 +-
 .../jackrabbit/oak/index/OutOfBandIndexer.java     |    3 +-
 .../oak/index/async/AsyncIndexerLucene.java        |    6 +-
 .../indexer/document/DocumentStoreIndexer.java     |   13 +-
 .../oak/index/merge/IndexDefMergerUtils.java       |  117 +-
 .../oak/index/merge/IndexStoreCommand.java         |    4 +-
 .../oak/index/merge/IndexStoreStatsCommand.java    |   75 ++
 .../plugins/document/check/DocumentStoreCheck.java |    3 +-
 .../jackrabbit/oak/plugins/document/check/ETA.java |    2 +-
 .../oak/plugins/document/check/Summary.java        |    3 +-
 .../mongo/MongoDocumentStoreCheckHelper.java       |    4 +-
 .../tika/CSVFileBinaryResourceProvider.java        |    2 +-
 .../oak/plugins/tika/CSVFileGenerator.java         |    2 +-
 .../oak/plugins/tika/TextExtractorMain.java        |    3 +-
 .../jackrabbit/oak/plugins/tika/TextPopulator.java |    4 +-
 .../apache/jackrabbit/oak/run/AvailableModes.java  |    4 +-
 .../jackrabbit/oak/run/CheckpointsCommand.java     |    5 +-
 .../jackrabbit/oak/run/ClusterNodesCommand.java    |    3 +-
 .../jackrabbit/oak/run/CreateGarbageCommand.java   |    2 +-
 .../jackrabbit/oak/run/DataStoreCheckCommand.java  |   30 +-
 .../jackrabbit/oak/run/DataStoreCommand.java       |   15 +-
 .../oak/run/DocumentStoreCheckCommand.java         |    3 +-
 .../jackrabbit/oak/run/FileStoreDiffCommand.java   |   31 +-
 .../apache/jackrabbit/oak/run/FrozenNodeRef.java   |    3 +-
 .../oak/run/FrozenNodeRefsByScanningCommand.java   |    2 +-
 .../oak/run/FrozenNodeRefsUsingIndexCommand.java   |    3 +-
 ...mand.java => FullGCMetricsExporterFixture.java} |   15 +-
 ...a => FullGCMetricsExporterFixtureProvider.java} |   98 +-
 .../apache/jackrabbit/oak/run/GarbageCommand.java  |    2 +-
 .../run/GenerateVersionInconsistencyReport.java    |    2 +-
 .../apache/jackrabbit/oak/run/PrintingDiff.java    |    4 +-
 .../apache/jackrabbit/oak/run/RecoveryCommand.java |    4 +-
 .../apache/jackrabbit/oak/run/RepairCommand.java   |    3 +-
 .../jackrabbit/oak/run/ResetClusterIdCommand.java  |    3 +-
 .../jackrabbit/oak/run/RevisionsCommand.java       |   68 +-
 .../java/org/apache/jackrabbit/oak/run/Utils.java  |    2 +-
 .../oak/index/DocumentStoreIndexerIT.java          |    6 +-
 .../org/apache/jackrabbit/oak/index/ReindexIT.java |    4 +-
 .../index/merge/IndexDefMergerScenariosTest.java   |    1 +
 .../oak/index/merge/IndexDefMergerTest.java        |   82 +-
 .../oak/plugins/document/CommandTestUtils.java     |   13 +-
 .../plugins/document/CreateGarbageCommandTest.java |    2 +-
 .../oak/plugins/document/RevisionsCommandTest.java |   36 +-
 .../jackrabbit/oak/run/DataStoreCheckTest.java     |   24 +-
 .../jackrabbit/oak/run/DataStoreCommandTest.java   |   14 +-
 .../oak/run/FrozenNodeReferenceCreator.java        |    7 +-
 .../run/RevisionsCommandCustomBlobStoreTest.java   |    8 +-
 .../oak/index/merge/merge-override-tags-type.json  |   54 +
 .../apache/jackrabbit/oak/index/merge/merge.txt    |    7 +
 oak-search-elastic/pom.xml                         |   18 +-
 .../index/elastic/ElasticIndexDefinition.java      |   52 +-
 .../index/elastic/ElasticIndexImporter.java        |    1 -
 .../index/elastic/ElasticIndexProviderService.java |  142 +--
 .../index/elastic/ElasticIndexStatistics.java      |   29 +-
 .../index/elastic/ElasticMetricHandler.java        |   33 +-
 .../index/elastic/ElasticPropertyDefinition.java   |  205 ++--
 .../elastic/index/ElasticBulkProcessorHandler.java |  625 ++++++----
 .../index/elastic/index/ElasticCustomAnalyzer.java |  142 ++-
 .../index/ElasticCustomAnalyzerMappings.java       |   11 +-
 .../index/elastic/index/ElasticDocument.java       |   26 +-
 .../index/elastic/index/ElasticDocumentMaker.java  |   39 +-
 .../elastic/index/ElasticIndexEditorContext.java   |    2 +-
 .../elastic/index/ElasticIndexEditorProvider.java  |   27 +-
 .../index/elastic/index/ElasticIndexHelper.java    |  156 ++-
 .../index/elastic/index/ElasticIndexWriter.java    |   89 +-
 .../elastic/index/ElasticIndexWriterFactory.java   |    6 +-
 .../index/elastic/query/ElasticRequestHandler.java |  459 +++++--
 .../elastic/query/ElasticSpellcheckIterator.java   |    4 +-
 .../elastic/query/ElasticSuggestIterator.java      |    1 -
 .../query/async/ElasticResultRowAsyncIterator.java |   13 +-
 .../query/async/facets/ElasticFacetProvider.java   |    1 -
 .../facets/ElasticSecureFacetAsyncProvider.java    |    8 +-
 .../ElasticStatisticalFacetAsyncProvider.java      |   14 +-
 .../elastic/query/inference/EnricherStatus.java    |  114 ++
 .../elastic/query/inference/InferenceConfig.java   |  299 +++++
 ...rviceException.java => InferenceConstants.java} |   22 +-
 .../query/inference/InferenceHeaderPayload.java    |   76 ++
 .../query/inference/InferenceIndexConfig.java      |  134 ++
 .../query/inference/InferenceMBeanImpl.java        |   49 +
 .../query/inference/InferenceModelConfig.java      |  180 +++
 .../elastic/query/inference/InferencePayload.java  |  100 ++
 .../elastic/query/inference/InferenceService.java  |   91 +-
 .../query/inference/InferenceServiceManager.java   |   22 +-
 .../query/inference/InferenceServiceMetrics.java   |  222 ++++
 .../inference/InferenceServiceUsingConfig.java     |  152 +++
 ....java => InferenceServiceUsingIndexConfig.java} |   75 +-
 .../index/elastic/util/ElasticIndexUtils.java      |   92 +-
 .../util/EnvironmentVariableProcessorUtil.java     |   54 +
 .../index/elastic/ElasticAbstractQueryTest.java    |   94 +-
 .../index/elastic/ElasticConnectionRule.java       |    2 +-
 .../plugins/index/elastic/ElasticContentTest.java  |   27 +-
 .../index/elastic/ElasticDynamicBoostTest.java     |    2 +-
 .../plugins/index/elastic/ElasticFacetTest.java    |    3 +-
 .../index/elastic/ElasticFullTextIndexTest.java    |   39 +
 .../elastic/ElasticIndexAggregationNtFileTest.java |   12 +-
 .../index/elastic/ElasticIndexAggregationTest.java |   82 ++
 .../elastic/ElasticIndexProviderServiceTest.java   |   24 +-
 .../index/elastic/ElasticIndexQueryCommonTest.java |   13 +-
 .../index/elastic/ElasticIndexStatisticsTest.java  |   27 +-
 .../elastic/ElasticIndexSuggestionCommonTest.java  |    5 +-
 .../index/elastic/ElasticInferenceTest.java        |    5 +-
 .../oak/plugins/index/elastic/ElasticPerfTest.java |    5 +-
 .../elastic/ElasticPropertyIndexFailuresTest.java  |   94 ++
 .../ElasticPropertyIndexNonFailureTest.java        |  118 ++
 .../index/elastic/ElasticPropertyIndexTest.java    |  199 +--
 .../elastic/ElasticRegexPropertyIndexTest.java     |  134 ++
 .../plugins/index/elastic/ElasticReindexTest.java  |    2 +-
 .../index/elastic/ElasticReliabilityTest.java      |    4 +-
 .../index/elastic/ElasticSimilarQueryTest.java     |    8 +-
 .../elastic/ElasticTestRepositoryBuilder.java      |    8 +-
 .../plugins/index/elastic/ElasticTestServer.java   |    1 +
 .../index/ElasticBulkProcessorHandlerTest.java     |  102 +-
 ...cDocumentMakerLargeStringPropertiesLogTest.java |    2 +-
 .../elastic/index/ElasticIndexHelperTest.java      |  233 +++-
 .../elastic/index/ElasticIndexWriterTest.java      |   43 +-
 .../inference/ElasticInferenceUsingConfigTest.java |  804 ++++++++++++
 .../InferenceConfigSerializationTest.java          |  365 ++++++
 .../query/inference/InferenceConfigTest.java       |  999 +++++++++++++++
 .../inference/InferenceServiceMetricsTest.java     |  256 ++++
 .../elastic/query/inference/VectorDocument.java    |   50 +-
 .../index/elastic/util/ElasticIndexUtilsTest.java  |  141 +++
 .../content/cars.json                              |    0
 .../content/health.json                            |    0
 .../content/ml.json                                |    0
 .../content/programming.json                       |    0
 .../content/yoga.json                              |    0
 ...inner_guide_to_data_manipulation_in_python.json | 1040 ++++++++++++++++
 .../queries/delayed/farming_practices.json         |    0
 .../queries/faulty/machine_learning.json           |    0
 ...to_improve_mental_health_through_exercises.json | 1040 ++++++++++++++++
 ...tritional_advice_for_a_healthier_lifestyle.json | 1040 ++++++++++++++++
 ...ological_advancements_in_electric_vehicles.json | 1040 ++++++++++++++++
 ...he_key_algorithms_used_in_machine_learning.json | 1040 ++++++++++++++++
 oak-search/pom.xml                                 |    2 +-
 .../oak/plugins/index/search/Aggregate.java        |  186 ++-
 .../oak/plugins/index/search/BadIndexTracker.java  |   17 +-
 .../oak/plugins/index/search/FieldNames.java       |    5 +
 .../oak/plugins/index/search/IndexDefinition.java  |  133 +-
 .../plugins/index/search/PropertyDefinition.java   |    9 +-
 .../index/search/spi/editor/DocumentMaker.java     |   25 +-
 .../search/spi/editor/FulltextDocumentMaker.java   |   79 +-
 .../search/spi/editor/FulltextIndexEditor.java     |  609 ++++-----
 .../spi/editor/FulltextIndexEditorContext.java     |  484 ++++----
 .../search/spi/editor/FulltextIndexWriter.java     |    4 +-
 .../spi/editor/FulltextIndexWriterFactory.java     |    7 +-
 .../search/spi/query/FulltextIndexPlanner.java     |    3 +-
 .../search/spi/query/FulltextIndexTracker.java     |    4 +-
 .../index/search/update/RefreshOnReadPolicy.java   |    4 +-
 .../oak/plugins/index/search/util/ConfigUtil.java  |    6 +-
 .../index/search/util/IndexDefinitionBuilder.java  |    6 +-
 .../plugins/index/search/util/LMSEstimator.java    |    2 +-
 .../plugins/index/FullTextAnalyzerCommonTest.java  |  192 ++-
 .../oak/plugins/index/FullTextIndexCommonTest.java |  132 +-
 .../plugins/index/IndexAggregation2CommonTest.java |    6 -
 .../oak/plugins/index/IndexPlannerCommonTest.java  |    2 +-
 .../oak/plugins/index/OrderByCommonTest.java       |    4 +-
 .../oak/plugins/index/search/AggregateTest.java    |    7 +-
 .../index/search/util/TapeSamplingTest.java        |    4 +-
 oak-security-spi/pom.xml                           |    2 +-
 .../jackrabbit/oak/plugins/tree/TreeType.java      |   10 +-
 .../jackrabbit/oak/plugins/tree/TreeUtil.java      |    4 +-
 .../oak/spi/security/CompositeConfiguration.java   |    8 +-
 .../oak/spi/security/ConfigurationParameters.java  |    8 +-
 .../authentication/AbstractLoginModule.java        |   50 +-
 .../spi/security/authentication/AuthInfoImpl.java  |    4 +-
 .../security/authentication/GuestLoginModule.java  |    4 +-
 .../credentials/SimpleCredentialsSupport.java      |    5 +-
 .../security/authorization/accesscontrol/ACE.java  |    4 +-
 .../accesscontrol/AccessControlConstants.java      |   23 +-
 .../permission/PermissionProvider.java             |    2 -
 .../restriction/AbstractRestrictionProvider.java   |    4 +-
 .../principal/CompositePrincipalProvider.java      |    5 +-
 .../privilege/ImmutablePrivilegeDefinition.java    |   10 +-
 .../security/privilege/PrivilegeBitsProvider.java  |   22 +-
 .../oak/spi/security/user/UserConstants.java       |    2 +-
 .../security/user/action/AccessControlAction.java  |    8 +-
 .../security/user/action/AuthorizableAction.java   |   10 +-
 .../oak/spi/security/user/action/GroupAction.java  |   12 +-
 .../user/action/PasswordValidationAction.java      |    4 +-
 .../oak/spi/security/user/action/UserAction.java   |    3 +-
 .../jackrabbit/oak/plugins/tree/TreeUtilTest.java  |   11 +-
 .../spi/security/CompositeConfigurationTest.java   |    3 +-
 .../spi/security/ConfigurationParametersTest.java  |    4 +-
 .../oak/spi/security/OpenSecurityProviderTest.java |    3 +-
 .../security/authentication/AuthInfoImplTest.java  |    3 +-
 .../authorization/accesscontrol/ACETest.java       |    4 +-
 .../accesscontrol/ImmutableACLTest.java            |    4 +-
 .../authorization/permission/PermissionsTest.java  |    3 +-
 .../AbstractRestrictionProviderTest.java           |    4 +-
 .../principal/CompositePrincipalProviderTest.java  |    8 +-
 .../principal/PrincipalManagerImplTest.java        |   21 +-
 .../security/principal/TestPrincipalProvider.java  |    7 +-
 .../privilege/PrivilegeBitsProviderTest.java       |    5 +-
 .../spi/security/privilege/PrivilegeUtilTest.java  |    4 +-
 .../user/action/ClearMembershipActionTest.java     |    5 +-
 .../oak/spi/xml/ReferenceChangeTrackerTest.java    |    5 +-
 oak-segment-aws/pom.xml                            |    8 +-
 .../oak/segment/aws/AwsSegmentArchiveWriter.java   |    3 +-
 .../oak/segment/aws/tool/AwsCompact.java           |    2 +-
 .../oak/segment/aws/tool/AwsSegmentCopy.java       |    3 +-
 .../oak/segment/aws/tool/AwsToolUtils.java         |    4 +-
 oak-segment-azure/pom.xml                          |   10 +-
 .../azure/AzureHttpRequestLoggingPolicy.java       |    2 +-
 .../oak/segment/azure/AzurePersistence.java        |    4 +
 .../oak/segment/azure/AzurePersistenceManager.java |   77 +-
 .../oak/segment/azure/AzureRepositoryLock.java     |   65 +-
 .../segment/azure/AzureSegmentArchiveWriter.java   |    2 +-
 .../oak/segment/azure/AzureUtilities.java          |    4 +-
 .../oak/segment/azure/tool/AzureCheck.java         |   45 +-
 .../oak/segment/azure/tool/AzureCompact.java       |  131 +-
 .../oak/segment/azure/tool/SegmentCopy.java        |   16 +-
 .../segment/azure/tool/SegmentStoreMigrator.java   |   19 +-
 .../oak/segment/azure/tool/ToolUtils.java          |   76 +-
 .../azure/util/AzureConfigurationParserUtils.java  |    5 +-
 .../segment/azure/util/AzureRequestOptions.java    |   66 +-
 .../azure/v8/AzureSegmentArchiveWriterV8.java      |    2 +-
 .../AzureHttpRequestLoggingTestingPolicy.java      |    2 +-
 .../segment/azure/AzurePersistenceManagerTest.java |  142 +++
 .../SegmentCopyAzureServicePrincipalToTarTest.java |   20 +-
 .../segment/azure/tool/SegmentCopyTestBase.java    |    2 +-
 .../oak/segment/azure/tool/ToolUtilsTest.java      |   96 +-
 .../segment/azure/v8/AzureSegmentStoreV8Test.java  |   12 +-
 oak-segment-remote/pom.xml                         |    7 +-
 .../remote/AbstractRemoteSegmentArchiveReader.java |    3 +-
 .../remote/persistentcache/DiskCacheIOMonitor.java |   12 +-
 .../persistentcache/PersistentDiskCache.java       |    3 +-
 .../persistentcache/PersistentRedisCache.java      |    2 +-
 .../persistentcache/RedisCacheIOMonitor.java       |    8 +-
 .../RemotePersistentCacheService.java              |    4 +-
 oak-segment-tar/pom.xml                            |   15 +-
 .../oak/backup/impl/FileStoreBackupImpl.java       |    2 +-
 .../oak/backup/impl/FileStoreRestoreImpl.java      |    2 +-
 .../oak/segment/CheckpointCompactor.java           |    4 +-
 .../jackrabbit/oak/segment/CommitsTracker.java     |   14 +-
 .../oak/segment/DefaultSegmentWriter.java          |   14 +-
 .../apache/jackrabbit/oak/segment/MapRecord.java   |    6 +-
 .../oak/segment/SegmentBufferMonitor.java          |    8 +-
 .../jackrabbit/oak/segment/SegmentNodeState.java   |    5 +-
 .../oak/segment/SegmentNodeStoreFactory.java       |    2 +-
 .../oak/segment/SegmentNodeStoreRegistrar.java     |    4 +-
 .../oak/segment/SegmentNodeStoreService.java       |    2 +-
 .../oak/segment/SegmentNodeStoreStats.java         |    8 +-
 .../jackrabbit/oak/segment/WriterCacheManager.java |    4 +-
 ...java => AbstractGarbageCollectionStrategy.java} |   53 +-
 .../file/CleanupFirstCompactionStrategy.java       |   20 +-
 .../CleanupFirstGarbageCollectionStrategy.java     |   33 +-
 .../oak/segment/file/CleanupStrategy.java          |    3 +-
 .../oak/segment/file/CompactionResult.java         |    8 +
 .../oak/segment/file/DefaultCleanupContext.java    |    7 +-
 .../oak/segment/file/DefaultCleanupStrategy.java   |   15 +-
 .../file/DefaultGarbageCollectionStrategy.java     |  303 +----
 .../jackrabbit/oak/segment/file/FileStore.java     |    2 +-
 .../jackrabbit/oak/segment/file/GCJournal.java     |   22 +-
 .../oak/segment/file/GarbageCollector.java         |    6 +-
 .../oak/segment/file/MetricsIOMonitor.java         |    8 +-
 .../oak/segment/file/PrintableStopwatch.java       |    4 +-
 .../oak/segment/file/ReadOnlyFileStore.java        |    2 +-
 .../SynchronizedGarbageCollectionStrategy.java     |   38 +-
 .../oak/segment/file/tar/GCGeneration.java         |    6 +-
 .../oak/segment/file/tar/SegmentTarReader.java     |    3 +-
 .../oak/segment/file/tar/SegmentTarWriter.java     |    3 +-
 .../jackrabbit/oak/segment/file/tar/TarFiles.java  |    4 +-
 .../jackrabbit/oak/segment/file/tar/TarReader.java |    4 +-
 .../oak/segment/file/tooling/RevisionHistory.java  |    3 +-
 .../spi/monitor/RoleStatisticsProvider.java        |    8 +
 .../segment/spi/persistence/JournalFileWriter.java |    4 +-
 .../spi/persistence/SegmentArchiveWriter.java      |   12 +-
 .../persistentcache/AbstractPersistentCache.java   |    3 +-
 .../standby/client/StandbyClientSyncExecution.java |    3 +-
 .../segment/standby/store/StandbyStoreService.java |    2 +-
 .../jackrabbit/oak/segment/tool/Compact.java       |    2 +-
 .../jackrabbit/oak/segment/tool/PrintingDiff.java  |    4 +-
 .../apache/jackrabbit/oak/segment/tool/Utils.java  |    3 +-
 .../oak/segment/CacheWeightEstimator.java          |    2 -
 .../jackrabbit/oak/segment/CancelableDiffTest.java |    3 +-
 .../jackrabbit/oak/segment/CommitsTrackerTest.java |    6 +-
 .../oak/segment/ExternalBlobReferenceTest.java     |    8 +-
 .../jackrabbit/oak/segment/ManyChildNodesIT.java   |    2 +-
 .../oak/segment/MutableSegmentReferencesTest.java  |    4 +-
 .../apache/jackrabbit/oak/segment/RecordTest.java  |    2 +-
 .../oak/segment/SegmentBufferMonitorTest.java      |    7 +
 .../oak/segment/SegmentCompactionIT.java           |   15 +-
 .../oak/segment/SegmentDataStoreBlobGCIT.java      |    2 +-
 .../oak/segment/SegmentOverflowExceptionIT.java    |    8 +-
 .../file/DefaultGarbageCollectionStrategyTest.java |   65 +-
 .../file/FullSizeDeltaEstimationStrategyTest.java  |   42 +-
 .../jackrabbit/oak/segment/file/GcJournalTest.java |   35 +-
 .../oak/segment/file/JournalReaderTest.java        |    7 +-
 .../file/LargeNumberOfPropertiesTestIT.java        |    5 +-
 .../segment/file/SegmentReferenceLimitTestIT.java  |    5 +-
 .../file/TailSizeDeltaEstimationStrategyTest.java  |   14 +-
 .../oak/segment/file/proc/DataSegmentNodeTest.java |    3 +-
 .../segment/standby/codec/ResponseDecoderTest.java |    8 +-
 .../jackrabbit/oak/segment/upgrade/UpgradeIT.java  |    4 +-
 oak-shaded-guava/pom.xml                           |   31 +-
 oak-solr-core/pom.xml                              |    2 +-
 .../nodestate/NodeStateSolrServerProvider.java     |    4 +-
 .../nodestate/OakSolrNodeStateConfiguration.java   |    4 +-
 .../plugins/index/solr/query/SolrQueryIndex.java   |    6 +-
 oak-solr-osgi/pom.xml                              |    2 +-
 oak-store-composite/pom.xml                        |    2 +-
 .../oak/composite/CompositeNodeStore.java          |   13 +-
 .../oak/composite/CompositeNodeStoreService.java   |    4 +-
 .../oak/composite/CompositionContext.java          |    7 +-
 .../composite/checks/MountedNodeStoreChecker.java  |    5 +-
 .../checks/NodeTypeMountedNodeStoreChecker.java    |    8 +-
 .../checks/UniqueIndexNodeStoreChecker.java        |    5 +-
 .../NonDefaultMountWriteReportingObserver.java     |    7 +-
 .../jackrabbit/oak/composite/package-info.java     |    8 +-
 .../oak/composite/CompositeChildrenCountTest.java  |   16 +-
 .../NodeTypeDefinitionNodeStoreCheckerTest.java    |    2 +-
 .../it/BackwardCompatibleMountCompositeIT.java     |    1 +
 .../oak/composite/it/CompositeTestSupport.java     |    6 +-
 oak-store-document/pom.xml                         |    5 +-
 .../jackrabbit/oak/plugins/document/Branch.java    |   13 +-
 .../oak/plugins/document/ClusterNodeInfo.java      |    3 +-
 .../oak/plugins/document/ClusterView.java          |   19 +-
 .../oak/plugins/document/ClusterViewDocument.java  |    6 +-
 .../jackrabbit/oak/plugins/document/Collision.java |    4 +-
 .../jackrabbit/oak/plugins/document/Commit.java    |    7 +-
 .../oak/plugins/document/Configuration.java        |   25 +
 .../document/DocumentDiscoveryLiteService.java     |   11 +-
 .../oak/plugins/document/DocumentNodeState.java    |   14 +-
 .../oak/plugins/document/DocumentNodeStore.java    |   45 +-
 .../plugins/document/DocumentNodeStoreBranch.java  |   14 +-
 .../plugins/document/DocumentNodeStoreBuilder.java |   50 +-
 .../document/DocumentNodeStoreMBeanImpl.java       |   10 +-
 .../plugins/document/DocumentNodeStoreService.java |   18 +-
 .../DocumentNodeStoreServiceConfiguration.java     |    6 +-
 ...ngeListener.java => FullGCMetricsExporter.java} |   15 +-
 .../oak/plugins/document/FullGCStatsCollector.java |   76 ++
 .../plugins/document/FullGCStatsCollectorImpl.java |  112 +-
 .../oak/plugins/document/FullGcNodeBin.java        |   82 ++
 .../oak/plugins/document/JournalDiffLoader.java    |    3 +-
 .../oak/plugins/document/JournalEntry.java         |    4 +-
 .../plugins/document/JournalGarbageCollector.java  |    3 +-
 .../oak/plugins/document/LastRevRecoveryAgent.java |    8 +-
 .../oak/plugins/document/MissingBcSweeper2.java    |   10 +-
 .../oak/plugins/document/MissingLastRevSeeker.java |    5 +-
 .../oak/plugins/document/NodeDocument.java         |   28 +-
 .../oak/plugins/document/NodeDocumentSweeper.java  |   10 +-
 .../jackrabbit/oak/plugins/document/Path.java      |    4 +-
 .../oak/plugins/document/PropertyHistory.java      |    5 +-
 .../oak/plugins/document/RevisionVector.java       |   14 +-
 .../oak/plugins/document/Sweep2Helper.java         |    2 +-
 .../oak/plugins/document/TieredDiffCache.java      |    4 +-
 .../oak/plugins/document/UnsavedModifications.java |   12 +-
 .../jackrabbit/oak/plugins/document/ValueMap.java  |    5 +-
 .../oak/plugins/document/VersionGCSupport.java     |   14 +-
 .../plugins/document/VersionGarbageCollector.java  |  154 ++-
 .../document/bundlor/BundlingConfigHandler.java    |    4 +-
 .../bundlor/BundlingConfigInitializer.java         |   30 +-
 .../oak/plugins/document/bundlor/Include.java      |   10 +-
 .../plugins/document/cache/NodeDocumentCache.java  |    7 +-
 .../BundlingConfigInitializer.java                 |    3 +-
 .../oak/plugins/document/init}/package-info.java   |    4 +-
 .../document/mongo/MongoBlobReferenceIterator.java |    4 +-
 .../mongo/MongoDocumentNodeStoreBuilderBase.java   |    2 +-
 .../plugins/document/mongo/MongoDocumentStore.java |   40 +-
 .../plugins/document/mongo/MongoFullGcNodeBin.java |  180 +++
 .../mongo/MongoFullGcNodeBinSumBsonSize.java       |  139 +++
 .../document/mongo/MongoMissingLastRevSeeker.java  |    4 +-
 .../oak/plugins/document/mongo/MongoStatus.java    |    7 +-
 .../document/mongo/MongoVersionGCSupport.java      |   57 +-
 .../document/persistentCache/NodeCache.java        |    4 +-
 .../async/InvalidateCacheAction.java               |    5 +-
 .../plugins/document/rdb/RDBDataSourceFactory.java |   70 +-
 .../document/rdb/RDBDocumentNodeStoreBuilder.java  |   47 +
 .../oak/plugins/document/rdb/RDBDocumentStore.java |   25 +-
 .../plugins/document/rdb/RDBDocumentStoreJDBC.java |    8 +-
 .../plugins/document/rdb/RDBVersionGCSupport.java  |    8 +-
 .../secondary/DelegatingDocumentNodeState.java     |    7 +-
 .../document/secondary/SecondaryStoreObserver.java |    2 +-
 .../plugins/document/util/CloseableIterable.java   |    2 +-
 .../oak/plugins/document/util/Utils.java           |   17 +-
 .../oak/plugins/document/BackgroundWriteTest.java  |    2 +-
 .../oak/plugins/document/BranchCommitGCTest.java   |    1 +
 .../document/ClusterRevisionComparisonTest.java    |    4 +-
 .../plugins/document/CollisionRollbackTest.java    |    2 +-
 .../oak/plugins/document/CommitDiffTest.java       |    2 +-
 .../plugins/document/ConcurrentReadAndAddTest.java |    4 +-
 .../document/DocumentMKBuilderProvider.java        |    6 +-
 .../plugins/document/DocumentMKBuilderTest.java    |    7 +-
 .../plugins/document/DocumentMKCommitAddTest.java  |    2 +-
 .../DocumentNodeStoreServiceConfigurationTest.java |   28 +
 .../document/DocumentNodeStoreSweepTest.java       |    4 +-
 .../plugins/document/DocumentNodeStoreTest.java    |    3 +-
 .../oak/plugins/document/DocumentSplitTest.java    |    8 +-
 .../document/FullGCStatsCollectorImplTest.java     |  166 +++
 .../oak/plugins/document/JournalGCTest.java        |    4 +-
 .../plugins/document/LargeMergeRecoveryTest.java   |   12 +-
 .../plugins/document/LastRevRecoveryAgentTest.java |   16 +-
 .../oak/plugins/document/LastRevRecoveryTest.java  |    4 +-
 .../LastRevRecoveryWithBundledNodesTest.java       |    2 +-
 .../document/LastRevSingleNodeRecoveryTest.java    |    4 +-
 .../plugins/document/MissingLastRevSeekerTest.java |    4 +-
 .../oak/plugins/document/MongoBlobGCTest.java      |   41 +-
 .../MongoVersionGCSupportDefaultNoBranchTest.java  |   11 +-
 .../oak/plugins/document/NodeDocumentTest.java     |   26 +-
 .../oak/plugins/document/PreviousDocCacheTest.java |    6 +-
 .../oak/plugins/document/RevisionVectorTest.java   |    4 +-
 .../oak/plugins/document/Sweep2TestHelper.java     |    6 +-
 .../oak/plugins/document/ValueMapTest.java         |    6 +-
 .../plugins/document/VersionGCDeletionTest.java    |    4 +-
 .../oak/plugins/document/VersionGCInitTest.java    |   56 +
 .../oak/plugins/document/VersionGCQueryTest.java   |   10 +-
 .../oak/plugins/document/VersionGCStatsTest.java   |    2 +-
 .../oak/plugins/document/VersionGCSweepTest.java   |    4 +-
 .../oak/plugins/document/VersionGCTest.java        |  140 ++-
 .../plugins/document/VersionGCWithSplitTest.java   |    2 +-
 .../document/VersionGarbageCollectorIT.java        |   20 +-
 .../document/VersionGarbageCollectorTest.java      |  162 +++
 .../bundlor/BundledDocumentDifferTest.java         |    1 +
 .../bundlor/BundlingConfigInitializerTest.java     |    1 +
 .../document/bundlor/DocumentBundlingTest.java     |    5 +-
 .../document/mongo/CacheInvalidationIT.java        |    8 +-
 .../document/mongo/LeaseUpdateSocketTimeoutIT.java |    1 +
 .../mongo/MongoDocumentNodeStoreBuilderTest.java   |   35 +-
 .../mongo/MongoFullGcNodeBinSumBsonSizeTest.java   |  267 ++++
 .../document/mongo/MongoFullGcNodeBinTest.java     |  216 ++++
 .../document/mongo/ReplicaSetResilienceIT.java     |    2 +-
 .../document/prefetch/CacheWarmingTest.java        |    2 +-
 .../rdb/RDBDocumentNodeStoreBuilderTest.java       |   30 +
 .../secondary/DelegatingDocumentNodeStateTest.java |    3 +-
 .../secondary/SecondaryStoreCacheTest.java         |    6 +-
 .../oak/plugins/document/util/UtilsTest.java       |   86 +-
 oak-store-spi/pom.xml                              |    7 +-
 .../org/apache/jackrabbit/oak/json/JsonUtils.java  |  281 +++++
 .../oak/plugins/memory/AbstractPropertyState.java  |    4 +-
 .../oak/plugins/memory/MemoryChildNodeEntry.java   |    4 +-
 .../oak/plugins/memory/ModifiedNodeState.java      |   19 +-
 .../oak/plugins/memory/MultiPropertyState.java     |   26 +-
 .../oak/plugins/memory/PropertyStates.java         |    5 +-
 .../oak/plugins/memory/PropertyValues.java         |    2 +-
 .../oak/spi/commit/BackgroundObserver.java         |    7 +-
 .../jackrabbit/oak/spi/commit/CompositeEditor.java |   41 +-
 .../jackrabbit/oak/spi/commit/EmptyHook.java       |    4 +-
 .../jackrabbit/oak/spi/commit/MoveTracker.java     |    5 +-
 .../oak/spi/state/AbstractNodeState.java           |    5 +-
 .../jackrabbit/oak/spi/state/Clusterable.java      |   15 +-
 .../jackrabbit/oak/spi/state/MoveDetector.java     |   10 +-
 .../jackrabbit/oak/spi/state/NodeBuilder.java      |   10 +-
 .../oak/json/JsonUtilsNodeStateToMapTest.java      |  248 ++++
 .../apache/jackrabbit/oak/json/JsonUtilsTest.java  |  462 +++++++
 oak-upgrade/pom.xml                                |    2 +-
 .../jackrabbit/oak/upgrade/AsciiArtTicker.java     |    3 +-
 .../oak/upgrade/RepositorySidegrade.java           |   21 +-
 .../jackrabbit/oak/upgrade/RepositoryUpgrade.java  |   21 +-
 .../oak/upgrade/SameNameSiblingsEditor.java        |    5 +-
 .../upgrade/checkpoint/CheckpointRetriever.java    |    4 +-
 .../jackrabbit/oak/upgrade/cli/CliUtils.java       |    3 +-
 .../oak/upgrade/cli/MigrationFactory.java          |    3 +-
 .../jackrabbit/oak/upgrade/cli/OakUpgrade.java     |    3 +-
 .../upgrade/cli/blob/AzureDataStoreFactory.java    |    2 +-
 .../oak/upgrade/cli/blob/BlobStoreFactory.java     |    3 +-
 .../upgrade/cli/blob/ConstantBlobStoreFactory.java |    2 +-
 .../upgrade/cli/blob/DummyBlobStoreFactory.java    |    3 +-
 .../oak/upgrade/cli/blob/FileBlobStoreFactory.java |    3 +-
 .../oak/upgrade/cli/blob/FileDataStoreFactory.java |    3 +-
 .../upgrade/cli/blob/LoopbackBlobStoreFactory.java |    2 +-
 .../oak/upgrade/cli/blob/S3DataStoreFactory.java   |    2 +-
 .../oak/upgrade/cli/node/Jackrabbit2Factory.java   |    3 +-
 .../oak/upgrade/cli/node/JdbcFactory.java          |    3 +-
 .../oak/upgrade/cli/node/MongoFactory.java         |    2 +-
 .../oak/upgrade/cli/node/NodeStoreFactory.java     |    3 +-
 .../oak/upgrade/cli/node/SegmentAzureFactory.java  |    2 +-
 .../oak/upgrade/cli/node/SegmentFactory.java       |    3 +-
 .../oak/upgrade/cli/node/SegmentTarFactory.java    |    3 +-
 .../oak/upgrade/cli/node/StoreFactory.java         |    3 +-
 .../oak/upgrade/UpgradeOldSegmentTest.java         |    6 +-
 .../cli/blob/LoopbackBlobStoreFactoryTest.java     |    2 +-
 .../cli/container/AzureDataStoreContainer.java     |    3 +-
 .../cli/container/FileDataStoreContainer.java      |    4 +-
 .../cli/container/JdbcNodeStoreContainer.java      |    4 +-
 .../cli/container/MongoNodeStoreContainer.java     |    2 +-
 .../cli/container/S3DataStoreContainer.java        |    4 +-
 ...entAzureServicePrincipalNodeStoreContainer.java |   34 +-
 .../upgrade/cli/node/SegmentAzureFactoryTest.java  |   16 +-
 pom.xml                                            |   35 +-
 1074 files changed, 26034 insertions(+), 7210 deletions(-)
 copy 
oak-api/src/main/java/org/apache/jackrabbit/oak/api/jmx/{ConsolidatedCacheStatsMBean.java
 => InferenceMBean.java} (73%)
 create mode 100644 oak-benchmarks/run_comparison_against_baseline.sh
 create mode 100644 
oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/pio/Closer.java
 copy oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/{conditions 
=> pio}/package-info.java (90%)
 create mode 100644 
oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/time/Stopwatch.java
 copy oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/{conditions 
=> time}/package-info.java (90%)
 rename 
oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/{StopWatch.java => 
TestStopWatch.java} (98%)
 create mode 100644 
oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/pio/CloserTest.java
 create mode 100644 
oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/time/StopwatchTest.java
 copy 
oak-core-spi/src/main/java/org/apache/jackrabbit/oak/stats/{HistogramStats.java 
=> GaugeStats.java} (80%)
 copy 
oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/OrderedIndexQueryNoIndexTest.java
 => 
oak-core-spi/src/test/java/org/apache/jackrabbit/oak/stats/NonTickingTestClock.java
 (73%)
 copy 
oak-run/src/main/java/org/apache/jackrabbit/oak/run/IndexMergeCommand.java => 
oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/metric/GaugeImpl.java 
(69%)
 create mode 100644 
oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/tree/impl/OrderedChildnameIterator.java
 create mode 100644 
oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/tree/impl/OrderedChildnameIterableTest.java
 create mode 100644 
oak-core/src/test/resources/org/apache/jackrabbit/oak/plugins/index/importer/index-def-jcruuid-fix.json
 delete mode 100644 
oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/VirtualTicker.java
 create mode 100644 
oak-query-spi/src/main/java/org/apache/jackrabbit/oak/spi/query/fulltext/VectorQuery.java
 create mode 100644 
oak-query-spi/src/main/java/org/apache/jackrabbit/oak/spi/query/fulltext/VectorQueryConfig.java
 create mode 100644 
oak-query-spi/src/test/java/org/apache/jackrabbit/oak/spi/query/fulltext/VectorQueryCompatibilityModeTest.java
 copy 
oak-core-spi/src/test/java/org/apache/jackrabbit/oak/spi/observation/ChangeSetTest.java
 => 
oak-query-spi/src/test/java/org/apache/jackrabbit/oak/spi/query/fulltext/VectorQueryConfigTest.java
 (50%)
 create mode 100644 
oak-query-spi/src/test/java/org/apache/jackrabbit/oak/spi/query/fulltext/VectorQueryTest.java
 delete mode 100644 
oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/analysis/stream/NodeStreamConverter.java
 delete mode 100644 
oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/analysis/stream/NodeStreamConverterCompressed.java
 delete mode 100644 
oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/analysis/stream/NodeStreamReader.java
 delete mode 100644 
oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/analysis/stream/NodeStreamReaderCompressed.java
 rename 
oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/analysis/stream/{NodeLineReader.java
 => NodeTreeStoreReader.java} (78%)
 delete mode 100644 
oak-run-commons/src/test/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/analysis/stream/NodeStreamTest.java
 delete mode 100644 
oak-run-commons/src/test/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/analysis/stream/VarIntTest.java
 create mode 100644 
oak-run/src/main/java/org/apache/jackrabbit/oak/index/merge/IndexStoreStatsCommand.java
 copy 
oak-run/src/main/java/org/apache/jackrabbit/oak/run/{IndexMergeCommand.java => 
FullGCMetricsExporterFixture.java} (74%)
 copy 
oak-run/src/main/java/org/apache/jackrabbit/oak/run/{MetricsExporterFixtureProvider.java
 => FullGCMetricsExporterFixtureProvider.java} (50%)
 create mode 100644 
oak-run/src/test/resources/org/apache/jackrabbit/oak/index/merge/merge-override-tags-type.json
 create mode 100644 
oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/inference/EnricherStatus.java
 create mode 100644 
oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/inference/InferenceConfig.java
 copy 
oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/inference/{InferenceServiceException.java
 => InferenceConstants.java} (54%)
 create mode 100644 
oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/inference/InferenceHeaderPayload.java
 create mode 100644 
oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/inference/InferenceIndexConfig.java
 create mode 100644 
oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/inference/InferenceMBeanImpl.java
 create mode 100644 
oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/inference/InferenceModelConfig.java
 create mode 100644 
oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/inference/InferencePayload.java
 create mode 100644 
oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/inference/InferenceServiceMetrics.java
 create mode 100644 
oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/inference/InferenceServiceUsingConfig.java
 copy 
oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/inference/{InferenceService.java
 => InferenceServiceUsingIndexConfig.java} (51%)
 create mode 100644 
oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/util/EnvironmentVariableProcessorUtil.java
 create mode 100644 
oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticPropertyIndexFailuresTest.java
 create mode 100644 
oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticPropertyIndexNonFailureTest.java
 create mode 100644 
oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticRegexPropertyIndexTest.java
 create mode 100644 
oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/inference/ElasticInferenceUsingConfigTest.java
 create mode 100644 
oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/inference/InferenceConfigSerializationTest.java
 create mode 100644 
oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/inference/InferenceConfigTest.java
 create mode 100644 
oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/inference/InferenceServiceMetricsTest.java
 copy 
oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/analysis/modules/TimeMeasureCollector.java
 => 
oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/inference/VectorDocument.java
 (51%)
 create mode 100644 
oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/util/ElasticIndexUtilsTest.java
 copy oak-search-elastic/src/test/resources/{inference => 
inferenceUsingConfig}/content/cars.json (100%)
 copy oak-search-elastic/src/test/resources/{inference => 
inferenceUsingConfig}/content/health.json (100%)
 copy oak-search-elastic/src/test/resources/{inference => 
inferenceUsingConfig}/content/ml.json (100%)
 copy oak-search-elastic/src/test/resources/{inference => 
inferenceUsingConfig}/content/programming.json (100%)
 copy oak-search-elastic/src/test/resources/{inference => 
inferenceUsingConfig}/content/yoga.json (100%)
 create mode 100644 
oak-search-elastic/src/test/resources/inferenceUsingConfig/queries/a_beginner_guide_to_data_manipulation_in_python.json
 copy oak-search-elastic/src/test/resources/{inference => 
inferenceUsingConfig}/queries/delayed/farming_practices.json (100%)
 copy oak-search-elastic/src/test/resources/{inference => 
inferenceUsingConfig}/queries/faulty/machine_learning.json (100%)
 create mode 100644 
oak-search-elastic/src/test/resources/inferenceUsingConfig/queries/how_to_improve_mental_health_through_exercises.json
 create mode 100644 
oak-search-elastic/src/test/resources/inferenceUsingConfig/queries/nutritional_advice_for_a_healthier_lifestyle.json
 create mode 100644 
oak-search-elastic/src/test/resources/inferenceUsingConfig/queries/technological_advancements_in_electric_vehicles.json
 create mode 100644 
oak-search-elastic/src/test/resources/inferenceUsingConfig/queries/what_are_the_key_algorithms_used_in_machine_learning.json
 create mode 100644 
oak-segment-azure/src/test/java/org/apache/jackrabbit/oak/segment/azure/AzurePersistenceManagerTest.java
 copy 
oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/{DefaultGarbageCollectionStrategy.java
 => AbstractGarbageCollectionStrategy.java} (88%)
 copy 
oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/{ClusterStateChangeListener.java
 => FullGCMetricsExporter.java} (71%)
 create mode 100644 
oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/FullGcNodeBin.java
 copy 
oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/{bundlor
 => init}/BundlingConfigInitializer.java (94%)
 copy 
{oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token 
=> 
oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/init}/package-info.java
 (88%)
 create mode 100644 
oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoFullGcNodeBin.java
 create mode 100644 
oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoFullGcNodeBinSumBsonSize.java
 create mode 100644 
oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/VersionGarbageCollectorTest.java
 create mode 100644 
oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoFullGcNodeBinSumBsonSizeTest.java
 create mode 100644 
oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoFullGcNodeBinTest.java
 create mode 100644 
oak-store-spi/src/main/java/org/apache/jackrabbit/oak/json/JsonUtils.java
 create mode 100644 
oak-store-spi/src/test/java/org/apache/jackrabbit/oak/json/JsonUtilsNodeStateToMapTest.java
 create mode 100644 
oak-store-spi/src/test/java/org/apache/jackrabbit/oak/json/JsonUtilsTest.java


Reply via email to