You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by re...@apache.org on 2026/05/11 11:50:02 UTC

(jackrabbit-oak) branch OAK-12172 updated (8567ae2e4f -> c335fcfc35)

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

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


    from 8567ae2e4f OAK-12172: Remove upgrade functionality from oak-upgrade
     add 64c214cc67 OAK-12143 - Fix AsyncLaneSwitcher not switching lanes when async-previous pre-set (#2812) (#2821)
     add e3d9072f38 OAK-12060: Regression test for knn elastic query (#2790) (#2824)
     add 5758ea3294 OAK-12170 Invalid path: rep:facet (#2823)
     add c349c2a50c OAK-12170 Invalid path: rep:facet - rename feature toggle (#2827)
     add 8a9671cb27 OAK-8840: copy jackrabbit-data into oak-blob (#2810)
     add ab7ba1eeda OAK-12169: remove org.apache.jackrabbit.oak.spi.blob.data.util.NamedThreadFactory (#2829)
     add f9e33a1d53 OAK-12167: use fast hash function instead of SHA-256 for shard selection (#2820)
     add ec3d9737c3 OAK-12174 Offload Elastic async response processing from I/O thread to avoid inflated query time metrics (#2828)
     add 1e777e9aa7 OAK-12171 Cost estimation for is (not) null checks are wrong (#2825)
     add fd7ffba225 OAK-12146 Use the latest elastic OR lucene index, if there are multiple (#2813)
     add c7a0fc588c OAK-12175: oak-blob: cleanup org.apache.jackrabbit.oak.spi.blob.fs (#2830)
     add 4b8fe706c5 Reapply "OAK-11300 : remove unused common.hash export from oak-shaded-guava (#2803)"
     add 534820fe90 Revert "Reapply "OAK-11300 : remove unused common.hash export from oak-shaded-guava (#2803)""
     add e8d6725e6b OAK-12148 : added backend implementation for OAK-CACHE for Lirs/Caffeine (#2819)
     add 7937b9a963 OAK-12060: Regression test for knn elastic query (#2790) (#2835)
     add bdc1f08ecf OAK-12149 : migrate oak-blob-cloud S3Backend to Oak Cache API (#2834)
     add 6786cdbc85 OAK-12177: improve diagnostics in VersionGarbageCollectorLogTest (#2837)
     add 87aaaefafe OAK-12150 : migrate oak-blob-cloud-azure to Oak Cache API (#2838)
     add a4bb6e57ac OAK-12176: Upgrade jackson-databind dependency to 2.19.4 (#2833)
     add c4028d2015 OAK-12051: Fix NPE when ordering union query by jcr:score (#2746) (#2836)
     add e278e2755c OAK-12117 - Limit the maximum number of indexed tags per document (#2789) (#2832)
     add 004f37fb95 OAK-12057 Wrong index may be selected when using LIMIT OPTION (#2724)
     add 5d13dbcbfd OAK-12152 : reomved guava cache with caffeine in oak-search-elastic module (#2842)
     add 1a928a1461 OAK-12151 : migrate oak-blob to Oak Cache API (#2839)
     add 9409507435 OAK-12154 : removed guava cache from oak-store-document infrastructure (#2844)
     add cf14286956 OAK-12178: bump netty version to 4.1.132.Final (#2845)
     add ef2a6c8f8c OAK-12179: update Tomcat dependency to 9.0.117 (#2846)
     add 70902c40ee OAK-12153 : removed guava cache from oak-search (#2843)
     add 6107884fc1 OAK-12155 : removed guava cache from oak-store-document diff caches (#2848)
     add 23b11567dc OAK-11224: remove guava dependencies from oak-search (#2851)
     add 87f7a94eb8 OAK-12182 : added spec, plan and tasks for guava cache removal (#2849)
     add 0f445d0c84 OAK-12177: improve diagnostics in DocumentNodeStoreIT (#2852)
     add 5cfb9f7a3e OAK-12156 : removed guava cache from oak-store-document caches (#2854)
     add cdb3f8d12e [OAK-12184] revert oak-blob-cloud-azure to version as of 1.90.0 (#2858)
     add 14992f3cf9 OAK-12160 : update task status — completed via OAK-12156 cascade (#2862)
     add f297eed8d4 OAK-12157 : removed guava cache from oak-segment-tar (#2859)
     add 8032e77764 OAK-12159 : removed guava cache from oak-blob-plugins (#2861)
     add 26e2795aa6 OAK-12158 : moved CacheLIRS to oak cache (#2860)
     add d9eafe4ea1 OAK-12161 : explicity removed caffeine imports from oak-lucene (#2863)
     add fd48b49be4 OAK-12111: Oak 2.0.0 (#2865)
     add e7a117ed11 [maven-release-plugin] prepare release jackrabbit-oak-2.0.0
     add 082be3a5e5 [maven-release-plugin] prepare for next development iteration
     add ac149d887c Revert "[maven-release-plugin] prepare for next development iteration"
     add b80888bb9f Revert "[maven-release-plugin] prepare release jackrabbit-oak-2.0.0"
     add 3bf2ecb9fb Revert "OAK-12161 : explicity removed caffeine imports from oak-lucene (#2863)"
     add b8988aacb6 OAK-12111: Oak 2.0.0
     add 240f7aba27 [maven-release-plugin] prepare release jackrabbit-oak-2.0.0
     add 7c1f14331d [maven-release-plugin] prepare for next development iteration
     add 1bc6f423a4 OAK-12161 : removed guava's cachestats and did the final cleanup (#2864)
     add 16cb9200eb OAK-11224: OAK-11224: remove guava dependencies from oak-blob-cloud-azure (#2853)
     add ea5d2915f2 OAK-12189: integration tests in oak-it-osgi fail due to misconfiguration of the assembly plugin (#2867)
     add e06bed9455 OAK-12111: update documentation re 2.x
     add 950cb6971c OAK-12111: oak-doc*
     add c909dc9f2a Revert "OAK-12161 : removed guava's cachestats and did the final cleanup (#2864)"
     add 02f31ca68d OAK-12181 - add metric when repository lock could not be renewed
     add 080b23e600 Revert "OAK-11224: OAK-11224: remove guava dependencies from oak-blob-cloud-azure (#2853)"
     add cf0f60da1e OAK-12193 Large numbers of deleted Lucene documents cause trouble (#2873)
     add 69b99c95a5 OAK-12198: test that findAndUpdate does not return stale document (#2876)
     add 179d73869e OAK-12199 : fixed issue where we were silently dropped creation of persistent caches (#2877)
     add 57a2b05bfd Revert "OAK-12193 Large numbers of deleted Lucene documents cause trouble (#2873)"
     add d3e23042cc Revert "OAK-12181 - add metric when repository lock could not be renewed"
     add cdc00b2a73 OAK-12197 : make caffeine evictions always synchronous to aling with guava (#2879)
     add e38b98ff71 OAK-12200 : restored the exception handling logic to guava cache style (#2878)
     add 1b766a35cb Revert "OAK-12200 : restored the exception handling logic to guava cache style (#2878)"
     add bef6e367da Reapply "OAK-12200 : restored the exception handling logic to guava cache style (#2878)"
     add 681e702f16 OAK-12197 : make caffeine evictions async when refreshAfterWrite is used (#2880)
     add d20b98be59 OAK-12166: RDBVersionGC MODE 1 (old method) should leverage SD columns when available (#2881)
     add ed0c22534c OAK-12202: add DistinctBinarySize.add(String blobId) (#2884)
     add 5056b724bd OAK-12187: MongoDocumentStore: improve diagnostics for too large docs in findAndModify (#2885)
     add 5227ffa639 Reapply "OAK-12181 - add metric when repository lock could not be renewed"
     add 2d1cbdbfb6 OAK-11224: remove guava dependencies from oak-blob-cloud (#2872)
     add 05c80b5843 OAK-12201 : added missing IterableUtils import (#2886)
     add da7cd707be Revert "Reapply "OAK-12181 - add metric when repository lock could not be renewed""
     add 34e8159cb0 OAK-11224: remove shaded guava dep from oak-blob-cloud-azure/pom.xml (#2890)
     add cd0b76f305 OAK-12204 : fixed NPE in case we got LimitExceepException while running FullGC (#2891)
     add 6638b862d2 OAK-11224: remove shaded guava dep from oak-blob/pom.xml (#2893)
     add a9d0bab9c9 OAK-12203: Updated mina-core version (#2889)
     add 955d3215dd OAK-11224: remove guava dependencies from oak-store-document (#2870)
     add 683143e26c OAK-11224: remove guava dependencies from oak-run-commons (#2896)
     add 95c0cbd6d4 OAK-11300 : remove unused common.hash export from oak-shaded-guava (#2894)
     add c335fcfc35 Merge branch 'trunk' into OAK-12172

No new revisions were added by this update.

Summary of changes:
 RELEASE-NOTES.txt                                  |  135 +-
 oak-api/pom.xml                                    |    2 +-
 oak-auth-external/pom.xml                          |    2 +-
 oak-auth-ldap/pom.xml                              |    4 +-
 oak-authorization-cug/pom.xml                      |    2 +-
 oak-authorization-principalbased/pom.xml           |    2 +-
 oak-benchmarks-elastic/pom.xml                     |    2 +-
 oak-benchmarks-lucene/pom.xml                      |    2 +-
 oak-benchmarks/pom.xml                             |    2 +-
 .../oak/benchmark/PersistentCacheTest.java         |    2 +-
 oak-blob-cloud-azure/pom.xml                       |  109 +-
 .../blobstorage/AbstractAzureBlobStoreBackend.java |   45 -
 .../blobstorage/AbstractAzureDataStoreService.java |    4 +-
 .../blobstorage/AzureBlobContainerProvider.java    |  284 ++-
 .../azure/blobstorage/AzureBlobStoreBackend.java   | 1065 ++++----
 .../cloud/azure/blobstorage/AzureConstants.java    |   82 +-
 .../cloud/azure/blobstorage/AzureDataStore.java    |   48 +-
 .../azure/blobstorage/AzureDataStoreService.java   |    3 +-
 .../blobstorage/AzureHttpRequestLoggingPolicy.java |   68 -
 .../cloud/azure/blobstorage/BlobSasHeaders.java    |  211 --
 .../oak/blob/cloud/azure/blobstorage/Utils.java    |  137 +-
 .../v8/AzureBlobContainerProviderV8.java           |  346 ---
 .../blobstorage/v8/AzureBlobStoreBackendV8.java    | 1279 ----------
 .../blob/cloud/azure/blobstorage/v8/UtilsV8.java   |  167 --
 .../AzureBlobContainerProviderTest.java            |  891 -------
 .../AzureBlobStoreBackendCompatibilityTest.java    |    7 +-
 .../blobstorage/AzureBlobStoreBackendTest.java     | 2413 +-----------------
 .../azure/blobstorage/AzureConstantsTest.java      |  243 --
 .../AzureDataRecordAccessProviderCDNTest.java      |    2 +-
 .../AzureDataRecordAccessProviderIT.java           |   10 +-
 .../AzureDataRecordAccessProviderTest.java         |   27 +-
 .../azure/blobstorage/AzureDataStoreTest.java      | 1529 ++++--------
 .../azure/blobstorage/AzureDataStoreUtils.java     |   29 +-
 .../AzureHttpRequestLoggingPolicyTest.java         |  390 ---
 .../cloud/azure/blobstorage/AzuriteDockerRule.java |   20 +-
 .../blob/cloud/azure/blobstorage/TestAzureDS.java  |   11 +-
 .../blobstorage/TestAzureDSWithSmallCache.java     |   10 +-
 .../azure/blobstorage/TestAzureDsCacheOff.java     |    8 +-
 .../blob/cloud/azure/blobstorage/UtilsTest.java    |  224 +-
 ...eBlobContainerProviderV8AuthenticationTest.java |  305 ---
 .../AzureBlobContainerProviderV8BuilderTest.java   |  227 --
 ...reBlobContainerProviderV8ComprehensiveTest.java |  531 ----
 ...ContainerProviderV8ContainerOperationsTest.java |  374 ---
 ...BlobContainerProviderV8ErrorConditionsTest.java |  327 ---
 ...lobContainerProviderV8HeaderManagementTest.java |  304 ---
 ...reBlobContainerProviderV8SasGenerationTest.java |  308 ---
 .../v8/AzureBlobContainerProviderV8Test.java       |  905 -------
 ...BlobContainerProviderV8TokenManagementTest.java |  361 ---
 .../v8/AzureBlobStoreBackendV8Test.java            | 2554 --------------------
 .../cloud/azure/blobstorage/v8/UtilsV8Test.java    |  529 ----
 .../src/test/resources/azure.properties            |    4 +-
 oak-blob-cloud/pom.xml                             |    9 +-
 .../blob/cloud/s3/AbstractS3DataStoreService.java  |    4 +-
 .../jackrabbit/oak/blob/cloud/s3/S3Backend.java    |   14 +-
 .../jackrabbit/oak/blob/cloud/s3/S3DataStore.java  |    6 +-
 .../blob/cloud/s3/S3BackendCompatibilityTest.java  |    2 +-
 .../cloud/s3/S3DataRecordAccessProviderIT.java     |    8 +-
 .../cloud/s3/S3DataRecordAccessProviderTest.java   |    8 +-
 .../oak/blob/cloud/s3/S3DataStoreUtils.java        |    2 +-
 .../oak/blob/cloud/s3/TestS3DSWithSmallCache.java  |    4 +-
 .../oak/blob/cloud/s3/TestS3DataStore.java         |    4 +-
 .../jackrabbit/oak/blob/cloud/s3/TestS3Ds.java     |    6 +-
 .../oak/blob/cloud/s3/TestS3DsCacheOff.java        |    3 +-
 oak-blob-plugins/pom.xml                           |    2 +-
 .../blob/AbstractSharedCachingDataStore.java       |   19 +-
 .../oak/plugins/blob/CachingBlobStore.java         |   34 +-
 .../oak/plugins/blob/CompositeDataStoreCache.java  |    7 +-
 .../blob/ConsolidatedDataStoreCacheStats.java      |    2 +-
 .../plugins/blob/DataStoreCacheUpgradeUtils.java   |   11 +-
 .../plugins/blob/ExtendedBlobStatsCollector.java   |    5 +-
 .../jackrabbit/oak/plugins/blob/FileCache.java     |  116 +-
 .../plugins/blob/MarkSweepGarbageCollector.java    |    4 +-
 .../oak/plugins/blob/SharedDataStore.java          |    6 +-
 .../oak/plugins/blob/UploadStagingCache.java       |    4 +-
 .../blob/datastore/AbstractDataStoreService.java   |    4 +-
 .../oak/plugins/blob/datastore/BlobIdTracker.java  |    2 +-
 .../plugins/blob/datastore/DataStoreBlobStore.java |   52 +-
 .../plugins/blob/datastore/DbDataStoreService.java |   58 -
 .../oak/plugins/blob/datastore/FSBackend.java      |   12 +-
 .../blob/datastore/FileDataStoreService.java       |    2 +-
 .../plugins/blob/datastore/InMemoryDataRecord.java |    6 +-
 .../plugins/blob/datastore/OakFileDataStore.java   |   10 +-
 .../blob/datastore/SharedDataStoreUtils.java       |    2 +-
 .../oak/plugins/blob/datastore/TypedDataStore.java |    7 +-
 .../directaccess/DataRecordAccessProvider.java     |    6 +-
 .../directaccess/DataRecordUploadToken.java        |    3 +-
 .../blob/datastore/directaccess/package-info.java  |    2 +-
 .../plugins/blob/serializer/FSBlobSerializer.java  |    4 +-
 .../oak/plugins/blob/blobstore.properties          |    4 +-
 .../plugins/blob/AbstractDataStoreCacheTest.java   |   10 +-
 .../oak/plugins/blob/CachingDataStoreTest.java     |    6 +-
 .../blob/ConsolidatedDataStoreStatsTest.java       |    4 +-
 .../jackrabbit/oak/plugins/blob/FileCacheTest.java |    6 +-
 ...aredDataStoreMarkSweepGarbageCollectorTest.java |    6 +-
 .../oak/plugins/blob/SharedDataStoreUtilsTest.java |    6 +-
 .../oak/plugins/blob/TimeLapsedDataStore.java      |   10 +-
 .../oak/plugins/blob/UploadStagingCacheTest.java   |    2 +-
 .../blob/datastore/AbstractDataStoreTest.java      |   13 +-
 .../datastore/BlobIdTrackerClusterSharedTest.java  |    2 +-
 .../plugins/blob/datastore/BlobIdTrackerTest.java  |    4 +-
 .../BlobStoreStatsTestableFileDataStore.java       |    6 +-
 .../blob/datastore/CachingFileDataStoreTest.java   |    4 +-
 .../datastore/DataStoreBlobStoreStatsTest.java     |    8 +-
 .../blob/datastore/DataStoreBlobStoreTest.java     |    8 +-
 .../blob/datastore/DataStoreServiceTest.java       |    4 +-
 .../oak/plugins/blob/datastore/DataStoreUtils.java |    6 +-
 .../oak/plugins/blob/datastore/FSBackendIT.java    |    8 +-
 .../blob/datastore/InMemoryDataRecordTest.java     |    2 +-
 .../blob/datastore/OakFileDataStoreTest.java       |    4 +-
 .../blob/datastore/SharedDataStoreTest.java        |    8 +-
 .../AbstractDataRecordAccessProviderIT.java        |    8 +-
 .../AbstractDataRecordAccessProviderTest.java      |    8 +-
 oak-blob/pom.xml                                   |   22 +-
 .../oak/spi/blob/AbstractDataRecord.java           |    4 +-
 .../oak/spi/blob/AbstractSharedBackend.java        |    4 +-
 .../jackrabbit/oak/spi/blob/SharedBackend.java     |   10 +-
 .../oak/spi/blob/data/AbstractBackend.java         |  191 ++
 .../spi/blob/{ => data}/AbstractDataRecord.java    |   51 +-
 .../oak/spi/blob/data/AbstractDataStore.java       |  148 ++
 .../oak/spi/blob/data/AsyncTouchCallback.java      |   31 +-
 .../oak/spi/blob/data/AsyncTouchResult.java        |   41 +-
 .../oak/spi/blob/data/AsyncUploadCache.java        |  352 +++
 .../oak/spi/blob/data/AsyncUploadCacheResult.java  |   71 +
 .../oak/spi/blob/data/AsyncUploadCallback.java     |   30 +-
 .../oak/spi/blob/data/AsyncUploadResult.java       |   63 +
 .../blob/data/AutoClosingLazyFileInputStream.java  |  141 ++
 .../jackrabbit/oak/spi/blob/data/Backend.java      |  187 ++
 .../spi/blob/data/BackendResourceAbortable.java    |   43 +
 .../oak/spi/blob/data/CachingDataRecord.java       |   63 +
 .../oak/spi/blob/data/CachingDataStore.java        | 1399 +++++++++++
 .../jackrabbit/oak/spi/blob/data/CachingFDS.java   |   52 +
 .../oak/spi/blob/data/DataIdentifier.java          |   81 +
 .../jackrabbit/oak/spi/blob/data/DataRecord.java   |   64 +
 .../jackrabbit/oak/spi/blob/data/DataStore.java    |  155 ++
 .../oak/spi/blob/data/DataStoreException.java      |   57 +
 .../jackrabbit/oak/spi/blob/data/FSBackend.java    |  478 ++++
 .../oak/spi/blob/data/FileDataRecord.java          |   72 +
 .../oak/spi/blob/data/FileDataStore.java           |  501 ++++
 .../jackrabbit/oak/spi/blob/data/LocalCache.java   |  669 +++++
 .../oak/spi/blob/data/MultiDataStore.java          |  712 ++++++
 .../oak/spi/blob/data/MultiDataStoreAware.java     |   31 +-
 .../oak/spi/blob/data}/package-info.java           |    5 +-
 .../jackrabbit/oak/spi/blob/fs/FileSystem.java     |  163 ++
 .../oak/spi/blob/fs/FileSystemException.java       |   50 +
 .../oak/spi/blob/fs/local/LocalFileSystem.java     |  274 +++
 .../oak/spi/blob/fs/local}/package-info.java       |    5 +-
 .../jackrabbit/oak/spi/blob/fs}/package-info.java  |    5 +-
 .../jackrabbit/oak/spi/blob/split/BlobIdSet.java   |    6 +-
 .../oak/spi/blob/stats/BlobStatsCollector.java     |   41 +-
 .../oak/spi/blob/data/InMemoryBackend.java         |  204 ++
 .../oak/spi/blob/data/InMemoryDataStore.java       |   50 +-
 .../oak/spi/blob/data}/RandomInputStream.java      |   27 +-
 .../oak/spi/blob/data/TestCachingFDS.java          |   85 +
 .../oak/spi/blob/data/TestCachingFDSCacheOff.java  |   52 +
 .../jackrabbit/oak/spi/blob/data/TestCaseBase.java |  249 +-
 .../oak/spi/blob/data/TestFileDataStore.java       |   71 +
 .../jackrabbit/oak/spi/blob/data/TestInMemDs.java  |   30 +-
 .../oak/spi/blob/data/TestInMemDsCacheOff.java     |   29 +-
 .../oak/spi/blob/data/TestLocalCache.java          |  405 ++++
 oak-commons/pom.xml                                |    2 +-
 oak-core-spi/pom.xml                               |    9 +-
 .../org/apache/jackrabbit/oak/cache/CacheLIRS.java |   30 +
 .../jackrabbit/oak/cache/EmpiricalWeigher.java     |   20 +-
 .../oak/cache/{OakCache.java => api/Cache.java}    |   49 +-
 .../jackrabbit/oak/cache/api/CacheBuilder.java     |  316 +++
 .../{OakCacheLoader.java => api/CacheLoader.java}  |   10 +-
 .../oak/cache/api/CacheStatsAdapter.java           |   93 +
 .../CacheStatsSnapshot.java}                       |   12 +-
 .../EvictionCause.java}                            |    6 +-
 .../EvictionListener.java}                         |    9 +-
 .../LoadingCache.java}                             |   35 +-
 .../cache/{OakWeigher.java => api/Weigher.java}    |   11 +-
 .../jackrabbit/oak/cache/api}/package-info.java    |    6 +-
 .../cache/impl/caffeine/CaffeineCacheAdapter.java  |  129 +
 .../impl/caffeine/CaffeineLoadingCacheAdapter.java |   32 +-
 .../oak/cache/impl/lirs/LirsCacheAdapter.java      |  140 ++
 .../cache/impl/lirs/LirsLoadingCacheAdapter.java   |   77 +
 .../oak/cache/CacheLIRSOakAdapterTest.java}        |   44 +-
 .../CacheStatsSnapshotTest.java}                   |   38 +-
 .../oak/cache/impl/CacheBuilderTest.java           |  269 +++
 .../oak/cache/{ => impl}/EmpiricalWeigherTest.java |    4 +-
 .../impl/caffeine/CaffeineCacheAdapterTest.java    |   70 +
 .../oak/cache/impl/lirs/LirsCacheAdapterTest.java  |   96 +
 .../impl/lirs/LirsLoadingCacheAdapterTest.java     |  110 +
 oak-core/pom.xml                                   |    2 +-
 .../main/java/org/apache/jackrabbit/oak/Oak.java   |   21 +-
 .../jackrabbit/oak/plugins/index/IndexName.java    |   31 +
 .../plugins/index/importer/AsyncLaneSwitcher.java  |   34 +-
 .../jackrabbit/oak/query/QueryEngineSettings.java  |   29 +-
 .../org/apache/jackrabbit/oak/query/QueryImpl.java |   18 +-
 .../jackrabbit/oak/query/UnionQueryImpl.java       |   20 +-
 .../jackrabbit/oak/query/ast/ColumnImpl.java       |   10 +-
 .../jackrabbit/oak/query/ast/FacetColumnImpl.java  |    6 +
 .../oak/plugins/index/IndexNameAdditionalTest.java |   77 +
 .../oak/plugins/index}/IndexNameTest.java          |    3 +-
 .../index/datastore/DataStoreTextWriterTest.java   |    4 +-
 .../index/importer/AsyncLaneSwitcherTest.java      |   27 +-
 .../oak/query/SQL2OptimiseQueryTest.java           |   10 +-
 .../jackrabbit/oak/query/SQL2ParserTest.java       |   81 +-
 .../jackrabbit/oak/query/UnionQueryTest.java       |  102 +-
 .../oak/query/ast/FacetColumnImplTest.java         |   41 +-
 oak-doc-railroad-macro/pom.xml                     |    2 +-
 oak-doc/pom.xml                                    |    2 +-
 oak-doc/src/site/markdown/query/lucene.md          |   27 +
 oak-doc/src/site/markdown/release-schedule.md      |   26 +-
 oak-doc/src/site/markdown/roadmap.md               |    6 +-
 oak-examples/pom.xml                               |    2 +-
 oak-examples/standalone/pom.xml                    |    2 +-
 oak-examples/webapp/pom.xml                        |    4 +-
 oak-exercise/pom.xml                               |    2 +-
 oak-http/pom.xml                                   |    2 +-
 oak-it-osgi/pom.xml                                |   21 +-
 ...e.jackrabbit.oak.jcr.osgi.RepositoryManager.cfg |   30 +-
 ...krabbit.oak.segment.SegmentNodeStoreService.cfg |   32 +-
 .../oak/osgi/IndexVersionSelectionIT.java          |  370 +++
 .../oak/osgi/IndexVersionSelectionTest.java        |  222 ++
 .../org/apache/jackrabbit/oak/osgi/OSGiIT.java     |   10 +-
 oak-it-osgi/test-bundles.xml                       |    4 +-
 oak-it/pom.xml                                     |    2 +-
 oak-jackrabbit-api/pom.xml                         |    2 +-
 oak-jcr/pom.xml                                    |    2 +-
 .../jackrabbit/oak/IndexCostEvaluationTest.java    |   27 +-
 .../oak/jcr/binary/AbstractBinaryAccessIT.java     |    2 +-
 .../oak/jcr/binary/BinaryAccessDSGCIT.java         |    2 +-
 .../fixtures/datastore/AzureDataStoreFixture.java  |   47 +-
 .../fixtures/datastore/DataStoreFixture.java       |    3 +-
 .../fixtures/datastore/FileDataStoreFixture.java   |    4 +-
 .../fixtures/datastore/S3DataStoreFixture.java     |    4 +-
 .../nodestore/DocumentMemoryNodeStoreFixture.java  |    2 +-
 .../nodestore/DocumentMongoNodeStoreFixture.java   |    2 +-
 .../nodestore/SegmentMemoryNodeStoreFixture.java   |    2 +-
 oak-lucene/pom.xml                                 |    6 +-
 .../plugins/index/lucene/LuceneIndexProvider.java  |   14 +-
 .../index/lucene/LuceneIndexProviderService.java   |   19 +-
 .../ActiveDeletedBlobCollectorFactory.java         |    2 +-
 .../oak/plugins/index/lucene/IndexPlannerTest.java |    5 +-
 .../plugins/index/lucene/LuceneBlobCacheTest.java  |    6 +-
 .../index/lucene/LuceneDocumentMakerTest.java      |   41 +
 .../index/lucene/LuceneIndexPlannerCommonTest.java |   70 +-
 .../lucene/LuceneWritesOnSegmentStatsTest.java     |    2 +-
 .../directory/AbstractActiveDeletedBlobTest.java   |    6 +-
 .../directory/ActiveDeletedBlobCollectionIT.java   |    2 +-
 .../directory/ActiveDeletedBlobCollectorTest.java  |    2 +-
 .../lucene/directory/OakDirectoryTestBase.java     |    2 +-
 .../dynamicBoost/LuceneDynamicBoostTest.java       |   36 +-
 oak-parent/pom.xml                                 |   39 +-
 oak-pojosr/pom.xml                                 |    2 +-
 oak-query-spi/pom.xml                              |    2 +-
 .../jackrabbit/oak/spi/query/QueryIndex.java       |    4 -
 .../jackrabbit/oak/spi/query/QueryLimits.java      |   10 +
 .../jackrabbit/oak/spi/query/package-info.java     |    2 +-
 oak-run-commons/pom.xml                            |    7 +-
 .../jackrabbit/oak/fixture/BlobStoreFixture.java   |    4 +-
 .../jackrabbit/oak/fixture/DataStoreUtils.java     |   36 +-
 .../jackrabbit/oak/fixture/SegmentTarFixture.java  |    2 +-
 .../indexer/document/DocumentStoreIndexerBase.java |    4 +-
 .../analysis/modules/DistinctBinarySize.java       |   54 +-
 .../plugins/document/DocumentNodeStoreHelper.java  |    2 +-
 .../oak/run/cli/BlobStoreFixtureProvider.java      |    6 +-
 .../jackrabbit/oak/run/cli/DummyDataStore.java     |   10 +-
 .../jackrabbit/oak/fixture/DataStoreUtilsTest.java |   66 +-
 .../flatfile/analysis/modules/BinarySizeTest.java  |   30 +
 .../oak/run/cli/ReadOnlyBlobStoreWrapperTest.java  |    2 +-
 oak-run-elastic/pom.xml                            |    3 +-
 oak-run/pom.xml                                    |    5 +-
 .../oak/console/commands/CdCommand.groovy          |    1 +
 .../jackrabbit/oak/run/DataStoreCommand.java       |    2 +-
 .../java/org/apache/jackrabbit/oak/run/Utils.java  |    4 +-
 .../apache/jackrabbit/oak/fixture/repository.xml   |    8 +-
 .../jackrabbit/oak/run/DataStoreCheckTest.java     |    3 +-
 .../oak/run/DataStoreCommandMetadataTest.java      |    4 +-
 .../jackrabbit/oak/run/DataStoreCommandTest.java   |    4 +-
 .../run/query/BinaryStorageWithBlobStoreTest.java  |    2 +-
 .../IndexRegexPropertyWithBinaryExcludedTest.java  |    2 +-
 oak-search-elastic/pom.xml                         |    8 +-
 .../index/elastic/ElasticIndexProviderService.java |   17 +
 .../index/elastic/ElasticIndexStatistics.java      |   77 +-
 .../index/elastic/query/ElasticIndexProvider.java  |   12 +-
 .../query/async/ElasticResultRowAsyncIterator.java |    7 +-
 .../index/elastic/util/ElasticIndexUtils.java      |   16 +
 .../elastic/ElasticIndexPlannerCommonTest.java     |   80 +-
 .../index/elastic/ElasticIndexStatisticsTest.java  |    2 +-
 .../inference/ElasticInferenceUsingConfigTest.java |  112 +
 .../expected/semantic_search_with_facets.json      |  102 +
 oak-search/pom.xml                                 |   10 +-
 .../plugins/index/search/ExtractedTextCache.java   |   20 +-
 .../index/search/FulltextIndexConstants.java       |   24 +
 .../oak/plugins/index/search/IndexDefinition.java  |   26 +
 .../plugins/index/search/PropertyDefinition.java   |   21 +
 .../search/spi/editor/FulltextDocumentMaker.java   |   98 +-
 .../index/search/spi/query/FulltextIndex.java      |   39 +
 .../search/spi/query/FulltextIndexPlanner.java     |   54 +-
 .../index/search/util/IndexDefinitionBuilder.java  |   10 +
 .../oak/plugins/index/DynamicBoostCommonTest.java  |   10 +-
 .../oak/plugins/index/IndexPlannerCommonTest.java  |  203 +-
 .../plugins/index/search/IndexDefinitionTest.java  |   26 +
 oak-security-spi/pom.xml                           |    2 +-
 oak-segment-aws/pom.xml                            |    2 +-
 oak-segment-azure/pom.xml                          |    2 +-
 oak-segment-remote/pom.xml                         |    2 +-
 oak-segment-tar/pom.xml                            |    2 +-
 .../jackrabbit/oak/segment/CacheWeights.java       |    2 +-
 .../oak/segment/CachingSegmentReader.java          |    6 +-
 .../apache/jackrabbit/oak/segment/ReaderCache.java |   25 +-
 .../apache/jackrabbit/oak/segment/RecordCache.java |   28 +-
 .../jackrabbit/oak/segment/SegmentCache.java       |   70 +-
 .../jackrabbit/oak/segment/file/FileStore.java     |   16 +-
 .../jackrabbit/oak/segment/file/PriorityCache.java |    2 +-
 .../oak/segment/BinariesInlineThresholdIT.java     |    2 +-
 .../jackrabbit/oak/segment/ExternalBlobIT.java     |    2 +-
 .../jackrabbit/oak/segment/SegmentCacheTest.java   |   16 +
 .../oak/segment/SegmentNodeStoreServiceTest.java   |    2 +-
 .../oak/segment/file/PriorityCacheTest.java        |    2 +-
 .../persistentcache/CachingPersistenceTest.java    |   21 +
 .../segment/standby/StandbySegmentBlobTestIT.java  |    2 +-
 .../standby/client/RemoteBlobProcessorTest.java    |    2 +-
 .../oak/segment/test/TemporaryBlobStore.java       |    4 +-
 oak-shaded-guava/pom.xml                           |    4 +-
 oak-store-composite/pom.xml                        |    7 +-
 .../oak/composite/it/CompositeTestSupport.java     |    2 +-
 oak-store-document/pom.xml                         |    7 +-
 .../document/CachingCommitValueResolver.java       |   10 +-
 .../jackrabbit/oak/plugins/document/DiffCache.java |    4 +-
 .../oak/plugins/document/DocumentNodeStore.java    |   58 +-
 .../plugins/document/DocumentNodeStoreBuilder.java |   90 +-
 .../plugins/document/DocumentNodeStoreService.java |    8 +-
 .../oak/plugins/document/DocumentStore.java        |    4 +-
 .../oak/plugins/document/JournalDiffLoader.java    |    4 +-
 .../oak/plugins/document/LocalDiffCache.java       |   13 +-
 .../oak/plugins/document/MemoryDiffCache.java      |   37 +-
 .../oak/plugins/document/NodeDocument.java         |    2 +-
 .../oak/plugins/document/TieredDiffCache.java      |   13 +-
 .../plugins/document/VersionGCRecommendations.java |    5 +-
 .../plugins/document/cache/ForwardingListener.java |   19 +-
 .../plugins/document/cache/NodeDocumentCache.java  |   48 +-
 .../document/memory/MemoryDocumentStore.java       |    4 +-
 .../plugins/document/mongo/MongoDocumentStore.java |   23 +-
 .../document/persistentCache/EvictionListener.java |    4 +-
 .../document/persistentCache/NodeCache.java        |   76 +-
 .../document/persistentCache/PersistentCache.java  |    2 +-
 .../oak/plugins/document/rdb/RDBDocumentStore.java |   69 +-
 .../plugins/document/rdb/RDBVersionGCSupport.java  |   20 +-
 .../util/LeaseCheckDocumentStoreWrapper.java       |    4 +-
 .../document/util/LoggingDocumentStoreWrapper.java |    8 +-
 .../util/SynchronizingDocumentStoreWrapper.java    |    4 +-
 .../util/ThrottlingDocumentStoreWrapper.java       |    4 +-
 .../document/util/TimingDocumentStoreWrapper.java  |    6 +-
 .../oak/plugins/document/AmnesiaDiffCache.java     |    4 +-
 .../oak/plugins/document/AsyncCacheTest.java       |    2 +-
 .../plugins/document/BasicDocumentStoreTest.java   |   27 +
 .../oak/plugins/document/BranchTest.java           |    3 +-
 .../plugins/document/CountingDocumentStore.java    |    4 +-
 .../oak/plugins/document/DisableCacheTest.java     |    5 +-
 .../plugins/document/DocumentMKBuilderTest.java    |    8 +-
 .../document/DocumentNodeStoreBuilderTest.java     |  101 +-
 .../document/DocumentNodeStoreDiffTest.java        |    8 +-
 .../oak/plugins/document/DocumentNodeStoreIT.java  |   16 +-
 .../oak/plugins/document/DocumentStoreWrapper.java |    4 +-
 .../plugins/document/JournalDiffLoaderTest.java    |    8 +-
 .../oak/plugins/document/LocalDiffCacheTest.java   |   16 +-
 .../oak/plugins/document/MemoryDiffCacheTest.java  |    4 +-
 .../oak/plugins/document/NodeStoreDiffTest.java    |    4 +-
 .../oak/plugins/document/PreviousDocCacheTest.java |   14 +-
 .../plugins/document/SharedBlobStoreGCTest.java    |    2 +-
 .../oak/plugins/document/Sweep2Test.java           |    2 +-
 .../oak/plugins/document/TieredDiffCacheTest.java  |    4 +-
 .../oak/plugins/document/VersionGCTest.java        |   30 +
 .../document/VersionGarbageCollectorIT.java        |    2 +-
 .../document/VersionGarbageCollectorLogTest.java   |   30 +-
 .../document/cache/CacheChangesTrackerTest.java    |   23 +-
 .../document/cache/NodeDocumentCacheTest.java      |   31 +-
 .../oak/plugins/document/mongo/JournalIT.java      |    4 +-
 .../document/mongo/MongoDBExceptionTest.java       |   36 +
 .../document/mongo/MongoRevisionGCTest.java        |    2 +-
 .../document/persistentCache/AsyncQueueTest.java   |   15 +-
 .../document/persistentCache/BroadcastTest.java    |    4 +-
 .../document/persistentCache/CacheTest.java        |    8 +-
 .../document/persistentCache/NodeCacheTest.java    |    6 +-
 .../PersistentCacheCompatibilityTest.java          |   19 +-
 oak-store-spi/pom.xml                              |    2 +-
 oak-upgrade/pom.xml                                |    2 +-
 .../oak/upgrade/cli/MigrationFactory.java          |    1 -
 .../ToJackrabbitDataStoreDelegatingBlobStore.java  |  102 +
 .../upgrade/cli/blob/AzureDataStoreFactory.java    |    2 +-
 .../oak/upgrade/cli/blob/FileDataStoreFactory.java |    2 +-
 .../oak/upgrade/cli/blob/S3DataStoreFactory.java   |    2 +-
 .../upgrade/cli/blob/SafeDataStoreBlobStore.java   |    8 +-
 pom.xml                                            |    3 +-
 specs/guava-cache-removal/PLAN.md                  | 1052 ++++++++
 specs/guava-cache-removal/SPEC.md                  |   29 +
 specs/guava-cache-removal/TASKS.md                 |  637 +++++
 391 files changed, 15317 insertions(+), 16864 deletions(-)
 delete mode 100644 oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AbstractAzureBlobStoreBackend.java
 delete mode 100644 oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureHttpRequestLoggingPolicy.java
 delete mode 100644 oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/BlobSasHeaders.java
 delete mode 100644 oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/v8/AzureBlobContainerProviderV8.java
 delete mode 100644 oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/v8/AzureBlobStoreBackendV8.java
 delete mode 100644 oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/v8/UtilsV8.java
 delete mode 100644 oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureBlobContainerProviderTest.java
 delete mode 100644 oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureConstantsTest.java
 delete mode 100644 oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureHttpRequestLoggingPolicyTest.java
 delete mode 100644 oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/v8/AzureBlobContainerProviderV8AuthenticationTest.java
 delete mode 100644 oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/v8/AzureBlobContainerProviderV8BuilderTest.java
 delete mode 100644 oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/v8/AzureBlobContainerProviderV8ComprehensiveTest.java
 delete mode 100644 oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/v8/AzureBlobContainerProviderV8ContainerOperationsTest.java
 delete mode 100644 oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/v8/AzureBlobContainerProviderV8ErrorConditionsTest.java
 delete mode 100644 oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/v8/AzureBlobContainerProviderV8HeaderManagementTest.java
 delete mode 100644 oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/v8/AzureBlobContainerProviderV8SasGenerationTest.java
 delete mode 100644 oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/v8/AzureBlobContainerProviderV8Test.java
 delete mode 100644 oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/v8/AzureBlobContainerProviderV8TokenManagementTest.java
 delete mode 100644 oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/v8/AzureBlobStoreBackendV8Test.java
 delete mode 100644 oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/v8/UtilsV8Test.java
 delete mode 100644 oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DbDataStoreService.java
 create mode 100644 oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/data/AbstractBackend.java
 copy oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/{ => data}/AbstractDataRecord.java (51%)
 create mode 100644 oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/data/AbstractDataStore.java
 copy oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/LeaseCheckMode.java => oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/data/AsyncTouchCallback.java (57%)
 copy oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/Order.java => oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/data/AsyncTouchResult.java (50%)
 create mode 100644 oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/data/AsyncUploadCache.java
 create mode 100644 oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/data/AsyncUploadCacheResult.java
 copy oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/LeaseCheckMode.java => oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/data/AsyncUploadCallback.java (57%)
 create mode 100644 oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/data/AsyncUploadResult.java
 create mode 100644 oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/data/AutoClosingLazyFileInputStream.java
 create mode 100644 oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/data/Backend.java
 create mode 100644 oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/data/BackendResourceAbortable.java
 create mode 100644 oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/data/CachingDataRecord.java
 create mode 100644 oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/data/CachingDataStore.java
 create mode 100644 oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/data/CachingFDS.java
 create mode 100644 oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/data/DataIdentifier.java
 create mode 100644 oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/data/DataRecord.java
 create mode 100644 oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/data/DataStore.java
 create mode 100644 oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/data/DataStoreException.java
 create mode 100644 oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/data/FSBackend.java
 create mode 100644 oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/data/FileDataRecord.java
 create mode 100644 oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/data/FileDataStore.java
 create mode 100644 oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/data/LocalCache.java
 create mode 100644 oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/data/MultiDataStore.java
 copy oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/user/DynamicMembershipService.java => oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/data/MultiDataStoreAware.java (50%)
 copy {oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/internal/graph => oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/data}/package-info.java (84%)
 mode change 100644 => 100755
 create mode 100644 oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/fs/FileSystem.java
 create mode 100644 oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/fs/FileSystemException.java
 create mode 100644 oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/fs/local/LocalFileSystem.java
 copy {oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/internal/graph => oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/fs/local}/package-info.java (84%)
 mode change 100644 => 100755
 copy {oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/internal/graph => oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/fs}/package-info.java (84%)
 mode change 100644 => 100755
 create mode 100644 oak-blob/src/test/java/org/apache/jackrabbit/oak/spi/blob/data/InMemoryBackend.java
 copy oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/tool/iotrace/IOTraceLogWriter.java => oak-blob/src/test/java/org/apache/jackrabbit/oak/spi/blob/data/InMemoryDataStore.java (52%)
 copy {oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/testing => oak-blob/src/test/java/org/apache/jackrabbit/oak/spi/blob/data}/RandomInputStream.java (88%)
 create mode 100644 oak-blob/src/test/java/org/apache/jackrabbit/oak/spi/blob/data/TestCachingFDS.java
 create mode 100644 oak-blob/src/test/java/org/apache/jackrabbit/oak/spi/blob/data/TestCachingFDSCacheOff.java
 copy oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/AbstractDataStoreTest.java => oak-blob/src/test/java/org/apache/jackrabbit/oak/spi/blob/data/TestCaseBase.java (77%)
 create mode 100644 oak-blob/src/test/java/org/apache/jackrabbit/oak/spi/blob/data/TestFileDataStore.java
 copy oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/s3/TestS3DsCacheOff.java => oak-blob/src/test/java/org/apache/jackrabbit/oak/spi/blob/data/TestInMemDs.java (60%)
 copy oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/s3/TestS3DsCacheOff.java => oak-blob/src/test/java/org/apache/jackrabbit/oak/spi/blob/data/TestInMemDsCacheOff.java (58%)
 create mode 100644 oak-blob/src/test/java/org/apache/jackrabbit/oak/spi/blob/data/TestLocalCache.java
 rename oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/{OakCache.java => api/Cache.java} (77%)
 create mode 100644 oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/api/CacheBuilder.java
 copy oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/{OakCacheLoader.java => api/CacheLoader.java} (79%)
 create mode 100644 oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/api/CacheStatsAdapter.java
 rename oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/{OakCacheStats.java => api/CacheStatsSnapshot.java} (90%)
 rename oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/{OakRemovalCause.java => api/EvictionCause.java} (89%)
 rename oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/{OakRemovalListener.java => api/EvictionListener.java} (81%)
 rename oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/{OakLoadingCache.java => api/LoadingCache.java} (59%)
 rename oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/{OakWeigher.java => api/Weigher.java} (77%)
 copy {oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/log => oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/api}/package-info.java (91%)
 create mode 100644 oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/impl/caffeine/CaffeineCacheAdapter.java
 copy oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/DefaultSyncResultImpl.java => oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/impl/caffeine/CaffeineLoadingCacheAdapter.java (54%)
 create mode 100644 oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/impl/lirs/LirsCacheAdapter.java
 create mode 100644 oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/impl/lirs/LirsLoadingCacheAdapter.java
 rename oak-core-spi/src/{main/java/org/apache/jackrabbit/oak/cache/OakCacheLoader.java => test/java/org/apache/jackrabbit/oak/cache/CacheLIRSOakAdapterTest.java} (52%)
 rename oak-core-spi/src/test/java/org/apache/jackrabbit/oak/cache/{OakCacheStatsTest.java => api/CacheStatsSnapshotTest.java} (77%)
 create mode 100644 oak-core-spi/src/test/java/org/apache/jackrabbit/oak/cache/impl/CacheBuilderTest.java
 rename oak-core-spi/src/test/java/org/apache/jackrabbit/oak/cache/{ => impl}/EmpiricalWeigherTest.java (95%)
 create mode 100644 oak-core-spi/src/test/java/org/apache/jackrabbit/oak/cache/impl/caffeine/CaffeineCacheAdapterTest.java
 create mode 100644 oak-core-spi/src/test/java/org/apache/jackrabbit/oak/cache/impl/lirs/LirsCacheAdapterTest.java
 create mode 100644 oak-core-spi/src/test/java/org/apache/jackrabbit/oak/cache/impl/lirs/LirsLoadingCacheAdapterTest.java
 create mode 100644 oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/IndexNameAdditionalTest.java
 rename {oak-search/src/test/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query => oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index}/IndexNameTest.java (98%)
 copy oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/LazyValueTest.java => oak-core/src/test/java/org/apache/jackrabbit/oak/query/ast/FacetColumnImplTest.java (53%)
 create mode 100644 oak-it-osgi/src/test/java/org/apache/jackrabbit/oak/osgi/IndexVersionSelectionIT.java
 create mode 100644 oak-it-osgi/src/test/java/org/apache/jackrabbit/oak/osgi/IndexVersionSelectionTest.java
 create mode 100644 oak-search-elastic/src/test/resources/inferenceUsingConfig/expected/semantic_search_with_facets.json
 create mode 100644 oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/ToJackrabbitDataStoreDelegatingBlobStore.java
 create mode 100644 specs/guava-cache-removal/PLAN.md
 create mode 100644 specs/guava-cache-removal/SPEC.md
 create mode 100644 specs/guava-cache-removal/TASKS.md