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

reschke pushed a change to branch OAK-11979
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git


    from 444b02cff0 OAK-11979: Clean up *StringValue in JCR XML import
     add acb8ef5e46 OAK-11977 Tree store: BufferOverflowException (#2571)
     add caff4d4fe6 OAK-11899 - use default value in case config value can not 
be parsed (#2509)
     add 3c063ba36e OAK-11969 do not check the existence of the tree twice 
(#2560)
     add 58ff6a6b67 OAK-11934 - segment preloading for PersistentCache (#2569)
     add 50fb8c17a4 OAK-11914 : removed usage of Guava's HashBasedTable (#2573)
     add db6611ae79 OAK-11911 : exposed DirectExecutor from ExecutorUtils 
(#2575)
     add 024227bfda OAK-11981: blob-plugins - remove use of 
TransientFileFactory (#2576)
     add 9fdd0c6d58 OAK-11983: benchmarks: remove jackrabbit-core dependency 
(#2577)
     add b2891ea5c2 OAK-11980 - improve parallelization of I/O during 
segment-azure initialization (#2574)
     add 9378356382 OAK-11985 : added MongoServerUnavailableException into 
transient errors (#2582)
     add 61d5d281ec OAK-11982 move the calculation of the WARN limit out of the 
constructor (#2585)
     add 5327db1b07 OAK-11913 : created Forwarding executir service (#2580)
     add a7d003db58 OAK-11935 : updating aws sdk from 1.x to 2.x (#2558)
     add 5b482b50c6 OAK-11987 - 
org.apache.jackrabbit.oak.segment.azure.tool.SegmentStoreMigrator.migrateBinaryRef
 is missing a null check (#2586)
     add 7abd23258b OAK-11984 Support UserId Change for External Users (#2581)
     add d6ae90dac4 OAK-11936: Allow updating the inference config via JMX 
(#2525)
     add 312938bf9f OAK-11949: Sort union queries without "order-by" by score 
(#2540)
     add e96909ce6f OAK-11912 : created DirectExecutorServiuce in oak-commons 
(#2579)
     add 8a40452b5f OAK-11936: Allow updating the inference config via JMX - 
fix package version
     add 25540a8166 OAK-11936: Allow updating the inference config via JMX - 
line ends in test case
     add e60694347a OAK-11994 remove unused dependency to joda-time (#2593)
     add e4b40dd935 OAK-11997: Log slow Mongo queries in DocumentNodeStore 
(#2596)
     add 0719ffa2a5 Revert "OAK-11936: Allow updating the inference config via 
JMX - line ends in test case"
     add d3a2cc15ba Revert "OAK-11936: Allow updating the inference config via 
JMX - fix package version"
     add eb2f3d30b3 Revert "OAK-11936: Allow updating the inference config via 
JMX (#2525)"
     add 152d62a856 Reapply "OAK-11936: Allow updating the inference config via 
JMX (#2525)"
     add 06802589f4 Reapply "OAK-11936: Allow updating the inference config via 
JMX - fix package version"
     add 0c282cd449 Reapply "OAK-11936: Allow updating the inference config via 
JMX - line ends in test case"
     add a6dd22dfb7 OAK-11996: Expand oak/docs/participating wrt to test 
coverage and Sonar (#2594)
     add 224a30b86f OAK-11999: Release Oak 1.88.0 - Candidate Release Notes
     add 3c1feb82f4 [maven-release-plugin] prepare release jackrabbit-oak-1.88.0
     add 7f9e804fac [maven-release-plugin] prepare for next development 
iteration
     add b00f6b296e OAK-11998: bump ES to 8.19.5, fix k for knn queries (#2597)
     add 832f787918 OAK-11898: decouple ElasticSecureFacetAsyncProvider from 
async iterator (#2564)
     add 8954e2d8be OAK-11999: Release Oak 1.88.0 - Candidate Release Notes
     add 476c0a6651 [maven-release-plugin] prepare release jackrabbit-oak-1.90.0
     add 3438b02674 [maven-release-plugin] prepare for next development 
iteration
     add 2e25e460f2 Revert "[maven-release-plugin] prepare for next development 
iteration"
     add df5b9d14e6 Revert "[maven-release-plugin] prepare release 
jackrabbit-oak-1.90.0"
     add 3be003d73b [maven-release-plugin] prepare release jackrabbit-oak-1.88.0
     add 1a02648c9b [maven-release-plugin] prepare for next development 
iteration
     add c2e3a09a49 OAK-12001: run CI on branch 1.22 as well (#2602)
     add 735d737bfe OAK-11999: Release Oak 1.88.0 - update oak-doc* version 
numbers
     add 99f036a043 OAK-12003 Refactor code in AzurePersistenceManager (#2606)
     add db194223ea OAK-11991 Optimize the oak-segment recovery process
     add 7f9745b92f OAK-12004 Datastore: speedup datastore copy (#2607)
     add 56b6e8e4c1 OAK-12005 - segment preloading graph-cache uses too much 
heap (#2611)
     add 022acbea03 OAK-12011: add sleep to avoid backgroundPurge to interfere 
with tests (#2617)
     add 70d3171447 OAK-12012 Sporadic SessionSaveDelayerConfigTest failure 
(#2619)
     add 319617313b OAK-12008 : Embed aws sdk 2.x jars into oak-blob-cloud 
bundle (#2616)
     add 484f7563de OAK-11916 : added exiting executor service in oak-commons 
(#2622)
     add 20c3e9afa3 OAK-11917 : added exiting scheduled executor service in 
oak-commons (#2623)
     add e5c3a35d8a OAK-11617: Provide oak-run commands to analyze and fix 
inconsistencie… (#2615)
     add 8396ba2425 OAK-11920 : removed usage of 
MoreExecutors.newDirectExecutorService with oak-commons implementation (#2624)
     add 77bd34615b OAK-11919 : removed usage of Guava's ListenableFutureTask 
from prod files (#2627)
     add 27c6f4ad6b OAK-12021: cleanup oak-blob-plugins pom (oak-commons 
dependency)
     add 0e69e97d72 OAK-12015: Improve diagnostics on property related 
constraint violations
     add e92676c99c OAK-12007 XPath with or conditions should not always be 
converted to union (#2613)
     add a503b4c2e8 OAK-12018 : replaced DirectExecutor.INSTANCE call with 
ExecutorUtils.directExecutor (#2628)
     add 203f7ccb68 OAK-12019 : replaced Guava's 
MoreExecutors.getExitingExecutorService with oak-commons implementation (#2634)
     add e2a478073e OAK-11830: Update pax-exam test dependency to 4.14.0
     add 03c7a1c031 OAK-11830: Update pax-exam test dependency to 4.14.0 - fix 
comp tests faling back to 4.13.1
     add cceb21fe70 OAK-11830: Update pax-exam test dependency to 4.14.0 - 
exclude oak-store-compostie for now
     add 5f2b559e19 OAK-12020 : replaced Guava's 
MoreExecutors.getExitingScheduledExecutorService with oak-commons 
implementation (#2633)
     add 6991969dfc OAK-12009 : provided support for GCP for new AWS sdk 2.x 
(#2621)
     add bb7ccca968 OAK-12025 : replaced Guava's SameThreadExecutorService 
(#2637)
     add dc2be0de07 OAK-11918 : removed Guava's ListeningExecutorService (#2638)
     add c7adba4378 OAK-11731: expose NodeCounter (getEstimatedChildNodeCounts) 
in Jackra… (#2625)
     add 47fdbb3b54 OAK-12027 : added api to remove node and its descendants 
starting fro… (#2636)
     add 191fff61ad OAK-11924 : replaced Guava's 
ForwardingListeningExecutorService with … (#2640)
     add 737933bc24 OAK-11618: Remove usage of Guava Stopwatch (Groovy) (#2642)
     add 7b05f5e35e OAK-10844: Disable BranchCommitGCTest due to flakiness 
(#2641)
     add 2c03a8ac69 OAK-12029 : replaced Guava's settable future with 
CompletableFuture (#2644)
     add 04b3a55020 OAK-11731: expose NodeCounter (getEstimatedChildNodeCounts) 
in JackrabbitNode - test case tuning (#2645)
     add 3f570f04d4 OAK-11923 : replaced Guava's ForwardingListenableFuture 
(#2643)
     add 0af7e4036a OAK-11924 : replaced Guava's 
AbstractListeningExecutorService with native java implementation (#2646)
     add 32763db8da OAK-11731: expose NodeCounter (getEstimatedChildNodeCounts) 
in JackrabbitNode - avoid 2 mbeans with the same name (#2648)
     add 969a96ff84 OAK-11922 : removed usage of guava's 
MoreExecutors.listeningDecorator (#2647)
     add d03c230eea OAK-12032 : replaced guava's UncheckedExecutionException 
with runtimeexception (#2650)
     add 15df8e26ac OAK-12031 : added jackrabbit-jcr-commons since now 
jackrabbit-core is using it from its path used by oak-upgrade (#2649)
     add f69242f977 Fix links
     add f7cfe566c4 OAK-12034 - CachingSegmentArchiveReader#containsSegment 
should not check the persistence cache for the segment (#2655)
     add 06f15e15b0 OAK-12036 - Expose stats in the PersistentCache (#2657)
     add 0dfb5c96e5 OAK-12033 : replaced Guava's Monitor with ReentrantLock 
(#2654)
     add 3328a1e2ba OAK-12030 Upgrade LZ4 (#2662)
     add 64b6233aa7 OAK-12038: increase assertion time to avoid flakiness in 
ElasticFacetTest (#2661)
     add e92a4d4ea2 OAK-12040 - segment-azure: reduce HTTP requests for writes 
(#2665)
     add 7c96b777d2 OAK-12041 - bump testcontainers to v1.21.4 (#2666)
     add fda8ae5120 OAK-12039 Treat transient client-side exceptions as 
recoverable in AzureRepositoryLock (#2663)
     add 2f909dc35c OAK-12039 test that verifies that lease renewal in 
AzureRepositoryLockV8 correctly handles client timeout (#2667)
     add d4ccb5a91e OAK-12043 - Avoid object allocation in SegmentID.compareTo 
(#2668)
     add f3b89f804b OAK-12044 - Optimize PathUtils.concat for the case where 
parent is the root directory. (#2669)
     add a00b5ad5fd preliminary release notes Oak 1.90.0
     add 10310e9dc0 [maven-release-plugin] prepare release jackrabbit-oak-1.90.0
     add 58be48a42e [maven-release-plugin] prepare for next development 
iteration
     add 6e505ee8e6 OAK-12045: strip leading and trailing whitespaces 
(including newlines) from :fulltext (#2670)
     add af1852f345 OAK-11960: oak-examples: The static content of the webapp 
still refers to RMI features that are no longer supported (#2678)
     add d0ae5c10bf OAK-12052 | oak-search-elastic: log entire request on query 
failure (#2680)
     add 9161ffe603 OAK-12053 | oak-search-elastic: set max analyzed offset for 
highlights (#2681)
     add 1d47358725 OAK-12047 - CachingSegmentArchiveReader#readSegment should 
check if archive contains segment before looking up in the PersistentCache 
(#2672)
     add 9172022bf1 OAK-12056: Speed up NamespaceRegistryCommandTest by reusing 
the NodeStore across tests. (#2683)
     add d9389d8759 OAK-12037 : remove usage of Guava's Monitor from oak-lucene 
(#2660)
     add 38ef61394c OAK-11224: remove guava dependencies from POMs (ongoing) - 
oak-lucene (#2685)
     add 00c63ad99a OAK-12059: Update Oak trunk to Jackrabbit 2.22.3 (#2686)
     add e8e8518d9c OAK-12061 : removed usage of guava's ThreadFactoryBuilder 
(#2691)
     add 468bbb103c OAK-12065 : added class to split locks similar to guava's 
Striped (#2692)
     add 98f6dd6cd5 OAK-12062 : fixed NPE while uploading metadata for AWS S3 
(#2688)
     add dca660dcb5 OAK-12064 : replaced guava striped with oak-commons 
StripedLocks (#2694)
     add e0b97e95a7 OAK-12067: Utils.alignWithExternalRevisions logs timestamps 
with second resolution (#2693)
     add f25b1e06a2 OAK-12068 - segment graph UUID deduplication (OAK-12005) 
can be too inefficient (#2695)
     add d6d21a1cfe OAK-12069 - reduce SegmentPreloader memory usage (#2696)
     add 23db87cb3e OAK-12070 - Reduce memory consumption of azure segment 
stores (#2699)
     add 681194b36d OAK-11950 : removed guava's queues.drainUninterruptibly 
(#2702)
     add cb69ef73fa OAK-12074 : added awaitUninterruptibly() in oak-commons 
(#2703)
     add adbf972924 OAK-12071: fix property removal for externally modifiable 
indexes (#2700)
     add 62bead87ef OAK-12075 : replaced guava's 
Uninterruptible.awaitUninterruptibly with oak-commons (#2704)
     add 6e29d94f5a OAK-12076 : added sleepUninterruptibly() in oak-commons 
(#2705)
     add 2098a56191 OAK-12078 : replaced guava's 
Uninterruptible.sleepUninterruptibly with oak-commons (#2710)
     add 4cbf4d98e6 OAK-12081 : added isInOrder() in IterableUtils to check 
whether all element of given iterable are in order as specified by given 
comparator (#2713)
     add f44a4ffc3a OAK-10344: oak-run ITs fail with failsafe >= 3.0.0 (#2709)
     add 9e649fc365 OAK-12077 : added joinUninterruptibly() in oak-commons 
(#2711)
     add d27250b99b OAK-12080 : replaced guava's Comparators.isInOrder with 
oak-commons implementation (#2715)
     add 23596ba54c OAK-12069 - reduce SegmentPreloader memory usage (#2718)
     add 6d7282e3ae OAK-11941: Upgrade (shaded) Guava to 33.5.0
     add b2ce0cc5fc OAK-10342: Update Apache Parent POM to version 37 (#2716)
     add e95b57a1a7 OAK-12083 : replaced guava's 
Uninterruptible.joinUninterruptibly with oak-commons (#2717)
     add 1e002ec2d6 OAK-12057 - Select same plan with or without LIMIT option 
(#2684)
     add d51ed270f8 OAK-12057 - Select same plan with or without LIMIT option - 
version bump
     add e0911b5a66 Revert "OAK-12057 - Select same plan with or without LIMIT 
option - version bump"
     add bba859f071 Revert "OAK-12057 - Select same plan with or without LIMIT 
option (#2684)"
     add 1a9db5490a OAK-12054: Refactor creation of ThreadPoolExecutors (fix 
those that we in fact only running one thread) (#2679)
     add 64b3962b5e Revert "OAK-12070 - Reduce memory consumption of azure 
segment stores (#2699)"
     add 86e9afe940 OAK-12063: Remove obsolete feature toggles 
FT_NAME_IMPROVED_IS_NULL_COST, FT_OPTIMIZE_IN_RESTRICTIONS_FOR_FUNCTIONS, and 
FT_NAME_PREFETCH_FOR_QUERIES (#2690)
     add 5d56183616 OAK-12084 - Move GCGeneration class to exported SPI package 
(#2725)
     add c5da118c07 OAK-12070 - Reduce memory consumption of azure segment 
stores (#2726)
     add 30a82124a0 OAK-12086: oak-segment-tar: remove optional log4j dependency
     add 6cf1ad4af7 OAK-12010 Simplified index management (without optimizer) 
(#2689)
     add f26a8848e7 OAK-12087 : bump netty to 4.1.131.Final (#2731)
     add 375dce6f6e OAK-12088 : added connectionAcquisitionTimeout to avoid 
acquire timeout issue (#2732)
     add b417928a8d OAK-12082: add test coverage for 
org.apache.jackrabbit.oak.jcr.xml.BuffferedStringValue (#2728)
     add d35607dffc OAK-12085: OutOfMemory in oak-segment-azure tests - 
reverting changes for OAK-12039 (#2738)
     add 3b380ec47f OAK-12010 (Remove misplaced files)
     add a32bfa696e Revert "OAK-12085: OutOfMemory in oak-segment-azure tests - 
reverting changes for OAK-12039 (#2738)"
     add efa3082bc3 OAK-12085 - OutOfMemory in oak-segment-azure tests (#2739)
     add b4fd15ba02 OAK-12066: NPE in AstElement "quote()" (#2708)
     add cff038536b OAK-11975: Use Mockito as an agent in Oak (#2653)
     add 674bb7888e OAK-12010: Simplified index management - fix JSON 
comparison in tests (#2741)
     add db43ccd149 OAK-12090: Update commons-lang3 dependency to 3.20.0 (#2736)
     add 6db9099f1b OAK-12092: Update commons-text dependency to 1.15.0 (#2742)

No new revisions were added by this update.

Summary of changes:
 .github/workflows/build.yml                        |   1 +
 RELEASE-NOTES.txt                                  | 131 ++--
 oak-api/pom.xml                                    |   7 +-
 .../jackrabbit/oak/api/jmx/InferenceMBean.java     |   9 +
 .../jackrabbit/oak/api}/jmx/NodeCounterMBean.java  |  16 +-
 .../jackrabbit/oak/api/jmx/package-info.java       |   4 +-
 oak-auth-external/pom.xml                          |   2 +-
 .../external/impl/ExternalIdentityConstants.java   |   7 +-
 .../external/impl/ExternalLoginModule.java         |  23 +-
 .../authentication/external/package-info.java      |   2 +-
 .../external/impl/ExternalLoginModuleTest.java     | 172 +++++
 .../TestExternalUserIdCredentials.java}            |  37 +-
 .../impl/TestExternalUserIdIdentityProvider.java   | 290 +++++++
 oak-auth-ldap/pom.xml                              |   2 +-
 oak-authorization-cug/pom.xml                      |   2 +-
 oak-authorization-principalbased/pom.xml           |   2 +-
 oak-benchmarks-elastic/pom.xml                     |   2 +-
 oak-benchmarks-lucene/pom.xml                      |   2 +-
 .../jackrabbit/oak/benchmark/HybridIndexTest.java  |   4 +-
 oak-benchmarks/pom.xml                             |   6 +-
 .../jackrabbit/oak/benchmark/BenchmarkRunner.java  |   4 +-
 .../jackrabbit/oak/benchmark/LoginSystemTest.java  |   4 +-
 .../jackrabbit/oak/benchmark/ReadPropertyTest.java |   4 +-
 .../oak/benchmark/ReplicaCrashResilienceTest.java  |   4 +-
 oak-blob-cloud-azure/pom.xml                       |   2 +-
 oak-blob-cloud/pom.xml                             | 273 ++++++-
 .../oak/blob/cloud/s3/DataEncryption.java          |  16 +-
 .../jackrabbit/oak/blob/cloud/s3/S3Backend.java    | 845 ++++++++++----------
 .../oak/blob/cloud/s3/S3BackendHelper.java         | 226 ++++++
 .../jackrabbit/oak/blob/cloud/s3/S3Constants.java  |  10 +-
 .../oak/blob/cloud/s3/S3RequestDecorator.java      | 178 ++---
 .../apache/jackrabbit/oak/blob/cloud/s3/Utils.java | 610 +++++++++++----
 .../oak/blob/cloud/s3/S3BackendHelperTest.java     | 137 ++++
 .../cloud/s3/S3DataRecordAccessProviderTest.java   |   7 +
 .../oak/blob/cloud/s3/S3DataStoreUtils.java        | 100 +--
 .../oak/blob/cloud/s3/S3RequestDecoratorTest.java  | 509 ++++++++++++
 .../blob/cloud/s3/TestS3DSWithSSECustomerKey.java  |  32 +-
 .../oak/blob/cloud/s3/TestS3DSWithSSEKMS.java      |  26 +-
 .../blob/cloud/s3/TestS3DSWithSSEKMSwithKey.java   |  30 +-
 .../oak/blob/cloud/s3/TestS3DSWithSSES3.java       |   4 +
 .../jackrabbit/oak/blob/cloud/s3/TestS3Ds.java     | 186 +++--
 .../jackrabbit/oak/blob/cloud/s3/UtilsTest.java    | 204 +++++
 oak-blob-cloud/src/test/resources/aws.properties   |   9 +-
 oak-blob-plugins/pom.xml                           |  10 +-
 .../blob/AbstractSharedCachingDataStore.java       |  25 +-
 .../oak/plugins/blob/CompositeDataStoreCache.java  |   6 +-
 .../plugins/blob/MarkSweepGarbageCollector.java    |  14 +-
 .../plugins/blob/SameThreadExecutorService.java    | 157 ----
 .../oak/plugins/blob/UploadStagingCache.java       |  34 +-
 .../oak/plugins/blob/datastore/FSBackend.java      |  11 +-
 .../plugins/blob/AbstractDataStoreCacheTest.java   |  63 +-
 .../oak/plugins/blob/CachingDataStoreTest.java     |   6 +-
 .../plugins/blob/CompositeDataStoreCacheTest.java  |  17 +-
 .../blob/ConsolidatedDataStoreStatsTest.java       |   2 +-
 .../jackrabbit/oak/plugins/blob/FileCacheTest.java |  30 +-
 .../AbstractDataRecordAccessProviderTest.java      |   8 +
 oak-blob/pom.xml                                   |   7 +-
 oak-commons/pom.xml                                |  15 +-
 .../apache/jackrabbit/oak/commons/PathUtils.java   |   7 +-
 .../oak/commons/collections/IterableUtils.java     |  35 +
 .../oak/commons/collections/package-info.java      |   2 +-
 .../internal/concurrent/DirectExecutor.java        |   3 +-
 ...ectExecutor.java => DirectExecutorService.java} |  47 +-
 .../internal/concurrent/ExecutorHelper.java        |  94 +++
 .../commons/internal/concurrent/ExecutorUtils.java |  81 ++
 .../concurrent/ForwardingExecutorService.java      | 105 +++
 .../commons/internal/concurrent/StripedLocks.java  |  56 ++
 .../internal/concurrent/UninterruptibleUtils.java  | 148 ++++
 .../commons/internal/concurrent/package-info.java  |   2 +-
 .../oak/commons/collections/IterableUtilsTest.java |  82 ++
 .../concurrent/DirectExecutorServiceTest.java      |  84 ++
 .../internal/concurrent/DirectExecutorTest.java    |   4 +-
 .../internal/concurrent/ExecutorUtilsTest.java     | 129 ++++
 .../concurrent/ForwardingExecutorServiceTest.java  | 156 ++++
 .../internal/concurrent/StripedLocksTest.java      | 129 ++++
 .../concurrent/UninterruptibleUtilsTest.java       | 288 +++++++
 oak-core-spi/pom.xml                               |   2 +-
 .../org/apache/jackrabbit/oak/cache/CacheLIRS.java |   7 +-
 .../oak/commons/jmx/ManagementOperationTest.java   |  13 +-
 oak-core/pom.xml                                   |   2 +-
 .../main/java/org/apache/jackrabbit/oak/Oak.java   |  36 +-
 .../jackrabbit/oak/plugins/index/IndexName.java    |  17 +
 .../jackrabbit/oak/plugins/index/IndexUpdate.java  |  21 +
 .../index/counter/jmx/NodeCounterMBean.java        |  38 +-
 .../oak/plugins/index/diff/DiffIndex.java          | 276 +++++++
 .../oak/plugins/index/diff/DiffIndexMerger.java    | 853 +++++++++++++++++++++
 .../oak/plugins/index/diff/JsonNodeUpdater.java    | 280 +++++++
 .../plugins/index/diff/RootIndexesListService.java | 112 +++
 .../oak/plugins/name/NamespaceRegistryModel.java   |  54 +-
 .../jackrabbit/oak/query/QueryEngineSettings.java  |  32 +-
 .../apache/jackrabbit/oak/query/SQL2Parser.java    |   4 +
 .../jackrabbit/oak/query/UnionQueryImpl.java       |  58 +-
 .../oak/query/ast/AstElementFactory.java           |  23 +-
 .../oak/query/ast/FullTextSearchImpl.java          |  30 +-
 .../jackrabbit/oak/query/ast/LowerCaseImpl.java    |   3 -
 .../oak/query/ast/NodeLocalNameImpl.java           |   3 -
 .../jackrabbit/oak/query/ast/NodeNameImpl.java     |   3 -
 .../oak/query/ast/NotFullTextSearchImpl.java       |   8 +-
 .../apache/jackrabbit/oak/query/ast/PathImpl.java  |   3 -
 .../jackrabbit/oak/query/ast/UpperCaseImpl.java    |   3 -
 .../jackrabbit/oak/query/index/FilterImpl.java     |   6 -
 .../jackrabbit/oak/query/xpath/Statement.java      |  13 +-
 .../oak/query/xpath/XPathToSQL2Converter.java      |   3 +-
 .../authentication/token/TokenProviderImpl.java    |   9 +-
 .../oak/plugins/index/diff/DiffIndexTest.java      | 307 ++++++++
 .../plugins/index/diff/JsonNodeUpdaterTest.java    | 230 ++++++
 .../oak/plugins/index/diff/MergeTest.java          | 440 +++++++++++
 .../metric/MetricStatisticsProviderTest.java       |   4 +-
 .../oak/plugins/name/NamespaceRegistryTest.java    | 184 ++++-
 .../oak/query/QueryCostOverheadTest.java           |  38 +-
 .../oak/query/QueryEngineSettingsServiceTest.java  |  28 +-
 .../jackrabbit/oak/query/UnionQueryTest.java       | 214 ++++++
 .../oak/query/xpath/XPathToSQL2Test.java           | 171 +++++
 .../jackrabbit/oak/plugins/index/diff/indexes.json | 187 +++++
 oak-doc-railroad-macro/pom.xml                     |   2 +-
 oak-doc/pom.xml                                    |   2 +-
 oak-doc/src/site/markdown/differences.md           |   8 +-
 oak-doc/src/site/markdown/participating.md         |   7 +
 oak-examples/pom.xml                               |   2 +-
 oak-examples/standalone/pom.xml                    |   2 +-
 oak-examples/webapp/pom.xml                        |   2 +-
 oak-examples/webapp/src/main/webapp/header.jsp     |   1 -
 oak-examples/webapp/src/main/webapp/remote.jsp     | 106 ---
 oak-examples/webapp/src/main/webapp/welcome.jsp    |   4 +-
 oak-exercise/pom.xml                               |   2 +-
 oak-http/pom.xml                                   |   7 +-
 oak-it-osgi/pom.xml                                |   9 +-
 oak-it/pom.xml                                     |   2 +-
 oak-jackrabbit-api/pom.xml                         |   2 +-
 .../org/apache/jackrabbit/api/JackrabbitNode.java  |   9 +
 .../org/apache/jackrabbit/api/package-info.java    |   2 +-
 oak-jcr/pom.xml                                    |   2 +-
 .../jackrabbit/oak/jcr/delegate/NodeDelegate.java  |   5 +-
 .../jackrabbit/oak/jcr/session/NodeImpl.java       |  18 +-
 .../jackrabbit/oak/jcr/session/SessionContext.java |  11 +
 .../oak/jcr/session/SessionSaveDelayerConfig.java  |  17 +-
 .../oak/jcr/ConcurrentAddNodesClusterIT.java       |   4 +-
 .../jackrabbit/oak/jcr/JackrabbitNodeTest.java     |  10 +-
 .../apache/jackrabbit/oak/jcr/NodeCounterTest.java |  67 ++
 .../fixtures/datastore/S3DataStoreFixture.java     |  84 +-
 .../nodestore/DocumentMemoryNodeStoreFixture.java  |  22 +-
 .../nodestore/DocumentMongoNodeStoreFixture.java   |  21 +-
 .../nodestore/SegmentMemoryNodeStoreFixture.java   |  30 +-
 .../jackrabbit/oak/jcr/nodetype/NodeTypeTest.java  |  20 +
 .../oak/jcr/observation/ExpectationListener.java   |  32 +-
 .../oak/jcr/random/RandomizedReadTest.java         |  74 +-
 .../jcr/session/SessionSaveDelayerConfigTest.java  |  74 +-
 .../jcr/session/WarnLogStringPropertySizeTest.java |   5 +-
 .../oak/jcr/xml/BufferedStringValueTest.java       | 279 +++++++
 oak-lucene/pom.xml                                 |   7 +-
 .../oak/plugins/index/lucene/IndexCopier.java      |  34 +-
 .../index/lucene/LuceneIndexProviderService.java   |  30 +-
 .../plugins/index/lucene/hybrid/DocumentQueue.java |   4 +-
 .../ActiveDeletedBlobCollectorMBeanImplTest.java   |  13 +-
 .../index/lucene/IndexCopierCleanupTest.java       |   4 +-
 .../oak/plugins/index/lucene/IndexCopierTest.java  |  56 +-
 .../plugins/index/lucene/IndexNodeManagerTest.java |   4 +-
 .../oak/plugins/index/lucene/LuceneIndexTest.java  |   6 +-
 .../directory/AbstractActiveDeletedBlobTest.java   |   4 +-
 .../directory/ActiveDeletedBlobCollectorTest.java  |   8 +-
 .../ConcurrentCopyOnReadDirectoryTest.java         |   4 +-
 .../lucene/directory/CopyOnReadDirectoryTest.java  |   4 +-
 .../index/lucene/hybrid/DelayedFacetReadTest.java  |   4 +-
 .../index/lucene/hybrid/DocumentQueueTest.java     |  16 +-
 .../lucene/hybrid/ExternalIndexObserverTest.java   |   6 +-
 .../index/lucene/hybrid/FacetCacheTest.java        |   4 +-
 .../index/lucene/hybrid/HybridIndexClusterIT.java  |   4 +-
 .../index/lucene/hybrid/HybridIndexTest.java       |   4 +-
 .../lucene/hybrid/LocalIndexWriterFactoryTest.java |   6 +-
 .../index/lucene/hybrid/ManyFacetsTest.java        |   4 +-
 ...eadedOldLuceneFacetProviderReadFailureTest.java |   4 +-
 .../index/lucene/hybrid/NRTIndexFactoryTest.java   |   4 +-
 .../plugins/index/lucene/hybrid/NRTIndexTest.java  |   4 +-
 .../index/lucene/hybrid/ReaderRefCountIT.java      |   6 +-
 oak-parent/pom.xml                                 |  63 +-
 oak-pojosr/pom.xml                                 |   2 +-
 oak-query-spi/pom.xml                              |   2 +-
 .../apache/jackrabbit/oak/spi/query/Filter.java    |   6 -
 .../jackrabbit/oak/spi/query/QueryLimits.java      |  18 +-
 oak-run-commons/pom.xml                            |   6 +-
 .../jackrabbit/oak/fixture/DataStoreUtils.java     |  49 +-
 .../apache/jackrabbit/oak/index/IndexHelper.java   |  28 +-
 .../indexer/document/tree/store/PageFile.java      |   6 +-
 .../oak/run/cli/NodeStoreFixtureProvider.java      |   4 +-
 .../indexer/document/tree/store/PageFileTest.java  |  12 +
 oak-run-elastic/pom.xml                            |   6 +-
 oak-run/README.md                                  |  34 +
 oak-run/pom.xml                                    |  10 +-
 .../oak/console/commands/LuceneCommand.groovy      |   2 +-
 .../jackrabbit/oak/run/DataStoreCommand.java       |  34 +-
 .../jackrabbit/oak/run/DataStoreCopyCommand.java   |  13 +-
 .../org/apache/jackrabbit/oak/run/Downloader.java  | 181 ++++-
 .../oak/run/FrozenNodeRefsByScanningCommand.java   |   5 +-
 .../jackrabbit/oak/run/JsonIndexCommand.java       |   4 +-
 .../oak/run/NamespaceRegistryCommand.java          |  44 +-
 .../oak/run/NamespaceRegistryOptions.java          |   4 +
 oak-run/src/main/js/oak-mongo.js                   |  97 +++
 .../jackrabbit/oak/run/DataStoreCommandTest.java   |  31 +-
 .../oak/run/NamespaceRegistryCommandTest.java      | 163 +++-
 oak-search-elastic/pom.xml                         |  12 +-
 .../index/elastic/ElasticIndexDefinition.java      |   5 +
 .../index/elastic/ElasticIndexStatistics.java      |  38 +-
 .../elastic/index/ElasticBulkProcessorHandler.java |   2 +-
 .../index/elastic/index/ElasticDocument.java       |   7 +-
 .../index/elastic/index/ElasticDocumentMaker.java  |  22 +-
 .../index/elastic/query/ElasticRequestHandler.java |  23 +-
 .../query/async/ElasticResponseListener.java       |  20 -
 .../query/async/ElasticResultRowAsyncIterator.java |  19 +-
 .../query/async/facets/ElasticFacetProvider.java   |   3 +-
 .../facets/ElasticSecureFacetAsyncProvider.java    | 261 +++++--
 .../elastic/query/inference/InferenceConfig.java   |  24 +-
 .../query/inference/InferenceMBeanImpl.java        |  10 +-
 .../plugins/index/elastic/ElasticContentTest.java  |  80 ++
 .../plugins/index/elastic/ElasticFacetTest.java    |   2 +-
 .../inference/ElasticInferenceUsingConfigTest.java |  50 +-
 .../query/inference/InferenceConfigTest.java       |  71 ++
 oak-search/pom.xml                                 |   2 +-
 .../plugins/index/search/ExtractedTextCache.java   |  31 +-
 .../search/spi/editor/FulltextDocumentMaker.java   |  63 +-
 .../index/search/spi/query/FulltextIndex.java      |   2 +
 .../search/spi/query/FulltextIndexPlanner.java     |  10 +-
 .../jackrabbit/oak/plugins/index/ExcerptTest.java  |  30 +-
 .../oak/plugins/index/FacetCommonTest.java         |   3 +-
 .../oak/plugins/index/IndexQueryCommonTest.java    |  26 +-
 .../index/search/spi/query/IndexNameTest.java      |  52 ++
 oak-security-spi/pom.xml                           |   2 +-
 .../oak/spi/security/ConfigurationParameters.java  |  27 +
 .../authentication/AbstractLoginModule.java        |   8 +-
 .../authentication/AuthenticationConstants.java    |  53 ++
 .../spi/security/authentication/package-info.java  |   2 +-
 .../authentication/token/TokenConstants.java       |   6 +-
 .../jackrabbit/oak/spi/security/package-info.java  |   2 +-
 .../spi/security/ConfigurationParametersTest.java  |  45 +-
 .../authentication/token/TokenConstantsTest.java   |   3 +-
 oak-segment-aws/pom.xml                            |   7 +-
 .../oak/segment/aws/AwsSegmentArchiveReader.java   |  63 +-
 oak-segment-azure/pom.xml                          |  14 +-
 .../oak/segment/azure/AzureArchiveManager.java     | 141 +++-
 .../oak/segment/azure/AzurePersistenceManager.java | 166 ++--
 .../oak/segment/azure/AzureRepositoryLock.java     |  29 +-
 .../segment/azure/AzureSegmentArchiveReader.java   |  50 +-
 .../segment/azure/AzureSegmentArchiveWriter.java   |  13 +-
 .../oak/segment/azure/tool/AzureCompact.java       |   2 +-
 .../segment/azure/tool/SegmentStoreMigrator.java   |   6 +-
 .../segment/azure/v8/AzureRepositoryLockV8.java    |   4 +-
 .../azure/v8/AzureSegmentArchiveReaderV8.java      |  43 +-
 .../oak/segment/azure/AzureArchiveManagerTest.java | 368 +++++----
 .../oak/segment/azure/AzureJournalFileTest.java    |  14 +-
 .../oak/segment/azure/AzureReadSegmentTest.java    |  20 +-
 .../oak/segment/azure/AzureRepositoryLockTest.java | 232 +++++-
 .../azure/AzureSegmentArchiveWriterTest.java       |  44 +-
 .../oak/segment/azure/AzuriteDockerRule.java       |  50 +-
 .../oak/segment/azure/FileStoreTestUtil.java       |  48 ++
 .../segment/azure/tool/SegmentCopyTestBase.java    |  63 +-
 .../azure/v8/AzureArchiveManagerV8Test.java        | 233 +++---
 .../segment/azure/v8/AzureReadSegmentV8Test.java   |  20 +-
 .../azure/v8/AzureRepositoryLockV8Test.java        | 148 +++-
 .../azure/v8/AzureSegmentArchiveWriterV8Test.java  |  12 +
 .../split/SplitPersistenceBlobTest.java            |  37 +-
 .../persistence/split/SplitPersistenceTest.java    |  12 +-
 .../split/v8/SplitPersistenceBlobV8Test.java       |  37 +-
 .../split/v8/SplitPersistenceV8Test.java           |  12 +-
 oak-segment-remote/pom.xml                         |   2 +-
 .../remote/AbstractRemoteSegmentArchiveReader.java | 105 ++-
 .../remote/AbstractRemoteSegmentArchiveWriter.java |   6 +-
 .../segment/remote/RemoteSegmentArchiveEntry.java  |  34 +-
 .../oak/segment/remote/package-info.java           |   2 +-
 .../AbstractRemoteSegmentArchiveReaderTest.java    | 176 +++++
 .../remote/RemoteSegmentArchiveEntryTest.java      |  72 ++
 .../persistentcache/PersistentDiskCacheTest.java   |   8 +-
 oak-segment-tar/pom.xml                            |  15 +-
 .../oak/backup/impl/FileStoreBackupImpl.java       |   2 +-
 .../oak/backup/impl/FileStoreRestoreImpl.java      |   2 +-
 .../jackrabbit/oak/segment/CommitsTracker.java     |   2 +-
 .../oak/segment/DefaultSegmentWriter.java          |   2 +-
 .../oak/segment/DefaultSegmentWriterBuilder.java   |   2 +-
 .../org/apache/jackrabbit/oak/segment/Record.java  |   2 +-
 .../org/apache/jackrabbit/oak/segment/Segment.java |   4 +-
 .../oak/segment/SegmentBufferWriter.java           |   2 +-
 .../oak/segment/SegmentBufferWriterPool.java       |   2 +-
 .../apache/jackrabbit/oak/segment/SegmentDump.java |   2 +-
 .../apache/jackrabbit/oak/segment/SegmentId.java   |   6 +-
 .../oak/segment/SegmentNodeStoreMonitor.java       |   2 +-
 .../oak/segment/SegmentNodeStoreStats.java         |   2 +-
 .../oak/segment/SegmentWriterFactory.java          |   2 +-
 .../oak/segment/WriteOperationHandler.java         |   2 +-
 .../segment/file/AbstractCompactionStrategy.java   |   2 +-
 .../oak/segment/file/AbstractFileStore.java        |  64 +-
 .../file/AbstractGarbageCollectionStrategy.java    |   2 +-
 .../file/CleanupFirstCompactionStrategy.java       |   2 +-
 .../oak/segment/file/CleanupStrategy.java          |   2 +-
 .../oak/segment/file/CompactionResult.java         |   2 +-
 .../oak/segment/file/CompactionWriter.java         |   2 +-
 .../oak/segment/file/DefaultCleanupContext.java    |   2 +-
 .../oak/segment/file/DefaultCleanupStrategy.java   |   2 +-
 .../jackrabbit/oak/segment/file/FileStore.java     |  32 +-
 .../oak/segment/file/FileStoreBuilder.java         |  54 +-
 .../oak/segment/file/FullCompactionStrategy.java   |   2 +-
 .../jackrabbit/oak/segment/file/GCIncrement.java   |   2 +-
 .../jackrabbit/oak/segment/file/GCJournal.java     |   4 +-
 .../jackrabbit/oak/segment/file/GCListener.java    |   2 +-
 .../oak/segment/file/GarbageCollector.java         |   2 +-
 .../oak/segment/file/PrefixedGCListener.java       |   2 +-
 .../oak/segment/file/ReadOnlyFileStore.java        |  23 +-
 .../jackrabbit/oak/segment/file/Reclaimers.java    |   2 +-
 .../oak/segment/file/TailCompactionStrategy.java   |   2 +-
 .../oak/segment/file/preloader/SegmentIds.java     |  64 ++
 .../segment/file/preloader/SegmentPreloader.java   | 413 ++++++++++
 .../oak/segment/file/tar/CleanupContext.java       |   2 +
 .../oak/segment/file/tar/EntryRecovery.java        |   1 +
 .../jackrabbit/oak/segment/file/tar/TarFiles.java  |  19 +-
 .../jackrabbit/oak/segment/file/tar/TarReader.java |   9 +-
 .../jackrabbit/oak/segment/file/tar/TarWriter.java |   1 +
 .../jackrabbit/oak/segment/scheduler/Commit.java   |   2 +-
 .../oak/segment/scheduler/LockBasedScheduler.java  |   2 +-
 .../tar => spi/persistence}/GCGeneration.java      |  30 +-
 .../spi/persistence/SegmentArchiveReader.java      |  16 +
 .../persistentcache/AbstractPersistentCache.java   |   1 +
 .../CachingSegmentArchiveReader.java               |  19 +-
 .../persistentcache/DelegatingPersistentCache.java |  60 ++
 .../persistentcache/PersistentCache.java           |   8 +
 .../PersistentCachePreloadingConfiguration.java    |  92 +++
 .../persistence/persistentcache/package-info.java  |   2 +-
 .../split/UnclosedSegmentArchiveReader.java        |   7 +
 .../segment/standby/client/StandbyClientSync.java  |   2 +-
 .../segment/AbstractCompactorExternalBlobTest.java |   4 +-
 .../oak/segment/AbstractCompactorTest.java         |   2 +-
 .../CheckpointCompactorExternalBlobTest.java       |   2 +-
 .../oak/segment/ClassicCompactorTest.java          |   4 +-
 .../jackrabbit/oak/segment/CommitsTrackerTest.java |   4 +-
 .../segment/CompactToDifferentNodeStoreTest.java   |   2 +-
 .../oak/segment/CompactionAndCleanupIT.java        |   9 +-
 .../jackrabbit/oak/segment/CompactorTestUtils.java |   2 +-
 .../jackrabbit/oak/segment/NodeRecordTest.java     |   4 +-
 .../segment/ParallelCompactorExternalBlobTest.java |   2 +-
 .../oak/segment/SegmentBufferWriterPoolTest.java   |  18 +-
 .../oak/segment/SegmentCompactionIT.java           |   5 +
 .../file/DefaultGarbageCollectionStrategyTest.java |   2 +-
 .../jackrabbit/oak/segment/file/FileStoreIT.java   |  38 +-
 .../segment/file/FullCompactionStrategyTest.java   |   2 +-
 .../file/FullSizeDeltaEstimationStrategyTest.java  |   2 +-
 .../oak/segment/file/GCIncrementTest.java          |   4 +-
 .../jackrabbit/oak/segment/file/GcJournalTest.java |   2 +-
 .../file/LargeNumberOfChildNodeUpdatesIT.java      |   2 +-
 .../oak/segment/file/ReclaimersTest.java           |   4 +-
 .../file/TailSizeDeltaEstimationStrategyTest.java  |   2 +-
 .../oak/segment/file/TarRevisionsTest.java         |   6 +-
 .../file/preloader/SegmentPreloaderTest.java       | 404 ++++++++++
 .../oak/segment/file/tar/GCGenerationTest.java     |  41 -
 .../oak/segment/file/tar/TarFileTest.java          |   3 +-
 .../oak/segment/file/tar/TarFilesTest.java         |   3 +-
 .../oak/segment/file/tar/TarWriterTest.java        |   2 +-
 .../segment/spi/persistence/GCGenerationTest.java  |  87 +++
 .../persistentcache/CachingPersistenceTest.java    |  52 --
 .../CachingSegmentArchiveReaderTest.java           |  94 +++
 .../persistentcache/MemoryPersistentCache.java     |  73 ++
 .../testutils/NodeStoreTestHarness.java            |   3 +
 oak-shaded-guava/pom.xml                           |  12 +-
 oak-store-composite/pom.xml                        |  12 +-
 oak-store-document/pom.xml                         |   2 +-
 .../oak/plugins/document/Configuration.java        |   8 +
 .../oak/plugins/document/DocumentNodeStore.java    |  11 +-
 .../plugins/document/DocumentNodeStoreBuilder.java |   5 +-
 .../plugins/document/DocumentNodeStoreService.java |  14 +-
 .../document/locks/StripedNodeDocumentLocks.java   |   7 +-
 .../mongo/MongoDocumentNodeStoreBuilderBase.java   |  19 +
 .../plugins/document/mongo/MongoDocumentStore.java |  72 +-
 .../oak/plugins/document/mongo/MongoUtils.java     |   4 +-
 .../oak/plugins/document/util/Utils.java           |   7 +-
 .../oak/plugins/document/BranchCommitGCTest.java   |   9 +-
 .../oak/plugins/document/DocumentNodeStoreIT.java  |  37 +-
 .../DocumentNodeStoreServiceConfigurationTest.java |  59 ++
 .../plugins/document/HierarchyConflictTest.java    |  15 +-
 .../plugins/document/PrefetchDispatcherTest.java   |   5 +-
 .../oak/plugins/document/RevisionTest.java         |  54 +-
 .../plugins/document/SharedBlobStoreGCTest.java    |   4 +-
 .../oak/plugins/document/VersionGCSupportTest.java |  12 +-
 .../bundlor/BundlingConfigHandlerTest.java         |   4 +-
 .../mongo/MongoDocumentStoreQueryWarningTest.java  | 196 +++++
 .../oak/plugins/document/mongo/MongoUtilsTest.java |   2 +
 oak-store-spi/pom.xml                              |   2 +-
 .../jackrabbit/oak/json/JsonNodeBuilder.java       | 211 +++++
 .../jackrabbit/oak/json/JsonNodeBuilderTest.java   | 163 ++++
 oak-upgrade/pom.xml                                |  12 +-
 pom.xml                                            |   2 +-
 385 files changed, 14448 insertions(+), 3438 deletions(-)
 copy {oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/counter 
=> 
oak-api/src/main/java/org/apache/jackrabbit/oak/api}/jmx/NodeCounterMBean.java 
(90%)
 copy 
oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/{PreAuthCredentials.java
 => impl/TestExternalUserIdCredentials.java} (62%)
 create mode 100644 
oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/TestExternalUserIdIdentityProvider.java
 copy 
oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/internal/graph/package-info.java
 => 
oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/DataEncryption.java
 (79%)
 create mode 100644 
oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/S3BackendHelper.java
 create mode 100644 
oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/s3/S3BackendHelperTest.java
 create mode 100644 
oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/s3/S3RequestDecoratorTest.java
 create mode 100644 
oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/s3/UtilsTest.java
 delete mode 100644 
oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/SameThreadExecutorService.java
 copy 
oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/internal/concurrent/{DirectExecutor.java
 => DirectExecutorService.java} (52%)
 create mode 100644 
oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/internal/concurrent/ExecutorHelper.java
 create mode 100644 
oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/internal/concurrent/ExecutorUtils.java
 create mode 100644 
oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/internal/concurrent/ForwardingExecutorService.java
 create mode 100644 
oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/internal/concurrent/StripedLocks.java
 create mode 100644 
oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/internal/concurrent/UninterruptibleUtils.java
 create mode 100644 
oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/internal/concurrent/DirectExecutorServiceTest.java
 create mode 100644 
oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/internal/concurrent/ExecutorUtilsTest.java
 create mode 100644 
oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/internal/concurrent/ForwardingExecutorServiceTest.java
 create mode 100644 
oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/internal/concurrent/StripedLocksTest.java
 create mode 100644 
oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/internal/concurrent/UninterruptibleUtilsTest.java
 create mode 100644 
oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/diff/DiffIndex.java
 create mode 100644 
oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/diff/DiffIndexMerger.java
 create mode 100644 
oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/diff/JsonNodeUpdater.java
 create mode 100644 
oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/diff/RootIndexesListService.java
 create mode 100644 
oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/diff/DiffIndexTest.java
 create mode 100644 
oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/diff/JsonNodeUpdaterTest.java
 create mode 100644 
oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/diff/MergeTest.java
 create mode 100644 
oak-core/src/test/java/org/apache/jackrabbit/oak/query/xpath/XPathToSQL2Test.java
 create mode 100644 
oak-core/src/test/resources/org/apache/jackrabbit/oak/plugins/index/diff/indexes.json
 delete mode 100644 oak-examples/webapp/src/main/webapp/remote.jsp
 create mode 100644 
oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/NodeCounterTest.java
 create mode 100644 
oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/xml/BufferedStringValueTest.java
 create mode 100644 
oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/AuthenticationConstants.java
 create mode 100644 
oak-segment-azure/src/test/java/org/apache/jackrabbit/oak/segment/azure/FileStoreTestUtil.java
 create mode 100644 
oak-segment-remote/src/test/java/org/apache/jackrabbit/oak/segment/remote/AbstractRemoteSegmentArchiveReaderTest.java
 create mode 100644 
oak-segment-remote/src/test/java/org/apache/jackrabbit/oak/segment/remote/RemoteSegmentArchiveEntryTest.java
 create mode 100644 
oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/preloader/SegmentIds.java
 create mode 100644 
oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/preloader/SegmentPreloader.java
 rename 
oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/{file/tar => 
spi/persistence}/GCGeneration.java (83%)
 create mode 100644 
oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/persistentcache/DelegatingPersistentCache.java
 create mode 100644 
oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/persistentcache/PersistentCachePreloadingConfiguration.java
 create mode 100644 
oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/preloader/SegmentPreloaderTest.java
 delete mode 100644 
oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/GCGenerationTest.java
 create mode 100644 
oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/spi/persistence/GCGenerationTest.java
 create mode 100644 
oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/spi/persistence/persistentcache/CachingSegmentArchiveReaderTest.java
 create mode 100644 
oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/spi/persistence/persistentcache/MemoryPersistentCache.java
 create mode 100644 
oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStoreQueryWarningTest.java
 create mode 100644 
oak-store-spi/src/main/java/org/apache/jackrabbit/oak/json/JsonNodeBuilder.java
 create mode 100644 
oak-store-spi/src/test/java/org/apache/jackrabbit/oak/json/JsonNodeBuilderTest.java


Reply via email to