| |
| Release Notes -- Apache Jackrabbit Oak -- Version 1.0.15 |
| |
| 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.0.15 is a patch release that contains fixes and |
| improvements over Oak 1.0. Jackrabbit Oak 1.0.x releases are considered |
| stable and targeted for production use. |
| |
| The Oak effort is a part of the Apache Jackrabbit project. |
| Apache Jackrabbit is a project of the Apache Software Foundation. |
| |
| New configuration options in Oak 1.0.15 |
| --------------------------------------- |
| |
| The DocumentNodeStore has a new system property, which controls the time a |
| commit tries to acquire the merge lock: -Doak.maxLockTryTimeMultiplier=30 |
| The default value is 30 and roughly translates to 60 seconds. See OAK-2762 |
| and OAK-2823 for more details. |
| |
| LuceneIndexEditor now supports CopyOnWrite mode (OAK-2247) for faster indexing. |
| Refer to http://jackrabbit.apache.org/oak/docs/query/lucene.html#CopyOnWrite |
| for more details. |
| |
| Changes in Oak 1.0.15 |
| --------------------- |
| |
| Bugs |
| |
| [OAK-2531] - Suggest field doesn't get stored if it has only one value |
| [OAK-2611] - Lucene suggester should only be updated if the index is used for suggestions |
| [OAK-2663] - Unique property index can trigger OOM during upgrade of large repository |
| [OAK-2799] - OakIndexInput cloned instances are not closed |
| [OAK-2867] - CommitQueue.done() may fail to remove commit |
| [OAK-2873] - Performance problems with many "or" conditions |
| [OAK-2888] - ArrayIndexOutOfBoundsException in UnsavedModifications.put() |
| [OAK-2890] - SegmentBlob does not return blobId for contentIdentity |
| [OAK-2903] - Test failures: ldap tests fail on Jenkins |
| [OAK-2904] - test failures for oak-auth-ldap on Windows |
| [OAK-2933] - AccessDenied when modifying transiently moved item with too many ACEs |
| [OAK-2951] - Regression: SSL errors with latest ldap client |
| [OAK-2960] - SegmentNodeStoreService doesn't fully implement a @Modified method |
| [OAK-2963] - [Blob GC]: Undeleted blobs also being logged in deleted count |
| [OAK-2970] - DocumentNodeStoreService doesn't fully implement a @Modified method |
| [OAK-2972] - DocumentNodeStore gets initialized multiple time with RDB persistence |
| |
| |
| Improvements |
| |
| [OAK-1970] - Optimize the diff logic for large number of children case |
| [OAK-2016] - Make blob gc max age configurable in SegmentNodeStoreService |
| [OAK-2468] - Index binary only if some Tika parser can support the binaries mimeType |
| [OAK-2523] - Provide a default Tika Config similar to JR2 config |
| [OAK-2548] - Spellcheck/suggest queries should return no results if no index can handle them |
| [OAK-2620] - Release merge lock before branch is reset |
| [OAK-2627] - Optimize equals in AbstractBlob |
| [OAK-2657] - Repository Upgrade could shut down the source repository early |
| [OAK-2762] - Configurable maxLockTryTimeMS |
| [OAK-2822] - Release merge lock in retry loop |
| [OAK-2823] - Change default for oak.maxLockTryTimeMultiplier |
| [OAK-2830] - LIRS cache: avoid concurrent loading of the same entry if loading is slow |
| [OAK-2837] - Persistent cache: avoid repeated log message after closing |
| [OAK-2865] - Log stats around time spent in extracting text from binaries |
| [OAK-2866] - Switch Thread context classloader for default config parsing also |
| [OAK-2868] - Bypass CommitQueue for branch commits |
| [OAK-2886] - Exclude image/tiff from text extraction |
| [OAK-2889] - Ignore "order by jcr:score desc" in the query engine (for "union" queries) |
| [OAK-2893] - RepositoryUpgrade.copy() should optionally continue on errors. |
| [OAK-2895] - Avoid accessing binary content if the mimeType is excluded from indexing |
| [OAK-2897] - Regression - lookupOnValidate does not work |
| [OAK-2898] - DataStoreBlobStore should expose a buffer input stream for getInputStream call |
| [OAK-2912] - Clear the modified and deleted map in PermissionHook after processing is complete |
| [OAK-2927] - ReferenceEditor newIds consuming lots of memory during migration |
| [OAK-2957] - LIRS cache: config options for segment count and stack move distance |
| [OAK-2959] - Update JR to 2.8.1 for Oak 1.0 branch |
| [OAK-2971] - DocumentNodeStore thread names should carry the clusterNodeId |
| |
| New Features |
| |
| [OAK-2247] - CopyOnWriteDirectory implementation for Lucene for use in indexing |
| [OAK-2882] - Support migration without access to DataStore |
| [OAK-2926] - Fast result size estimate |
| |
| Tasks |
| |
| [OAK-2958] - Backport suggest support to branch 1.0 |
| [OAK-2967] - Merge OAK-2800, OAK-2801, OAK-2692, OAK-2713 |
| |
| Sub-tasks |
| |
| [OAK-2455] - Support for invoking suggestor via Query |
| [OAK-2456] - Periodic update of suggestor index from the full text index |
| [OAK-2457] - Suggestor support within Oak Lucene |
| [OAK-2467] - Suggestor support within Oak Solr |
| [OAK-2473] - ACL checks on suggestions |
| [OAK-2826] - Refactor ListeneableFutureTask to commons |
| [OAK-2856] - improve RDB diagnostics |
| [OAK-2901] - RDBBlobStoreTest should be able to run against multiple DB types |
| [OAK-2915] - add (experimental) support for Apache Derby |
| [OAK-2916] - RDBDocumentStore: use of "GREATEST" in SQL apparently doesn't have test coverage in unit tests |
| [OAK-2918] - RDBConnectionHandler: handle failure on setReadOnly() gracefully |
| [OAK-2923] - RDB/DB2: change minimal supported version from 10.5 to 10.1, also log decimal version numbers as well |
| [OAK-2930] - RDBBlob/DocumentStore throws NPE when used after being closed |
| [OAK-2931] - RDBDocumentStore: mitigate effects of large query result sets |
| [OAK-2938] - Estimation of required memory for compaction is off |
| [OAK-2940] - RDBDocumentStore: "set" operation on _modified appears to be implemented as "max" |
| [OAK-2945] - Sampling rate feature CompactionGainEstimate is not efficient |
| [OAK-2946] - Sampling rate feature CompactionGainEstimate is not efficient |
| [OAK-2949] - RDBDocumentStore: no custom SQL needed for GREATEST |
| [OAK-2950] - RDBDocumentStore: conditional fetch logic is reversed |
| [OAK-2952] - RDBConnectionHandler: log failures on setReadOnly() only once |
| [OAK-2966] - JDBC config for document store tests should be overridable |
| |
| |
| In addition to the above-mentioned changes, this release contains |
| all changes included in previous Apache Jackrabbit Oak 1.0.x releases. |
| |
| Please note, the backported RDB support for the DocumentNodeStore is considered |
| experimental at this point and is not yet ready for production use. Feel free |
| to try it out and report any issues you may see to the Oak developers. |
| |
| 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 SHA1 and MD5 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 |
| http://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/ |