| Release Notes -- Apache Jackrabbit Oak -- Version 1.46.0 |
| |
| Introduction |
| ------------ |
| |
| Jackrabbit Oak is a scalable, high-performance hierarchical content |
| repository designed for use as the foundation of modern world-class |
| web sites and other demanding content applications. |
| |
| Apache Jackrabbit Oak 1.46.0 is an incremental feature release based |
| on and compatible with earlier stable Jackrabbit Oak 1.x |
| releases. This release is considered stable and targeted for |
| production use. |
| |
| While Oak 1.46.0 compiles and tests successfully on Java 17, Javadocs |
| generation fails on Java 17 (but works as expected on Java 8). |
| |
| The Oak effort is a part of the Apache Jackrabbit project. |
| Apache Jackrabbit is a project of the Apache Software Foundation. |
| |
| Changes in Oak 1.46.0 |
| --------------------- |
| |
| Technical task |
| |
| [OAK-9084] - Remove unnecessary (un)boxing in oak-store-spi |
| [OAK-9085] - Remove unnecessary (un)boxing in oak-webapp |
| [OAK-9901] - deploy oak docu |
| [OAK-9915] - remove jackrabbit-data dependency from oak-core |
| [OAK-9916] - remove jackrabbit-data dependency from oak-store-document |
| [OAK-9969] - Benchmark for OAK-9966 |
| [OAK-9994] - avoid leaking out transitive dependencies to Guava |
| [OAK-9995] - oak-blob-cloud-azure: unneeded Guava import declaration |
| [OAK-9996] - oak-search-mt: unneeded Guava import declaration |
| [OAK-9999] - remove use of com.google.common.collect.Iterators.emptyIterator |
| [OAK-10015] - Update Mockito dependency to 4.9.0 |
| [OAK-10018] - standalone: upgrade spring fwk to 2.5.14 |
| [OAK-10024] - improve diagnostics for addNode for invalid relative paths |
| |
| Bug |
| |
| [OAK-9785] - Tar SegmentStore can be corrupted during compaction |
| [OAK-9826] - Flaky test: DataStoreBlobStoreStatsTest |
| [OAK-9839] - DefaultSyncConfig.enforceDynamicMembership is not reflected in OSGi configuration |
| [OAK-9840] - Race condition in MountInfoProviderService |
| [OAK-9843] - elastic: secure facet query fails when the hits does not include data from some faceted field |
| [OAK-9850] - ConcurrentPrefetchAndUpdateIT.cacheConsistency fails occasionally |
| [OAK-9853] - Generating site is broken |
| [OAK-9867] - AutoMembershipProvider.isMember must not ignore 'includeInherited' flag |
| [OAK-9871] - AutoMembershipPrincipals.getAutoMembership must resolved inherited groups |
| [OAK-9872] - Align oak-run segment-copy flat flag implementation with documentation |
| [OAK-9874] - Add a (failing and @Ignored) unit test to check that queries return same result with and without index. |
| [OAK-9879] - CacheLIRS statistics may return incorrect load count |
| [OAK-9891] - Removal (purge) of version of a node does not remove associated labels |
| [OAK-9902] - Configuration for ExternalUserValidator |
| [OAK-9908] - Recovery may revert committed changes |
| [OAK-9911] - Resource leak in ChunkedBlobStream |
| [OAK-9912] - elastic: Spellcheck query with no descendants returns incorrect number of results |
| [OAK-9927] - Building file store with azure caching persistence fails if another process is using azure persistence with the same azure directory |
| [OAK-9954] - Dynamic membership/group should spot conflicts with existing groups |
| [OAK-9967] - Lease update duration not displayed correctly if timed-out |
| [OAK-9978] - Test failure: PurgeOldIndexVersionTest. noDeleteIfInvalidIndexOperationVersion |
| [OAK-9981] - Add a option in purgecommand(oak-run) to skip purge operations on active base index |
| [OAK-9984] - FlatFileSplitterTest reliably failing |
| [OAK-9988] - MergeRunnerTest leaves temp files/folders behind |
| [OAK-10008] - Reduce heap requirement for test DocumentStoreIndexeIT#parallelReindexWithLZ4 |
| [OAK-10010] - Test org.apache.jackrabbit.oak.plugins.document.RandomizedClusterTest.addRemoveSet is Flaky |
| [OAK-10027] - CacheWarmingTest does not clean up |
| |
| New Feature |
| |
| [OAK-9780] - Prefetch node states |
| [OAK-9851] - Provide support for throttling in mongo oak client based on oplog replication window |
| [OAK-9873] - Prefetch node states: composite node store support |
| [OAK-9888] - Support more flexible SplitPersistence setups via OSGi |
| [OAK-9893] - Prefetch for queries |
| [OAK-9909] - Provide Feature toggle for oplog window based throttling for Mongo Document Store |
| [OAK-9913] - Expose Metrics for Mongo DocumentStore throttling |
| [OAK-9914] - Starting Oak with Azure persistence in read-only mode while another Oak process is running will initiate repo recovery |
| [OAK-9918] - DocumentNodeStore consistency check |
| [OAK-9928] - Add benchmark for access of binary properties in Cloud DataStore |
| |
| Story |
| |
| [OAK-9790] - Implement parallel indexing for speeding up oak run indexing command |
| |
| Improvement |
| |
| [OAK-9670] - Log an WARN when a fulltext query cannot find an appropriate index |
| [OAK-9679] - Oak Segment AWS: Test failures on Apple Silicon for tests leveraging DynamoDBEmbedded |
| [OAK-9803] - Extend DynamicSyncHandler to allow for dynamic groups |
| [OAK-9834] - Improve documentation for repository representation of default access control |
| [OAK-9844] - Nullness annotations must not be used on primitive types |
| [OAK-9846] - o.a.j.oak.composite.ErrorHolder should include the name of the checker for each report |
| [OAK-9847] - Offline compaction cleanup failures for migrated AzureSegmentStores with missing graph files |
| [OAK-9848] - Bump and align testcontainers dependency to v1.17.3 |
| [OAK-9855] - Enable for Lucene the tests common to Lucene and Elastic that are failing only with Elastic |
| [OAK-9862] - Some tests in oak-search are not cleaning up Elastic Search indexes after the test |
| [OAK-9865] - DefaultSyncContext: extract method to get external group from ExternalIdentityRef |
| [OAK-9866] - Add command line argument for append mode in oak-run segment-copy |
| [OAK-9868] - Introduce interface to extract tree from users |
| [OAK-9884] - Optimization: use Elastic prefix queries instead of wildcard queries for "like foo%" constraints |
| [OAK-9886] - Missing tests for like constraint in Elastic |
| [OAK-9892] - Improve query statement for ExternalGroupPrincipalProvider.findPrincipals |
| [OAK-9896] - Running unit-tests in IntelliJ dos not work |
| [OAK-9907] - Allow comparing indexes in the same file |
| [OAK-9919] - Add support for zstd, zlib to document store with mongodb |
| [OAK-9930] - Thread leak in elastic index statistics module |
| [OAK-9932] - Version of Elasticsearch server docker image used for tests should be configurable |
| [OAK-9935] - Bump Elasticsearch clients from 7.17.3 to 7.17.6 |
| [OAK-9936] - Optimize AzureJournalWriter#batchWriteLines() |
| [OAK-9945] - oak-search-elastic: migrate index creation from Rest High Level Client to the new Java API Client |
| [OAK-9946] - Consistency check for versionable nodes |
| [OAK-9948] - oak-search-elastic: migrate search suggestions request from RHLC to new Java Client |
| [OAK-9951] - Improve support for running unit tests with Elasticsearch 8 |
| [OAK-9952] - Allow Segment Consistency Check to fail fast |
| [OAK-9955] - DynamicSyncContext: avoid duplicate iteration in syncMembership |
| [OAK-9958] - Deprecate native queries |
| [OAK-9959] - RepositoryImpl.shutdown() takes way too long in case of unclosed Sessions |
| [OAK-9965] - Add support for running unit tests against Elasticsearch 8.4.3 |
| [OAK-9966] - Internal code calls Node.isCheckedOut and VersionManager.isCheckedOut |
| [OAK-9968] - Enable LZ4 compression for parallel indexing |
| [OAK-9970] - Internal code calls LockManager.isLocked(String) |
| [OAK-9973] - Bump and align testcontainers dependency to v1.17.5 |
| [OAK-9975] - [DSGC] Report cummulative size of referenced blobs |
| [OAK-9985] - DataStoreCopyCommandTest#destinationFromBlobId fails on windows |
| [OAK-9987] - Oak-search-elastic depends on vulnerable snakeyaml version. |
| [OAK-9992] - Introduce limit for oak.removeCollisions() |
| [OAK-9993] - Add utility method to remove unmerged branches |
| [OAK-10004] - Bump Elasticsearch Java client from 7.17.6 to 7.17.7 |
| [OAK-10012] - Redundant modifier in oak-jackrabbit-api |
| |
| Task |
| |
| [OAK-9856] - Log jcr query along with caller stack trace in case of failed queries in ES server |
| [OAK-9870] - Fulltext Query with "}" fails in case of elasticsearch |
| [OAK-9878] - Elastic: Rectify remaining failing ported tests |
| [OAK-9880] - Simplify rgc DEFAULT_NO_BRANCH query |
| [OAK-9895] - update release schedule for 1.8 (fewer) and 1.6 (EOL) |
| [OAK-9903] - oak-search-elastic: add unit tests with different path restriction queries |
| [OAK-9917] - Port lucene tests to common format so that same tests can be run for both lucene and elastic |
| [OAK-9924] - Elastic mbean should show the primary shard size |
| [OAK-9925] - update MongoDB Java Driver dependency to 3.12.11 |
| [OAK-9926] - Upgrade h2db dependency to 2.1.214 |
| [OAK-9947] - upgrade jackson-databind to 2.13.4 |
| [OAK-9950] - Upgrade tika to 1.26 |
| [OAK-9960] - oak-run command to download blobs from datastore |
| [OAK-9962] - [Document] Improve ES documentation |
| [OAK-9971] - Migrate Oak maintenance builds from Travis CI to Jenkins |
| [OAK-9990] - Update Oak trunk and Oak 1.22 to Jackrabbit 2.20.7 |
| [OAK-10002] - oak-core: bump up logging for deprecated Guava based APIs to INFO |
| [OAK-10009] - Enable SonarClould for Oak |
| [OAK-10011] - Configure SonarClould for Oak |
| [OAK-10013] - oak-run-commons: tests fail on Windows Subsystem for Linux |
| [OAK-10016] - avoid use of deprecated Mockito methods (removed in 4.*) |
| [OAK-10019] - Update slf4j dependency to 1.7.36 |
| [OAK-10021] - upgrade jackson-databind to 2.13.4.2 |
| [OAK-10023] - oak-search-mt: eliminate transitive log4j dependency |
| [OAK-10029] - Disable Sonar checks on PRs from forks |
| [OAK-10032] - get rid of ant-run plugin dependency |
| |
| Documentation |
| |
| [OAK-9972] - Create FAQ for dynamic sync |
| [OAK-9974] - permission eval: entries are evaluated in reverse order |
| |
| |
| In addition to the above-mentioned changes, this release contains all |
| changes up to the previous release. |
| |
| For more detailed information about all the changes in this and other |
| Oak releases, please see the Oak issue tracker at |
| |
| https://issues.apache.org/jira/browse/OAK |
| |
| Release Contents |
| ---------------- |
| |
| This release consists of a single source archive packaged as a zip file. |
| The archive can be unpacked with the jar tool from your JDK installation. |
| See the README.md file for instructions on how to build this release. |
| |
| The source archive is accompanied by SHA512 checksums and a |
| PGP signature that you can use to verify the authenticity of your |
| download. The public key used for the PGP signature can be found at |
| https://www.apache.org/dist/jackrabbit/KEYS. |
| |
| About Apache Jackrabbit Oak |
| --------------------------- |
| |
| Jackrabbit Oak is a scalable, high-performance hierarchical content |
| repository designed for use as the foundation of modern world-class |
| web sites and other demanding content applications. |
| |
| The Oak effort is a part of the Apache Jackrabbit project. |
| Apache Jackrabbit is a project of the Apache Software Foundation. |
| |
| For more information, visit http://jackrabbit.apache.org/oak |
| |
| About The Apache Software Foundation |
| ------------------------------------ |
| |
| Established in 1999, The Apache Software Foundation provides organizational, |
| legal, and financial support for more than 140 freely-available, |
| collaboratively-developed Open Source projects. The pragmatic Apache License |
| enables individual and commercial users to easily deploy Apache software; |
| the Foundation's intellectual property framework limits the legal exposure |
| of its 3,800+ contributors. |
| |
| For more information, visit http://www.apache.org/ |
| |