This is an automated email from the ASF dual-hosted git repository. stefanegli pushed a change to branch OAK-11184 in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
from ff7790cb50 OAK-11184 : resolve conflict with trunk add 634f8852d7 OAK-11198: commons: add helper class for argument checking add 91682086c7 OAK-11078: Remove usage of Guava checkArgument add 7cf329acf1 OAK-11078: Remove usage of Guava checkArgument add b8fd9d5fda OAK-11200 use the improved API of the JackrabbitNode if possible (#1797) add 9043302038 OAK-11193 : removed Sets.newIdentityHashSet add 8e72b238f4 Merge pull request #1796 from apache/OAK-11193 add 1122bd71af OAK-11197: improve statistical facets by introducing pre-computed random values (#1791) add 33e6c14b06 OAK-11191 : removed the usage of Lists.newLinkedList add f664d88004 Merge pull request #1801 from apache/OAK-11191 add 0b7ac04e51 OAK-11205 : removed usage of Maps.newTreeMap add 243ec60ac4 Merge pull request #1802 from apache/OAK-11205 add b05a7f8d2b OAK-11208 : added util to partition list based on given partition size add d8fec77d26 Merge pull request #1803 from apache/OAK-11208 add 4ec0bcfc6b OAK-11198: commons: add helper class for argument checking (#1793) add d30914a107 merge trunk add 58fed52ba6 merge trunk add 3b1b482cb4 OAK-11207 : removed usage of Lists.partition (#1806) add dadacb0fb6 Merge branch 'trunk' into OAK-11078b add 5262bdb2b0 Merge pull request #1794 from apache/OAK-11078b add 029be1dd12 OAK-11210: add util to convert iterable to arrayDequeu add dd386365a8 OAK-11210: revert package-info add aeceeb7f65 Merge pull request #1808 from t-rana/OAK-11210 add 0223eb6aa6 OAK-11204: Incorrect order with more than 2^16 segments in remote archive (#1800) add 6030a708ff OAK-11209: added state check util in oak-commons add b73d5ac327 Merge pull request #1809 from apache/OAK-11209 add 8b68b4630b OAK-10745 : added osgi configs for fullGc delayFactor & batch size add 9b71c144f6 OAK-10745 : fixed compilation error add f6f8ce792f OAK-10745 : added osgi config for full gc progress size as well add ce64679ff5 OAK-10745 : added check that fullGcBatchSize shouldn't be greater than fullGcProgressSize add a43bd81a1c OAK-10745 : added full gc delay on each batch rather than each cycle add 520f1f7f6c OAK-10745 : updated description for fullGCDelayFactor add 1b82336e91 Merge pull request #1795 from apache/OAK-10745 add 71fa98d985 OAK-11198: commons: add helper class for argument checking - fix missing export of new package (otherwise OSGi problems) add 00770f6637 OAK-11157 - Force throwing exception if parallel download tasks return with failure. (#1754) add d06d9b6221 OAK-11206: remove usage of Queues.newArrayDeque add e087343a60 Merge remote-tracking branch 'upstream/trunk' into OAK-11206 add c45a309615 OAK-11206: merge trunk add d7396a55c3 Merge remote-tracking branch 'upstream/trunk' into OAK-11206 add 0f7b1d6f2a OAK-11206: revert line break add f57e3456bf OAK-11206: removed Main file add 3d3e9105a5 Merge pull request #1807 from t-rana/OAK-11206 add ddf259361e OAK-11203 : added support for delayFactor, progress/batch size override from oak-run for full GC (#1814) add 03bd85b662 OAK-11104 : removed usage of Preconditions.checkState add 0a8bfa5bc9 Merge pull request #1812 from apache/OAK-11104 add e14592cbdf OAK-11211: remove usage of Queues.newArrayBlockingQueue add da0ca2acc8 Merge pull request #1810 from t-rana/OAK-11211 add 2031e448e8 OAK-11214 Support 'IN' restrictions for functions (#1813) add 88bc5a6fb5 OAK-11218: Array containing empty String should parse as empty Array add 487699a945 OAK-11213 : removed usage of Guava Queues.newConcurrentLinkedQueue add d42d3d9e68 Merge pull request #1816 from apache/OAK-11213 add 7c6061fb1c OAK-11158 - indexing-job/downloader - Move the conversion of Mongo responses to NodeDocument from the download to the transform threads (#1753) add c826eba270 OAK-10957: oak-run datastorecheck broken for AWS since 1.22.14 (#1819) add 043eaecf9e OAK-11188: added api to create treeSet from iterables - undo unneeded package version bump add c053cef6f8 OAK-11222: Remove usage of Guava newArrayList (no param variant) (#1820) add 3a41289834 OAK-11213 : removed usage of Guava Queues.newConcurrentLinkedQueue - remove unused imports add 20763dc668 OAK-10957: oak-run datastorecheck broken for AWS since 1.22.14 (#1821) add 5f6cf18c1e OAK-11101: Remove usage of Guava ImmutableSet.of() - remove unused imports add eed613be5e OAK-11224: remove guava dependencies from POMs (ongoing) - oak-http add 2d33df6230 OAK-11225: remove unused Guava related imports (ongoing) add ad0edfd4dc OAK-11222: Remove usage of Guava newArrayList (no param variant) add ba06500f6e OAK-11228: remove usage of newArrayListWithExpectedSize (#1823) add 5b958d0893 OAK-11230: CollectionUtils: relax generics constraints on iterator-consuming methods (#1825) add d5dc175955 OAK-11229: remove usage of newArrayList(Iterable/Iterator) (#1826) add 1de4df1333 OAK-11026: Adding cache to external principals (#1752) add f9bc1b272a OAK-11229: remove usage of newArrayList(Iterable/Iterator) add 3104fb01dc Merge branch 'OAK-11229' into trunk add 08b2c7f895 OAK-11171: Added cached external membership benchmarks add ac04e902df OAK-11235 Tree store path iterator filter: nextIncludedPath bugfix (#1831) add 3a21d2236e OAK-10845 : temporarily adding more output to failure message to help narrowing down flaky tests (#1830) add 643782bb1e OAK-11234 - Use virtual clock on Pipelined IT tests. (#1829) add a7057be4cd OAK-11237: Document caching external principal (#1832) add f717b9706a OAK-11229: remove usage of newArrayList(Iterable/Iterator) (#1833) add c3e7c2055c OAK-11238 - De-duplicate entries when writing sorted intermediate batches of node state entries. (#1835) add 76a2d71110 OAK-11229: remove usage of newArrayList(Iterable/Iterator) add 18cbe9bccb [OAK-10953] (#1646) add fa5ce6f278 OAK-11063: introduced inference service (#1804) add 14ca2b2221 OAK-11237: Fix version reference in documentation (#1834) add 2a93e9fbb2 OAK-11239: Remove usage of Guava newArrayList(vargargs) in test classes (#1836) add 0ebed692fc OAK-11225: remove unused Guava related imports (ongoing) add c06bb974ed OAK-11239: Remove usage of Guava newArrayList(vargargs) in test classes add 8c36165e92 OAK-11239: Remove usage of Guava newArrayList(vargargs) in test classes add 2a2933e7b4 OAK-11245: (oak-search-elastic) fix java.net.http wiring (#1840) add 280dccf312 OAK-11232 - indexing-job - Simplify download from Mongo logic by traversing only by _modified instead of (_modified, _id) (#1827) add 72ed505b57 Merge branch 'trunk' into OAK-11184 No new revisions were added by this update. Summary of changes: .../external/impl/ExternalIdentityConstants.java | 1 - .../impl/principal/CachedGroupPrincipal.java | 113 +++ .../external/impl/principal/DynamicGroupUtil.java | 7 +- .../principal/ExternalGroupPrincipalProvider.java | 94 +- .../principal/ExternalPrincipalConfiguration.java | 2 +- .../principal/ExternalUserValidatorProvider.java | 2 +- .../external/basic/DefaultSyncContextTest.java | 4 +- .../external/impl/AutoMembershipTest.java | 4 +- .../external/impl/DynamicAutomembershipTest.java | 4 +- .../external/impl/DynamicGroupsTest.java | 2 +- .../external/impl/jmx/DelegateeTest.java | 2 +- .../impl/principal/AutoMembershipProviderTest.java | 4 +- .../impl/principal/CachedGroupPrincipalTest.java | 190 ++++ .../impl/principal/DynamicGroupValidatorTest.java | 8 +- .../ExternalAuthorizableActionProviderTest.java | 2 +- .../ExternalGroupPrincipalProviderDMTest.java | 4 +- .../ExternalGroupPrincipalProviderTest.java | 26 + ...xternalGroupPrincipalProviderWithCacheTest.java | 214 ++++ .../principal/ExternalIdentityValidatorTest.java | 4 +- .../ExternalLoginCachedDynamicMembershipTest.java | 196 ++++ .../impl/principal/ExternalUserValidatorTest.java | 4 +- .../PrincipalProviderAutoMembershipTest.java | 2 +- .../impl/principal/SystemPrincipalConfigTest.java | 2 +- .../ldap/impl/LdapIdentityProviderUseSSLTest.java | 4 +- .../ldap/impl/LookupOnValidateTest.java | 4 +- .../authorization/cug/impl/CugConfiguration.java | 1 - .../cug/impl/CugPermissionProvider.java | 2 +- .../security/authorization/cug/impl/CugUtil.java | 2 +- .../authorization/cug/impl/NestedCugHook.java | 5 +- .../authorization/cug/impl/AbstractCugTest.java | 4 +- .../principalbased/impl/FilterProviderImpl.java | 5 +- .../principalbased/impl/MgrProviderImpl.java | 5 +- .../impl/PrincipalBasedAccessControlManager.java | 3 +- .../impl/PrincipalPolicyImporter.java | 18 +- .../impl/PrincipalPolicyValidatorProvider.java | 4 +- .../jackrabbit/oak/benchmark/HybridIndexTest.java | 7 +- .../oak/benchmark/util/OakLuceneIndexUtils.java | 5 +- .../benchmarks/search/AggregateNodeSearcher.java | 5 +- .../suites/ScalabilityBlobSearchSuite.java | 8 +- .../suites/ScalabilityNodeRelationshipSuite.java | 7 +- .../scalability/suites/ScalabilityNodeSuite.java | 10 +- oak-benchmarks/pom.xml | 1 + .../jackrabbit/oak/benchmark/BenchmarkOptions.java | 30 +- .../jackrabbit/oak/benchmark/BenchmarkRunner.java | 18 +- .../oak/benchmark/ConcurrentFileWriteTest.java | 5 +- .../jackrabbit/oak/benchmark/FacetSearchTest.java | 6 +- .../jackrabbit/oak/benchmark/GetURITest.java | 4 +- .../IsCheckedOutAddMixinSetPropertyTest.java | 5 +- .../jackrabbit/oak/benchmark/LoginSystemTest.java | 1 - .../jackrabbit/oak/benchmark/ObservationTest.java | 12 +- .../jackrabbit/oak/benchmark/SearchTest.java | 6 +- .../external/AbstractExternalTest.java | 38 +- ...ginTest.java => CachedMembershipLoginTest.java} | 109 ++- .../authentication/external/ExternalLoginTest.java | 7 +- .../external/PrincipalNameResolutionTest.java | 2 +- .../HasPermissionHasItemGetItemTest.java | 5 +- .../oak/benchmark/util/OakIndexUtils.java | 16 +- .../oak/benchmark/wikipedia/WikipediaImport.java | 4 +- .../oak/scalability/ScalabilityRunner.java | 8 +- .../benchmarks/search/ConcurrentReader.java | 6 +- .../suites/ScalabilityAbstractSuite.java | 28 +- .../azure/blobstorage/AzureBlobStoreBackend.java | 9 +- .../azure/blobstorage/AzureDataStoreTest.java | 26 +- .../jackrabbit/oak/blob/cloud/s3/S3Backend.java | 13 +- .../oak/blob/cloud/s3/TestS3DataStore.java | 15 +- .../jackrabbit/oak/blob/cloud/s3/TestS3Ds.java | 4 +- .../blob/AbstractSharedCachingDataStore.java | 2 +- .../oak/plugins/blob/CompositeDataStoreCache.java | 2 +- .../blob/ConsolidatedDataStoreCacheStats.java | 7 +- .../plugins/blob/MarkSweepGarbageCollector.java | 9 +- .../oak/plugins/blob/UploadStagingCache.java | 4 +- .../oak/plugins/blob/datastore/BlobIdTracker.java | 4 +- .../plugins/blob/datastore/DataStoreBlobStore.java | 8 +- .../oak/plugins/blob/datastore/FSBackend.java | 2 +- .../plugins/blob/datastore/OakFileDataStore.java | 2 +- .../plugins/blob/AbstractDataStoreCacheTest.java | 4 +- .../jackrabbit/oak/plugins/blob/BlobGCTest.java | 10 +- .../blob/ConsolidatedDataStoreStatsTest.java | 35 +- .../oak/plugins/blob/SharedDataStoreUtilsTest.java | 6 +- .../oak/plugins/blob/TimeLapsedDataStore.java | 6 +- .../oak/plugins/blob/UploadStagingCacheTest.java | 8 +- .../blob/datastore/AbstractDataStoreTest.java | 2 - .../datastore/ActiveDeletionTrackerStoreTest.java | 12 +- .../datastore/BlobIdTrackerClusterSharedTest.java | 5 +- .../blob/datastore/BlobIdTrackerStoreTest.java | 4 +- .../plugins/blob/datastore/BlobIdTrackerTest.java | 4 +- .../datastore/DataStoreBlobStoreStatsTest.java | 4 +- .../blob/datastore/DataStoreBlobStoreTest.java | 2 +- .../oak/plugins/blob/datastore/FSBackendIT.java | 5 +- .../blob/datastore/SharedDataStoreTest.java | 20 +- .../AbstractDataRecordAccessProviderIT.java | 4 +- .../AbstractDataRecordAccessProviderTest.java | 12 +- .../DataRecordDownloadOptionsTest.java | 16 +- .../jackrabbit/oak/spi/blob/AbstractBlobStore.java | 2 +- .../oak/spi/blob/AbstractBlobStoreTest.java | 6 +- oak-commons/pom.xml | 1 + .../apache/jackrabbit/oak/commons/StringUtils.java | 2 +- .../oak/commons/TimeDurationFormatter.java | 2 - .../oak/commons/collections/CollectionUtils.java | 39 +- .../oak/commons/collections/package-info.java | 2 +- .../oak/commons/conditions/Validate.java | 189 ++++ .../{collections => conditions}/package-info.java | 6 +- .../jackrabbit/oak/commons/sort/EscapeUtils.java | 5 +- .../oak/commons/sort/ExternalSortByteArray.java | 4 +- .../jackrabbit/oak/commons/FileIOUtilsTest.java | 28 +- .../commons/FileLineDifferenceIteratorTest.java | 10 +- .../apache/jackrabbit/oak/commons/IOUtilsTest.java | 12 +- .../commons/collections/CollectionUtilsTest.java | 39 + .../oak/commons/conditions/ValidateTest.java | 182 ++++ .../oak/commons/junit/LogCustomizer.java | 5 +- .../oak/commons/sort/StringSortTest.java | 5 +- .../apache/jackrabbit/oak/osgi/OsgiWhiteboard.java | 2 +- .../oak/spi/mount/SimpleMountInfoProvider.java | 10 +- .../oak/spi/version/VersionConstants.java | 1 - .../oak/spi/whiteboard/AbstractServiceTracker.java | 4 +- .../oak/spi/whiteboard/DefaultWhiteboard.java | 6 +- .../main/java/org/apache/jackrabbit/oak/Oak.java | 30 +- .../jackrabbit/oak/core/ContentSessionImpl.java | 5 +- .../apache/jackrabbit/oak/core/ImmutableRoot.java | 2 +- .../apache/jackrabbit/oak/core/MutableRoot.java | 3 +- .../apache/jackrabbit/oak/core/MutableTree.java | 2 +- .../jackrabbit/oak/core/SecureNodeBuilder.java | 4 +- .../oak/management/RepositoryManager.java | 4 +- .../oak/namepath/impl/GlobalNameMapper.java | 2 +- .../oak/namepath/impl/LocalNameMapper.java | 2 +- .../plugins/commit/AnnotatingConflictHandler.java | 4 +- .../oak/plugins/cow/BranchNodeStore.java | 9 +- .../oak/plugins/identifier/IdentifierManager.java | 2 +- .../oak/plugins/index/AsyncIndexUpdate.java | 6 +- .../oak/plugins/index/AsyncIndexerService.java | 7 +- .../index/CompositeIndexEditorProvider.java | 4 +- .../oak/plugins/index/IndexMBeanRegistration.java | 6 +- .../oak/plugins/index/IndexPathServiceImpl.java | 4 +- .../jackrabbit/oak/plugins/index/IndexUpdate.java | 7 +- .../jackrabbit/oak/plugins/index/IndexUtils.java | 2 +- .../oak/plugins/index/MetricsFormatter.java | 10 +- .../index/aggregate/SimpleNodeAggregator.java | 4 +- .../oak/plugins/index/cursor/Cursors.java | 2 +- .../oak/plugins/index/cursor/TraversingCursor.java | 9 +- .../datastore/DataStoreTextProviderService.java | 2 +- .../index/datastore/DataStoreTextWriter.java | 6 +- .../plugins/index/importer/AsyncLaneSwitcher.java | 4 +- .../index/importer/IndexDefinitionUpdater.java | 6 +- .../oak/plugins/index/importer/IndexImporter.java | 2 +- .../oak/plugins/index/importer/IndexerInfo.java | 2 +- .../oak/plugins/index/property/Multiplexers.java | 3 - .../property/OrderedPropertyIndexProvider.java | 10 +- .../oak/plugins/index/property/PropertyIndex.java | 4 +- .../index/property/PropertyIndexInfoProvider.java | 2 +- .../index/property/PropertyIndexLookup.java | 4 +- .../plugins/index/property/PropertyIndexPlan.java | 10 +- .../strategy/ContentMirrorStoreStrategy.java | 12 +- .../plugins/index/reference/ReferenceIndex.java | 6 +- .../oak/plugins/itemsave/ItemSaveValidator.java | 4 +- .../jackrabbit/oak/plugins/lock/LockConstants.java | 1 - .../plugins/metric/StatisticsProviderFactory.java | 7 +- .../oak/plugins/migration/FilteringNodeState.java | 2 - .../oak/plugins/name/NamespaceEditor.java | 1 - .../jackrabbit/oak/plugins/name/Namespaces.java | 5 +- .../plugins/nodetype/EffectiveNodeTypeImpl.java | 7 +- .../oak/plugins/nodetype/NodeDefinitionImpl.java | 6 +- .../oak/plugins/nodetype/NodeTypeImpl.java | 22 +- .../plugins/nodetype/ReadOnlyNodeTypeManager.java | 8 +- .../oak/plugins/nodetype/TypeEditor.java | 10 +- .../oak/plugins/nodetype/TypeRegistration.java | 3 +- .../nodetype/write/NodeTypeTemplateImpl.java | 6 +- .../oak/plugins/observation/EventGenerator.java | 9 +- .../oak/plugins/observation/NodeObserver.java | 2 - .../plugins/observation/filter/FilterBuilder.java | 17 +- .../oak/plugins/observation/filter/Filters.java | 5 +- .../observation/filter/GlobbingPathHelper.java | 4 +- .../oak/plugins/tree/factories/TreeFactory.java | 2 +- .../oak/plugins/tree/impl/AbstractMutableTree.java | 2 +- .../oak/plugins/tree/impl/AbstractTree.java | 5 +- .../oak/plugins/tree/impl/TreeProviderService.java | 2 +- .../plugins/version/ReadWriteVersionManager.java | 10 +- .../oak/plugins/version/VersionHook.java | 4 +- .../oak/plugins/version/VersionableState.java | 4 +- .../jackrabbit/oak/query/QueryEngineSettings.java | 13 + .../org/apache/jackrabbit/oak/query/QueryImpl.java | 6 +- .../oak/query/SimpleExcerptProvider.java | 5 +- .../apache/jackrabbit/oak/query/ast/AndImpl.java | 9 +- .../apache/jackrabbit/oak/query/ast/InImpl.java | 4 +- .../jackrabbit/oak/query/ast/LowerCaseImpl.java | 7 + .../oak/query/ast/NodeLocalNameImpl.java | 8 +- .../jackrabbit/oak/query/ast/NodeNameImpl.java | 8 +- .../oak/query/ast/NotFullTextSearchImpl.java | 1 - .../apache/jackrabbit/oak/query/ast/OrImpl.java | 19 +- .../apache/jackrabbit/oak/query/ast/PathImpl.java | 8 +- .../jackrabbit/oak/query/ast/SelectorImpl.java | 63 +- .../jackrabbit/oak/query/ast/UpperCaseImpl.java | 7 + .../token/TokenValidatorProvider.java | 5 +- .../security/authorization/accesscontrol/ACL.java | 4 +- .../accesscontrol/AccessControlManagerImpl.java | 3 +- .../composite/CompositeAccessControlManager.java | 4 +- .../permission/MountPermissionProvider.java | 5 +- .../permission/PermissionCacheBuilder.java | 5 +- .../permission/VersionTreePermission.java | 2 +- .../restriction/PrincipalRestrictionProvider.java | 1 - .../internal/SecurityProviderRegistration.java | 12 +- .../oak/security/user/CacheConfiguration.java | 103 ++ .../oak/security/user/CacheConflictHandler.java | 5 +- .../oak/security/user/CacheValidatorProvider.java | 27 +- .../user/CachedPrincipalMembershipReader.java | 182 ++-- .../oak/security/user/PasswordHistory.java | 4 +- .../security/user/PrincipalMembershipReader.java | 72 -- .../oak/security/user/UserConfigurationImpl.java | 19 +- .../jackrabbit/oak/security/user/UserImporter.java | 6 +- .../oak/security/user/UserInitializer.java | 4 +- .../oak/security/user/UserManagerImpl.java | 2 +- .../oak/security/user/UserPrincipalProvider.java | 60 +- .../jackrabbit/oak/AbstractSecurityTest.java | 5 +- .../java/org/apache/jackrabbit/oak/OakTest.java | 4 +- .../oak/plugins/index/AsyncIndexUpdateTest.java | 4 +- .../plugins/index/IndexInfoServiceImplTest.java | 6 +- .../plugins/index/IndexPathServiceImplTest.java | 7 +- .../oak/plugins/index/IndexUtilsTest.java | 8 +- .../index/aggregate/SimpleNodeAggregatorTest.java | 44 +- .../inventory/IndexDefinitionPrinterTest.java | 7 +- .../index/property/MultiPropertyOrTest.java | 7 +- .../index/property/PropertyIndexLookupTest.java | 4 +- .../property/SinglePropertyIndexQueryTests.java | 18 +- .../plugins/index/property/ValuePatternTest.java | 7 +- .../index/property/jmx/PropertyIndexStatsTest.java | 2 +- .../index/reference/ReferenceIndexTest.java | 5 +- .../metric/MetricStatisticsProviderTest.java | 8 +- .../plugins/migration/FilteringNodeStateTest.java | 7 +- .../nodetype/write/NodeTypeRegistryTest.java | 2 +- .../oak/plugins/tree/impl/ImmutableTreeTest.java | 10 +- .../jackrabbit/oak/query/AbstractQueryTest.java | 2 +- .../apache/jackrabbit/oak/query/FilterTest.java | 33 + .../apache/jackrabbit/oak/query/IteratorsTest.java | 5 +- .../query/OrQueryOrderLimitWithoutIndexTest.java | 3 +- .../jackrabbit/oak/query/UnionQueryTest.java | 10 +- .../authorization/AuthorizationContextTest.java | 2 +- .../authorization/accesscontrol/ACLTest.java | 3 +- .../AccessControlImporterBaseTest.java | 4 +- .../AccessControlManagerImplTest.java | 2 +- .../AccessControlWithUnknownPrincipalTest.java | 4 +- .../authorization/accesscontrol/EntryTest.java | 3 +- .../accesscontrol/ReadPolicyTest.java | 4 +- .../CompositePermissionProviderOrTest.java | 4 +- .../oak/security/principal/EveryoneFilterTest.java | 4 +- .../security/user/AuthorizableIteratorTest.java | 7 +- .../oak/security/user/CacheConfigurationTest.java | 121 +++ .../security/user/CacheConflictHandlerTest.java | 62 +- .../security/user/CacheValidatorProviderTest.java | 59 +- .../security/user/CachedGroupPrincipalTest.java | 3 +- .../user/CachedPrincipalMembershipReaderTest.java | 420 ++++++-- .../user/PrincipalMembershipReaderTest.java | 130 --- .../user/RepMembersConflictHandlerTest.java | 2 +- .../security/user/UserConfigurationImplTest.java | 7 +- .../oak/security/user/UserImporterBaseTest.java | 5 +- .../oak/security/user/UserImporterTest.java | 2 + .../security/user/UserPrincipalProviderTest.java | 12 + .../user/UserPrincipalProviderWithCacheTest.java | 61 +- .../user/autosave/AuthorizableWrapperTest.java | 7 +- .../oak/spi/commit/BackgroundObserverTest.java | 11 +- .../oak/spi/whiteboard/WhiteboardUtilsTest.java | 5 +- .../security/authentication/external/dynamic.md | 16 +- .../src/site/markdown/security/principal/cache.md | 26 +- .../security/principal/principalprovider.md | 2 +- .../oak/standalone/RepositoryInitializer.java | 7 +- .../external/CustomExternalIdentityProvider.java | 1 - .../predefined/PredefinedPermissionProvider.java | 2 +- .../ReadOnlyAuthorizationConfiguration.java | 1 - .../simplifiedroles/ThreeRolesConstants.java | 1 - oak-http/pom.xml | 5 - .../apache/jackrabbit/oak/http/AcceptHeader.java | 2 +- .../java/org/apache/jackrabbit/oak/OakAssert.java | 5 +- .../org/apache/jackrabbit/oak/api/TreeTest.java | 4 +- .../oak/composite/AtomicCompositeMergeTest.java | 4 +- .../CompositeNodeStoreClusterObservationTest.java | 5 +- .../oak/composite/CompositeNodeStoreTest.java | 12 +- .../blob/datastore/DataStoreTrackerGCTest.java | 37 +- .../apache/jackrabbit/api/JackrabbitSession.java | 3 + .../java/org/apache/jackrabbit/oak/jcr/Jcr.java | 4 +- .../oak/jcr/delegate/AuthorizableDelegator.java | 2 +- .../oak/jcr/delegate/ImpersonationDelegator.java | 2 +- .../jackrabbit/oak/jcr/delegate/NodeDelegate.java | 3 +- .../oak/jcr/delegate/UserManagerDelegator.java | 2 +- .../oak/jcr/delegate/VersionDelegate.java | 5 +- .../oak/jcr/observation/ChangeProcessor.java | 10 +- .../observation/ConsolidatedListenerMBeanImpl.java | 5 +- .../oak/jcr/observation/EventFactory.java | 4 +- .../jackrabbit/oak/jcr/observation/EventQueue.java | 3 +- .../oak/jcr/observation/OakEventFilterImpl.java | 4 +- .../jcr/observation/ObservationManagerImpl.java | 9 +- .../jackrabbit/oak/jcr/session/NodeImpl.java | 3 +- .../oak/jcr/session/RefreshStrategy.java | 3 +- .../oak/jcr/version/ReadWriteVersionManager.java | 6 +- .../oak/jcr/xml/DocViewImportHandler.java | 3 - .../jackrabbit/oak/jcr/xml/ImporterImpl.java | 3 +- .../jackrabbit/oak/jcr/AtomicCounterClusterIT.java | 55 +- .../apache/jackrabbit/oak/jcr/AtomicCounterIT.java | 25 +- .../oak/jcr/ConcurrentIndexUpdateIT.java | 4 +- .../jackrabbit/oak/jcr/ConcurrentReadIT.java | 7 +- .../jackrabbit/oak/jcr/JackrabbitNodeTest.java | 4 +- .../jackrabbit/oak/jcr/LargeOperationIT.java | 18 +- .../jackrabbit/oak/jcr/ObservationQueueTest.java | 18 +- .../jackrabbit/oak/jcr/ReferenceBinaryIT.java | 17 +- .../apache/jackrabbit/oak/jcr/RepositoryTest.java | 6 +- .../oak/jcr/binary/BinaryAccessDSGCIT.java | 8 +- .../oak/jcr/binary/BinaryAccessUnsupportedIT.java | 4 +- .../oak/jcr/cluster/ObservationTest.java | 6 +- .../oak/jcr/observation/ObservationTest.java | 6 +- .../security/authorization/UserManagementTest.java | 2 +- .../jcr/security/user/FindAuthorizablesTest.java | 2 +- .../user/GroupImportWithActionsBestEffortTest.java | 5 +- .../security/user/GroupImportWithActionsTest.java | 6 +- .../oak/jcr/security/user/UserQueryTest.java | 2 +- .../index/lucene/IndexAugmentorFactory.java | 12 +- .../oak/plugins/index/lucene/IndexCopier.java | 4 +- .../oak/plugins/index/lucene/LuceneIndex.java | 13 +- .../index/lucene/LuceneIndexEditorProvider.java | 9 +- .../index/lucene/LuceneIndexInfoProvider.java | 4 +- .../plugins/index/lucene/LuceneIndexMBeanImpl.java | 2 +- .../index/lucene/LuceneIndexNodeManager.java | 8 +- .../index/lucene/LuceneIndexProviderService.java | 7 +- .../plugins/index/lucene/LucenePropertyIndex.java | 16 +- .../index/lucene/NodeStateAnalyzerFactory.java | 9 +- .../ActiveDeletedBlobCollectorFactory.java | 6 +- .../lucene/directory/CopyOnReadDirectory.java | 5 +- .../lucene/directory/CopyOnWriteDirectory.java | 2 +- .../index/lucene/directory/IndexRootDirectory.java | 16 +- .../index/lucene/directory/LocalIndexDir.java | 4 +- .../lucene/directory/OakBufferedIndexFile.java | 15 +- .../index/lucene/directory/OakDirectory.java | 2 +- .../plugins/index/lucene/hybrid/DocumentQueue.java | 11 +- .../oak/plugins/index/lucene/hybrid/NRTIndex.java | 10 +- .../index/lucene/hybrid/NRTIndexFactory.java | 2 +- .../index/lucene/property/PropertyIndexQuery.java | 4 +- .../index/lucene/util/LuceneIndexHelper.java | 2 +- .../plugins/index/lucene/util/TapeSampling.java | 4 +- .../lucene/writer/DefaultIndexWriterFactory.java | 5 +- .../CompositeNodeStoreLuceneIndexTest.java | 8 +- .../composite/CompositeNodeStoreQueryTestBase.java | 7 +- .../jackrabbit/oak/composite/PrefetchTest.java | 19 +- .../oak/jcr/LuceneOakRepositoryStub.java | 4 +- .../jackrabbit/oak/jcr/query/SpellcheckTest.java | 4 +- .../jackrabbit/oak/jcr/query/SuggestTest.java | 5 +- .../ActiveDeletedBlobCollectorMBeanImplTest.java | 27 +- .../lucene/AsyncIndexStatsUpdateCallbackTest.java | 4 +- .../lucene/AsyncIndexUpdateCorruptMarkingTest.java | 5 +- .../index/lucene/IndexAugmentorFactoryTest.java | 2 +- .../oak/plugins/index/lucene/IndexCopierTest.java | 9 +- .../oak/plugins/index/lucene/IndexPlannerTest.java | 6 +- .../plugins/index/lucene/IndexStatisticsTest.java | 6 +- .../lucene/IndexlaneRepositoryTraversalTest.java | 6 +- .../oak/plugins/index/lucene/InvalidIndexTest.java | 3 +- .../index/lucene/LuceneIndexAggregationTest.java | 6 +- .../index/lucene/LuceneIndexAugmentTest.java | 6 +- .../index/lucene/LuceneIndexPlannerCommonTest.java | 6 +- .../oak/plugins/index/lucene/LuceneIndexTest.java | 8 +- .../index/lucene/LucenePropertyIndexTest.java | 37 +- .../index/lucene/LuceneTestRepositoryBuilder.java | 4 +- .../directory/ActiveDeletedBlobCollectionIT.java | 4 +- .../directory/ActiveDeletedBlobCollectorTest.java | 17 +- .../ActiveDeletedBlobSyncTrackerTest.java | 7 +- .../lucene/directory/ChunkedOakDirectoryTest.java | 5 +- .../ConcurrentCopyOnReadDirectoryTest.java | 7 +- .../directory/IndexConsistencyCheckerTest.java | 6 +- .../index/lucene/directory/LocalIndexDirTest.java | 5 +- .../directory/OakStreamingIndexFileTest.java | 5 +- .../index/lucene/hybrid/HybridIndexClusterIT.java | 5 +- .../lucene/hybrid/LocalIndexWriterFactoryTest.java | 7 +- .../invalidData/InvalidIndexDefinitionTest.java | 19 +- .../index/lucene/util/TapeSamplingTest.java | 10 +- .../lucene/writer/MultiplexingIndexWriterTest.java | 5 +- .../oak/run/osgi/OakOSGiRepositoryFactory.java | 6 +- .../jackrabbit/oak/run/osgi/SpringBootSupport.java | 10 +- .../oak/run/osgi/SegmentNodeStoreConfigTest.groovy | 5 +- .../jackrabbit/oak/query/facet/FacetResult.java | 6 +- .../oak/spi/query/CompositeQueryIndexProvider.java | 7 +- .../jackrabbit/oak/spi/query/QueryLimits.java | 12 +- .../jackrabbit/oak/spi/query/package-info.java | 2 +- .../apache/jackrabbit/oak/index/IndexHelper.java | 2 +- .../apache/jackrabbit/oak/index/IndexOptions.java | 3 - .../jackrabbit/oak/index/IndexerSupport.java | 4 +- .../document/flatfile/ChildNodeStateProvider.java | 4 +- .../flatfile/FlatFileNodeStoreBuilder.java | 4 +- .../linkedList/FlatFileBufferLinkedList.java | 13 +- .../flatfile/linkedList/PersistedLinkedList.java | 7 +- .../flatfile/linkedList/PersistedLinkedListV2.java | 6 +- .../document/flatfile/pipelined/DownloadRange.java | 30 +- ...ocumentFilter.java => MongoDocumentFilter.java} | 22 +- .../MongoParallelDownloadCoordinator.java | 106 +- .../flatfile/pipelined/NodeDocumentCodec.java | 135 +-- .../pipelined/NodeDocumentCodecProvider.java | 45 - .../flatfile/pipelined/PipelinedMergeSortTask.java | 12 +- .../pipelined/PipelinedMongoDownloadTask.java | 276 +++--- .../flatfile/pipelined/PipelinedSortBatchTask.java | 16 +- .../flatfile/pipelined/PipelinedStrategy.java | 40 +- .../flatfile/pipelined/PipelinedTransformTask.java | 40 +- .../pipelined/PipelinedTreeStoreStrategy.java | 26 +- .../MergeIncrementalFlatFileStore.java | 12 +- .../MergeIncrementalTreeStore.java | 5 +- .../document/indexstore/IndexStoreUtils.java | 7 +- .../indexer/document/tree/PathIteratorFilter.java | 31 +- .../index/indexer/document/tree/Prefetcher.java | 1 + .../oak/index/indexer/document/tree/TreeStore.java | 4 + .../plugins/document/DocumentNodeStoreHelper.java | 21 +- .../document/mongo/MongoDocumentStoreHelper.java | 5 +- .../document/mongo/MongoDocumentTraverser.java | 5 +- .../jackrabbit/oak/run/cli/OakHelpFormatter.java | 5 +- .../oak/run/cli/ReadOnlyBlobStoreWrapper.java | 2 - .../flatfile/FlatFileStoreIteratorTest.java | 8 +- .../pipelined/MongoDocumentFilterTest.java | 90 ++ .../MongoParallelDownloadCoordinatorTest.java | 153 +-- .../flatfile/pipelined/NodeDocumentFilterTest.java | 90 -- .../flatfile/pipelined/PipelineITUtil.java | 10 + .../document/flatfile/pipelined/PipelinedIT.java | 4 +- .../PipelinedMongoConnectionFailureIT.java | 32 +- .../pipelined/PipelinedParametrizedIT.java | 17 +- .../flatfile/pipelined/PipelinedTreeStoreIT.java | 8 +- .../document/tree/PathIteratorFilterTest.java | 57 +- .../jackrabbit/oak/index/ElasticIndexCommand.java | 4 +- oak-run/pom.xml | 9 + oak-run/src/main/assembly/oak-run.xml | 1 + .../oak/checkpoint/DocumentCheckpoints.java | 5 +- .../oak/checkpoint/SegmentTarCheckpoints.java | 5 +- .../AbstractSegmentTarExplorerBackend.java | 8 +- .../jackrabbit/oak/explorer/NodeStoreTree.java | 20 +- .../jackrabbit/oak/exporter/CNDStreamWriter.java | 11 +- .../oak/exporter/NodeStateSerializer.java | 6 +- .../apache/jackrabbit/oak/index/IndexCommand.java | 2 +- .../oak/index/IndexDefinitionUpdater.java | 9 +- .../oak/plugins/document/CheckpointsHelper.java | 5 +- .../oak/plugins/document/SweepHelper.java | 3 +- .../tika/CSVFileBinaryResourceProvider.java | 2 +- .../oak/plugins/tika/TextExtractorMain.java | 2 +- .../oak/plugins/tika/TikaCommandOptions.java | 2 - .../jackrabbit/oak/run/DataStoreCommand.java | 3 +- .../jackrabbit/oak/run/DataStoreOptions.java | 2 - .../apache/jackrabbit/oak/run/FlatFileCommand.java | 1 - .../jackrabbit/oak/run/RevisionsCommand.java | 60 +- .../jackrabbit/oak/segment/FileStoreHelper.java | 2 +- .../jackrabbit/oak/index/IncrementalStoreTest.java | 3 +- .../org/apache/jackrabbit/oak/index/ReindexIT.java | 8 +- .../oak/plugins/document/RevisionsCommandTest.java | 32 +- .../oak/plugins/tika/TextPopulatorTest.java | 8 +- .../jackrabbit/oak/run/DataStoreCheckTest.java | 48 +- .../oak/run/DataStoreCommandMetadataTest.java | 7 +- .../jackrabbit/oak/run/DataStoreCommandTest.java | 62 +- oak-search-elastic/pom.xml | 7 + .../index/elastic/ElasticIndexDefinition.java | 278 +++++- .../index/elastic/ElasticPropertyDefinition.java | 194 ++-- .../elastic/index/ElasticBulkProcessorHandler.java | 32 +- .../index/elastic/index/ElasticDocument.java | 37 +- .../index/elastic/index/ElasticDocumentMaker.java | 32 +- .../index/elastic/index/ElasticIndexHelper.java | 72 +- .../index/elastic/index/ElasticIndexWriter.java | 19 +- .../plugins/index/elastic/query/ElasticIndex.java | 6 +- .../index/elastic/query/ElasticRequestHandler.java | 250 +++-- .../query/async/ElasticResultRowAsyncIterator.java | 27 +- .../ElasticStatisticalFacetAsyncProvider.java | 32 +- .../elastic/query/inference/InferenceService.java | 111 +++ .../query/inference/InferenceServiceException.java | 17 +- .../query/inference/InferenceServiceManager.java | 51 + .../index/elastic/util/ElasticIndexUtils.java | 34 +- .../elastic/util/TermQueryBuilderFactory.java | 7 +- .../index/elastic/ElasticAbstractQueryTest.java | 26 +- .../elastic/ElasticIndexPlannerCommonTest.java | 2 +- .../index/elastic/ElasticInferenceTest.java | 232 +++++ .../index/elastic/ElasticSimilarQueryTest.java | 58 +- .../plugins/index/elastic/ElasticTestServer.java | 88 +- .../elastic/index/ElasticIndexHelperTest.java | 6 - .../elastic/index/ElasticIndexWriterTest.java | 13 +- .../src/test/resources/elasticsearch-plugins.yml | 19 - .../src/test/resources/inference/content/cars.json | 1029 ++++++++++++++++++++ .../test/resources/inference/content/health.json | 1029 ++++++++++++++++++++ .../src/test/resources/inference/content/ml.json | 1029 ++++++++++++++++++++ .../resources/inference/content/programming.json | 1029 ++++++++++++++++++++ .../src/test/resources/inference/content/yoga.json | 1029 ++++++++++++++++++++ ...inner_guide_to_data_manipulation_in_python.json | 1029 ++++++++++++++++++++ .../queries/delayed/farming_practices.json | 0 .../inference/queries/faulty/machine_learning.json | 0 ...to_improve_mental_health_through_exercises.json | 1029 ++++++++++++++++++++ ...tritional_advice_for_a_healthier_lifestyle.json | 1029 ++++++++++++++++++++ ...ological_advancements_in_electric_vehicles.json | 1029 ++++++++++++++++++++ ...he_key_algorithms_used_in_machine_learning.json | 1029 ++++++++++++++++++++ .../oak/plugins/index/search/Aggregate.java | 2 +- .../index/search/FulltextIndexConstants.java | 2 +- .../plugins/index/search/PropertyDefinition.java | 22 +- .../search/spi/editor/FulltextDocumentMaker.java | 2 +- .../search/spi/editor/FulltextIndexEditor.java | 12 +- .../index/search/spi/query/FulltextIndex.java | 4 +- .../search/spi/query/FulltextIndexPlanner.java | 8 +- .../oak/plugins/index/search/util/ConfigUtil.java | 2 +- .../index/search/util/IndexDefinitionUtils.java | 2 +- .../oak/plugins/index/search/util/IndexHelper.java | 2 +- .../plugins/index/search/util/TapeSampling.java | 4 +- .../IndexQuerySQL2OptimisationCommonTest.java | 4 +- .../index/search/util/TapeSamplingTest.java | 10 +- oak-security-spi/pom.xml | 1 + .../jackrabbit/oak/plugins/tree/TreeLocation.java | 2 +- .../jackrabbit/oak/plugins/tree/TreeUtil.java | 7 +- .../credentials/CompositeCredentialsSupport.java | 1 - .../authentication/token/TokenConstants.java | 3 +- .../permission/PermissionConstants.java | 1 - .../authorization/permission/Permissions.java | 1 - .../oak/spi/security/privilege/PrivilegeBits.java | 2 +- .../spi/security/privilege/PrivilegeConstants.java | 1 - .../oak/spi/security/user/UserConfiguration.java | 23 + .../security/user/action/AccessControlAction.java | 5 +- .../user/action/CompositeActionProvider.java | 4 +- .../action/DefaultAuthorizableActionProvider.java | 4 +- .../spi/security/user/cache}/CacheConstants.java | 7 +- .../oak/spi/security/user/cache/CacheLoader.java | 39 + .../security/user/cache/CachePrincipalFactory.java | 37 + .../user/cache/CachedMembershipReader.java | 39 + .../oak/spi/security/user/cache/package-info.java | 24 + .../oak/spi/security/user/package-info.java | 2 +- .../oak/spi/security/user/util/UserUtil.java | 2 +- .../oak/plugins/tree/AbstractTreeTest.java | 7 +- .../jackrabbit/oak/plugins/tree/TreeUtilTest.java | 8 +- .../AbstractAccessControlListTest.java | 7 +- .../accesscontrol/ImmutableACLTest.java | 2 +- .../authorization/accesscontrol/TestACL.java | 2 +- .../oak/spi/security/privilege/JcrAllUtilTest.java | 9 +- .../oak/spi/xml/ReferenceChangeTrackerTest.java | 7 +- .../oak/segment/aws/tool/AwsCompact.java | 2 +- .../oak/segment/aws/AwsArchiveManagerTest.java | 3 +- .../oak/segment/azure/AzureArchiveManager.java | 2 +- .../oak/segment/azure/AzureJournalFile.java | 5 +- .../oak/segment/azure/tool/AzureCheck.java | 2 +- .../oak/segment/azure/tool/AzureCompact.java | 2 +- .../oak/segment/azure/tool/ToolUtils.java | 8 +- .../oak/segment/azure/AzureArchiveManagerTest.java | 3 +- .../remote/AbstractRemoteSegmentArchiveWriter.java | 5 + .../oak/segment/remote/RemoteUtilities.java | 4 +- .../oak/segment/remote/package-info.java | 2 +- .../oak/segment/remote/RemoteUtilitiesTest.java | 48 + .../oak/segment/CheckpointCompactor.java | 6 +- .../jackrabbit/oak/segment/ClassicCompactor.java | 7 +- .../jackrabbit/oak/segment/CommitsTracker.java | 5 +- .../oak/segment/DefaultSegmentWriter.java | 39 +- .../apache/jackrabbit/oak/segment/ListRecord.java | 2 +- .../apache/jackrabbit/oak/segment/MapEntry.java | 6 +- .../oak/segment/MutableSegmentReferences.java | 5 +- .../jackrabbit/oak/segment/ParallelCompactor.java | 8 +- .../jackrabbit/oak/segment/RecordWriters.java | 2 +- .../org/apache/jackrabbit/oak/segment/Segment.java | 4 +- .../oak/segment/SegmentBufferWriter.java | 8 +- .../oak/segment/SegmentBufferWriterPool.java | 10 +- .../jackrabbit/oak/segment/SegmentIdTable.java | 3 +- .../jackrabbit/oak/segment/SegmentNodeState.java | 2 +- .../jackrabbit/oak/segment/SegmentNodeStore.java | 6 +- .../jackrabbit/oak/segment/SegmentParser.java | 6 +- .../oak/segment/SegmentPropertyState.java | 6 +- .../jackrabbit/oak/segment/SegmentReferences.java | 6 +- .../jackrabbit/oak/segment/SegmentStream.java | 8 +- .../apache/jackrabbit/oak/segment/Template.java | 10 +- .../jackrabbit/oak/segment/file/FileReaper.java | 6 +- .../oak/segment/file/FileStoreBuilder.java | 8 +- .../file/FullSizeDeltaEstimationStrategy.java | 4 +- .../oak/segment/file/ManifestChecker.java | 2 +- .../jackrabbit/oak/segment/file/PriorityCache.java | 2 +- .../oak/segment/file/ReadOnlyRevisions.java | 4 +- .../jackrabbit/oak/segment/file/TarRevisions.java | 4 +- .../oak/segment/file/tar/FileAccess.java | 4 +- .../oak/segment/file/tar/SegmentTarWriter.java | 9 +- .../jackrabbit/oak/segment/file/tar/TarFiles.java | 21 +- .../jackrabbit/oak/segment/file/tar/TarReader.java | 8 +- .../jackrabbit/oak/segment/file/tar/TarWriter.java | 21 +- .../oak/segment/file/tar/index/IndexLoader.java | 2 +- .../oak/segment/file/tar/index/IndexWriter.java | 2 +- .../oak/segment/memory/MemoryStoreRevisions.java | 4 +- .../jackrabbit/oak/segment/scheduler/Commit.java | 2 +- .../oak/segment/scheduler/LockBasedScheduler.java | 2 +- .../spi/persistence/SegmentArchiveWriter.java | 15 +- .../server/DefaultStandbyReferencesReader.java | 6 +- .../oak/segment/standby/server/StandbyServer.java | 5 +- .../segment/standby/server/StandbyServerSync.java | 2 +- .../apache/jackrabbit/oak/segment/tool/Check.java | 2 +- .../jackrabbit/oak/segment/tool/Compact.java | 2 +- .../jackrabbit/oak/segment/tool/DebugSegments.java | 2 +- .../jackrabbit/oak/segment/tool/DebugStore.java | 8 +- .../jackrabbit/oak/segment/tool/DebugTars.java | 2 +- .../jackrabbit/oak/segment/tool/History.java | 2 +- .../oak/segment/tool/RecoverJournal.java | 4 +- .../jackrabbit/oak/segment/tool/SearchNodes.java | 2 +- .../apache/jackrabbit/oak/segment/tool/Utils.java | 10 +- .../oak/segment/tool/check/CheckHelper.java | 2 +- .../segment/tool/iotrace/BreadthFirstTrace.java | 9 +- .../oak/segment/tool/iotrace/DepthFirstTrace.java | 2 +- .../oak/segment/tool/iotrace/IOTraceMonitor.java | 3 +- .../oak/segment/ClassicCompactorTest.java | 5 +- .../jackrabbit/oak/segment/CommitsTrackerTest.java | 7 +- .../oak/segment/CompactionAndCleanupIT.java | 14 +- .../jackrabbit/oak/segment/CompactorTestUtils.java | 5 +- .../oak/segment/DefaultSegmentWriterTest.java | 5 +- .../jackrabbit/oak/segment/ExternalBlobIT.java | 4 +- .../oak/segment/MutableSegmentReferencesTest.java | 4 +- .../apache/jackrabbit/oak/segment/RecordTest.java | 4 +- .../oak/segment/SegmentBufferWriterTest.java | 11 +- .../oak/segment/SegmentCompactionIT.java | 2 +- .../oak/segment/SegmentDataStoreBlobGCIT.java | 11 +- .../jackrabbit/oak/segment/SegmentParserTest.java | 4 +- .../jackrabbit/oak/segment/file/GcJournalTest.java | 4 +- .../oak/segment/file/tar/TarFileTest.java | 4 +- .../oak/segment/file/tar/TarFilesTest.java | 64 +- .../oak/segment/file/tar/TarWriterTest.java | 26 + .../segment/scheduler/LockBasedSchedulerTest.java | 5 +- .../segment/standby/codec/ResponseDecoderTest.java | 5 +- .../segment/tool/CheckInvalidRepositoryTest.java | 31 +- .../oak/segment/tool/CheckValidRepositoryTest.java | 39 +- .../tool/iotrace/BreadthFirstTraceTest.java | 11 +- .../segment/tool/iotrace/DepthFirstTraceTest.java | 11 +- .../oak/segment/tool/iotrace/RandomTraceTest.java | 9 +- .../solr/osgi/SolrQueryIndexProviderService.java | 4 +- .../plugins/index/solr/query/SolrQueryIndex.java | 5 +- .../jackrabbit/oak/jcr/query/SpellcheckTest.java | 4 +- .../jackrabbit/oak/jcr/query/SuggestTest.java | 4 +- .../oak/composite/CompositeNodeStore.java | 10 +- .../oak/composite/CompositeNodeStoreService.java | 4 +- .../oak/composite/CompositionContext.java | 5 +- .../oak/composite/InitialContentMigrator.java | 5 +- .../oak/composite/CompositeChildrenCountTest.java | 6 +- .../oak/composite/CompositeCompareTest.java | 8 +- .../oak/plugins/document/BatchCommit.java | 12 +- .../plugins/document/BlobReferenceIterator.java | 4 +- .../jackrabbit/oak/plugins/document/Branch.java | 2 +- .../oak/plugins/document/Checkpoints.java | 3 +- .../jackrabbit/oak/plugins/document/Commit.java | 5 +- .../oak/plugins/document/CommitQueue.java | 2 +- .../oak/plugins/document/Configuration.java | 20 + .../oak/plugins/document/DocumentNodeState.java | 6 +- .../oak/plugins/document/DocumentNodeStore.java | 14 +- .../plugins/document/DocumentNodeStoreBuilder.java | 34 +- .../document/DocumentNodeStoreMBeanImpl.java | 2 +- .../plugins/document/DocumentNodeStoreService.java | 6 + .../plugins/document/DocumentStoreException.java | 4 +- .../oak/plugins/document/FormatVersion.java | 3 +- .../oak/plugins/document/JournalDiffLoader.java | 2 +- .../oak/plugins/document/JournalEntry.java | 6 +- .../plugins/document/JournalPropertyHandler.java | 3 +- .../oak/plugins/document/LastRevRecoveryAgent.java | 2 +- .../oak/plugins/document/NodeDocument.java | 15 +- .../jackrabbit/oak/plugins/document/Path.java | 2 +- .../jackrabbit/oak/plugins/document/Range.java | 2 +- .../jackrabbit/oak/plugins/document/Rollback.java | 4 +- .../oak/plugins/document/SplitDocumentCleanUp.java | 6 +- .../oak/plugins/document/SplitOperations.java | 3 +- .../oak/plugins/document/UnmergedBranches.java | 2 +- .../oak/plugins/document/UnsavedModifications.java | 7 +- .../plugins/document/VersionGarbageCollector.java | 55 +- .../document/bundlor/BundledDocumentDiffer.java | 4 +- .../plugins/document/bundlor/CompositeMatcher.java | 3 +- .../plugins/document/bundlor/DocumentBundlor.java | 6 +- .../document/bundlor/IncludeAllMatcher.java | 3 +- .../plugins/document/mongo/MongoDocumentStore.java | 11 +- .../oak/plugins/document/mongo/MongoUtils.java | 2 +- .../document/mongo/MongoVersionGCSupport.java | 7 +- .../document/persistentCache/NodeCache.java | 9 +- .../oak/plugins/document/rdb/RDBBlobStore.java | 4 +- .../oak/plugins/document/rdb/RDBDocumentStore.java | 9 +- .../plugins/document/rdb/RDBDocumentStoreDB.java | 4 +- .../plugins/document/rdb/RDBDocumentStoreJDBC.java | 3 +- .../plugins/document/rdb/RDBVersionGCSupport.java | 3 +- .../secondary/DelegatingDocumentNodeState.java | 4 +- .../document/secondary/PathFilteringDiff.java | 3 +- .../secondary/SecondaryStoreCacheService.java | 7 +- .../oak/plugins/document/util/MongoConnection.java | 1 - .../oak/plugins/document/util/TimeInterval.java | 2 +- .../oak/plugins/document/AbstractJournalTest.java | 2 +- .../BaseDocumentDiscoveryLiteServiceTest.java | 4 +- .../plugins/document/BasicDocumentStoreTest.java | 2 +- .../oak/plugins/document/BlobCollectorTest.java | 7 +- .../document/BlobReferenceIteratorTest.java | 6 +- .../oak/plugins/document/BranchCommitGCTest.java | 2 + .../document/BulkCreateOrUpdateClusterTest.java | 4 +- .../plugins/document/CacheConsistencyTestBase.java | 4 +- .../oak/plugins/document/ClusterConflictTest.java | 4 +- .../oak/plugins/document/ClusterNodeInfoTest.java | 2 +- .../document/ClusterRevisionComparisonTest.java | 5 +- .../oak/plugins/document/ClusterTest.java | 10 +- .../plugins/document/CollisionRollbackTest.java | 4 +- .../document/ConcurrentPrefetchAndUpdateIT.java | 4 +- .../document/ConcurrentPropertyUpdateTest.java | 5 +- .../document/ConcurrentQueryAndInvalidateIT.java | 11 +- .../document/ConcurrentQueryAndUpdate2IT.java | 9 +- .../document/ConcurrentQueryAndUpdateIT.java | 9 +- .../plugins/document/DocumentBatchSplitTest.java | 5 +- .../oak/plugins/document/DocumentMK.java | 5 +- .../DocumentNodeStoreServiceConfigurationTest.java | 44 +- .../plugins/document/DocumentNodeStoreTest.java | 36 +- .../oak/plugins/document/DocumentSplitTest.java | 19 +- .../document/DocumentStoreExceptionTest.java | 4 +- .../oak/plugins/document/DocumentStoreStatsIT.java | 2 +- .../oak/plugins/document/ExternalChangesTest.java | 7 +- .../oak/plugins/document/FailingDocumentStore.java | 2 +- .../plugins/document/GetChildNodeCountTest.java | 5 +- .../plugins/document/HierarchyConflictTest.java | 5 +- .../oak/plugins/document/JournalEntryTest.java | 7 +- .../oak/plugins/document/JournalTest.java | 8 +- .../plugins/document/LargeMergeRecoveryTest.java | 5 +- .../document/LastRevRecoveryRandomizedIT.java | 7 +- .../oak/plugins/document/LastRevRecoveryTest.java | 19 +- .../document/LastRevSingleNodeRecoveryTest.java | 5 +- .../oak/plugins/document/ManyClusterNodesTest.java | 6 +- .../oak/plugins/document/MeasureMemory.java | 6 +- .../oak/plugins/document/MongoBlobGCTest.java | 10 +- .../plugins/document/MongoConnectionFactory.java | 5 +- .../oak/plugins/document/MongoDocumentStoreIT.java | 5 +- .../plugins/document/MongoDocumentStoreTest.java | 2 +- .../MongoVersionGCSupportDefaultNoBranchTest.java | 7 +- .../plugins/document/MultiDocumentStoreTest.java | 8 +- .../document/NodeDocumentIdComparatorTest.java | 2 +- .../plugins/document/NodeDocumentSweeperTest.java | 13 +- .../oak/plugins/document/NodeDocumentTest.java | 42 +- .../oak/plugins/document/NodeStoreDiffTest.java | 5 +- .../oak/plugins/document/OrphanedBranchTest.java | 5 +- .../oak/plugins/document/PathComparatorTest.java | 2 +- .../document/ResurrectNodeAfterRevisionGCTest.java | 15 +- .../oak/plugins/document/RevisionTest.java | 6 +- .../oak/plugins/document/RevisionVectorTest.java | 4 +- .../plugins/document/SharedBlobStoreGCTest.java | 9 +- .../oak/plugins/document/SimpleTest.java | 5 +- .../oak/plugins/document/UpdateOpTest.java | 5 +- .../oak/plugins/document/ValueMapTest.java | 7 +- .../plugins/document/VersionGCDeletionTest.java | 7 +- .../plugins/document/VersionGCSplitDocTest.java | 5 +- .../oak/plugins/document/VersionGCTest.java | 57 +- .../plugins/document/VersionGCWithSplitTest.java | 4 +- .../document/VersionGarbageCollectorIT.java | 41 +- .../document/VersionGarbageCollectorLogTest.java | 6 +- .../plugins/document/blob/RDBBlobStoreTest.java | 2 +- .../document/bundlor/DocumentBundlingTest.java | 2 +- .../document/mongo/AcquireRecoveryLockTest.java | 4 +- .../mongo/MongoDocumentNodeStoreBuilderTest.java | 8 + .../mongo/MongoMissingLastRevSeekerTest.java | 5 +- .../oak/plugins/document/mongo/QueryHintTest.java | 6 +- .../document/persistentCache/AsyncQueueTest.java | 9 +- .../document/persistentCache/NodeCacheTest.java | 12 +- .../plugins/document/rdb/RDBDocumentStoreTest.java | 2 +- .../secondary/SecondaryStoreCacheTest.java | 6 +- .../document/util/MergeSortedIteratorsTest.java | 2 +- .../util/ReadOnlyDocumentStoreWrapperTest.java | 7 +- .../jackrabbit/oak/json/Base64BlobSerializer.java | 3 +- .../apache/jackrabbit/oak/json/JsonSerializer.java | 8 +- .../oak/plugins/memory/EmptyPropertyState.java | 4 +- .../oak/plugins/memory/GenericPropertyState.java | 2 +- .../oak/plugins/memory/MemoryNodeBuilder.java | 10 +- .../oak/plugins/memory/MemoryNodeStore.java | 10 +- .../plugins/memory/MultiBinaryPropertyState.java | 4 +- .../plugins/memory/MultiGenericPropertyState.java | 2 +- .../oak/plugins/memory/MultiLongPropertyState.java | 4 +- .../oak/plugins/memory/MultiPropertyState.java | 10 +- .../oak/plugins/memory/PropertyBuilder.java | 17 +- .../oak/plugins/memory/PropertyStates.java | 16 +- .../oak/plugins/memory/SinglePropertyState.java | 2 +- .../oak/plugins/value/jcr/PartialValueFactory.java | 4 +- .../oak/plugins/value/jcr/ValueImpl.java | 6 +- .../oak/spi/commit/BackgroundObserver.java | 8 +- .../oak/spi/commit/CompositeConflictHandler.java | 6 +- .../oak/spi/commit/CompositeObserver.java | 10 +- .../jackrabbit/oak/spi/commit/ObserverTracker.java | 6 +- .../oak/spi/commit/SubtreeExcludingValidator.java | 2 +- .../oak/spi/commit/SubtreeValidator.java | 2 +- .../jackrabbit/oak/spi/filter/PathFilter.java | 4 +- .../jackrabbit/oak/json/JsonDeserializerTest.java | 13 +- .../jackrabbit/oak/json/JsonSerializerTest.java | 14 +- .../oak/plugins/memory/AbstractBlobTest.java | 4 +- .../oak/plugins/memory/PropertyStatesTest.java | 7 +- .../oak/upgrade/JackrabbitNodeState.java | 6 +- .../jackrabbit/oak/upgrade/PersistingDiff.java | 4 +- .../oak/upgrade/RepositorySidegrade.java | 4 +- .../jackrabbit/oak/upgrade/RepositoryUpgrade.java | 11 +- .../oak/upgrade/blob/LengthCachingDataStore.java | 9 +- .../upgrade/checkpoint/CheckpointRetriever.java | 4 +- .../jackrabbit/oak/upgrade/cli/OakUpgrade.java | 5 +- .../oak/upgrade/CopyVersionHistoryTest.java | 4 +- 773 files changed, 17003 insertions(+), 4093 deletions(-) create mode 100644 oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/CachedGroupPrincipal.java create mode 100644 oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/CachedGroupPrincipalTest.java create mode 100644 oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalGroupPrincipalProviderWithCacheTest.java create mode 100644 oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalLoginCachedDynamicMembershipTest.java copy oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authentication/external/{ExternalLoginTest.java => CachedMembershipLoginTest.java} (73%) create mode 100644 oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/conditions/Validate.java copy oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/{collections => conditions}/package-info.java (88%) create mode 100644 oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/conditions/ValidateTest.java create mode 100644 oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/CacheConfiguration.java delete mode 100644 oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/PrincipalMembershipReader.java create mode 100644 oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/CacheConfigurationTest.java delete mode 100644 oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/PrincipalMembershipReaderTest.java rename oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/pipelined/{NodeDocumentFilter.java => MongoDocumentFilter.java} (86%) delete mode 100644 oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/pipelined/NodeDocumentCodecProvider.java create mode 100644 oak-run-commons/src/test/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/pipelined/MongoDocumentFilterTest.java delete mode 100644 oak-run-commons/src/test/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/pipelined/NodeDocumentFilterTest.java create mode 100644 oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/inference/InferenceService.java copy oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/collections/package-info.java => oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/inference/InferenceServiceException.java (70%) create mode 100644 oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/inference/InferenceServiceManager.java create mode 100644 oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticInferenceTest.java delete mode 100644 oak-search-elastic/src/test/resources/elasticsearch-plugins.yml create mode 100644 oak-search-elastic/src/test/resources/inference/content/cars.json create mode 100644 oak-search-elastic/src/test/resources/inference/content/health.json create mode 100644 oak-search-elastic/src/test/resources/inference/content/ml.json create mode 100644 oak-search-elastic/src/test/resources/inference/content/programming.json create mode 100644 oak-search-elastic/src/test/resources/inference/content/yoga.json create mode 100644 oak-search-elastic/src/test/resources/inference/queries/a_beginner_guide_to_data_manipulation_in_python.json create mode 100644 oak-search-elastic/src/test/resources/inference/queries/delayed/farming_practices.json create mode 100644 oak-search-elastic/src/test/resources/inference/queries/faulty/machine_learning.json create mode 100644 oak-search-elastic/src/test/resources/inference/queries/how_to_improve_mental_health_through_exercises.json create mode 100644 oak-search-elastic/src/test/resources/inference/queries/nutritional_advice_for_a_healthier_lifestyle.json create mode 100644 oak-search-elastic/src/test/resources/inference/queries/technological_advancements_in_electric_vehicles.json create mode 100644 oak-search-elastic/src/test/resources/inference/queries/what_are_the_key_algorithms_used_in_machine_learning.json rename {oak-core/src/main/java/org/apache/jackrabbit/oak/security/user => oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/user/cache}/CacheConstants.java (86%) create mode 100644 oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/user/cache/CacheLoader.java create mode 100644 oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/user/cache/CachePrincipalFactory.java create mode 100644 oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/user/cache/CachedMembershipReader.java create mode 100644 oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/user/cache/package-info.java create mode 100644 oak-segment-remote/src/test/java/org/apache/jackrabbit/oak/segment/remote/RemoteUtilitiesTest.java