You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-dev@jackrabbit.apache.org by Julian Sedding <js...@gmail.com> on 2016/03/03 12:33:04 UTC
Re: svn commit: r1733315 - /jackrabbit/oak/branches/1.4/RELEASE-NOTES.txt
Nitpick:
> +Changes in Oak 1.2.0
IMHO that should be "Changes in Oak 1.4.0"
This probably doesn't warrant a re-release, but if there *is* a
re-release due to OAK-4085[0] it would be nice to correct it.
Regards
Julian
[0] https://issues.apache.org/jira/browse/OAK-4085
On Wed, Mar 2, 2016 at 4:45 PM, <da...@apache.org> wrote:
> Author: davide
> Date: Wed Mar 2 15:45:23 2016
> New Revision: 1733315
>
> URL: http://svn.apache.org/viewvc?rev=1733315&view=rev
> Log:
> OAK-4073 - Release Oak 1.4.0
>
> release notes
>
>
> Modified:
> jackrabbit/oak/branches/1.4/RELEASE-NOTES.txt
>
> Modified: jackrabbit/oak/branches/1.4/RELEASE-NOTES.txt
> URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/RELEASE-NOTES.txt?rev=1733315&r1=1733314&r2=1733315&view=diff
> ==============================================================================
> --- jackrabbit/oak/branches/1.4/RELEASE-NOTES.txt (original)
> +++ jackrabbit/oak/branches/1.4/RELEASE-NOTES.txt Wed Mar 2 15:45:23 2016
> @@ -1,4 +1,4 @@
> -Release Notes -- Apache Jackrabbit Oak -- Version 1.3.16
> +Release Notes -- Apache Jackrabbit Oak -- Version 1.4.0
>
> Introduction
> ------------
> @@ -7,32 +7,809 @@ Jackrabbit Oak is a scalable, high-perfo
> repository designed for use as the foundation of modern world-class
> web sites and other demanding content applications.
>
> -Apache Jackrabbit Oak 1.3.16 is an unstable release cut directly from
> -Jackrabbit Oak trunk, with a focus on new features and other
> -improvements. For production use we recommend the latest stable 1.2.x
> -release.
> +Jackrabbit Oak 1.4 is an incremental feature release based on and
> +compatible with earlier stable Jackrabbit Oak 1.x releases. Jackrabbit
> +Oak 1.4.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.
>
> -Changes in Oak 1.3.16
> +Changes in Oak 1.2.0
> ---------------------
>
> Sub-task
>
> + [OAK-318] - Excerpt support
> + [OAK-1708] - extend DocumentNodeStoreService to support
> + RDBPersistence
> + [OAK-1828] - Improved SegmentWriter
> + [OAK-1860] - unit tests for concurrent DocumentStore access
> + [OAK-1940] - memory cache for RDB persistence
> + [OAK-2008] - authorization setup for closed user groups
> + [OAK-2171] - oak-run should support repository upgrades with all
> + available options
> + [OAK-2410] - [sonar]Some statements not being closed in
> + RDBDocumentStore
> + [OAK-2502] - Provide initial implementation of the Remote
> + Operations specification
> + [OAK-2509] - Support for faceted search in query engine
> + [OAK-2510] - Support for faceted search in Solr index
> + [OAK-2511] - Support for faceted search in Lucene index
> + [OAK-2512] - ACL filtering for faceted search
> + [OAK-2630] - Cleanup Oak jobs on buildbot
> + [OAK-2634] - QueryEngine should expose name query as property
> + restriction
> + [OAK-2700] - Cleanup usages of mk-api
> + [OAK-2701] - Move oak-mk-api to attic
> + [OAK-2702] - Move oak-mk to attic
> + [OAK-2747] - Admin cannot create versions on a locked page by
> + itself
> + [OAK-2756] - Move mk-package of oak-commons to attic
> + [OAK-2760] - HttpServer in Oak creates multiple instance of
> + ContentRepository
> + [OAK-2770] - Configurable mode for backgroundOperationLock
> + [OAK-2781] - log node type changes and the time needed to traverse
> + the repository
> + [OAK-2813] - Create a benchmark for measuring the lag of async
> + index
> + [OAK-2826] - Refactor ListeneableFutureTask to commons
> + [OAK-2828] - Jcr builder class does not allow overriding most of
> + its dependencies
> + [OAK-2850] - Flag states from revision of an external change
> + [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-2940] - RDBDocumentStore: "set" operation on _modified
> + appears to be implemented as "max"
> + [OAK-2943] - Support measure for union queries
> + [OAK-2944] - Support merge iterator for union order by queries
> + [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-2953] - Implement text extractor as part of oak-run
> + [OAK-2966] - JDBC config for document store tests should be
> + overridable
> + [OAK-2982] - BasicDocumentStoreTest: separate actual unit tests
> + from performance tests
> + [OAK-2985] - RDBDocumentStore: more diagnostics for long-running
> + queries
> + [OAK-2986] - RDB: switch to tomcat datasource implementation
> + [OAK-2987] - RDBDocumentStore: try PreparedStatement batching
> + [OAK-2995] - RDB*Store: check transaction isolation level
> + [OAK-3002] - Optimize docCache and docChildrenCache invalidation
> + by filtering using journal
> + [OAK-3009] - RDBDocumentStore: add support for optional additional
> + index
> + [OAK-3010] - RDBDocumentStore: remove hardwired "id-is-binary"
> + flag
> + [OAK-3012] - [oak-run] Add RDB with FDS fixture
> + [OAK-3031] - [Blob GC] Mbean for reporting shared repository GC
> + stats
> + [OAK-3096] - RDBDocumentStore: improve diagnostics for failed
> + batch inserts
> + [OAK-3108] - RDBDocumentStore: improve diagnostics for failed
> + inserts/updates caused by long data
> + [OAK-3114] - RDBDocumentStore: add BDATA DDL information to
> + startup diagnostics
> + [OAK-3184] - Consistency checker for data/blob store
> + [OAK-3192] - Provide a way to allow embedding application to be
> + notified about OSGi startup
> + [OAK-3193] - Integrate with Felix WebConsole
> + [OAK-3194] - Provide a way for embedding application to control
> + which all bundles are started
> + [OAK-3195] - Allow finer control for timeout handling in case of
> + repository startup
> + [OAK-3198] - reduce RDBDocumentStore class size, avoid code
> + duplication with RDBBlobStore
> + [OAK-3206] - DocumentStorePerformanceTest executed together with
> + unit tests
> + [OAK-3207] - Exercise for Password Expiry and History
> + [OAK-3210] - Complete privilege management related exercises
> + [OAK-3214] - Enable registration of MBean via Aries JMX Whiteboard
> + support
> + [OAK-3217] - Integrate with Felix Script Console
> + [OAK-3230] - Query engine should support virtual index rows
> + [OAK-3237] - Configure default index definition for fulltext
> + search
> + [OAK-3241] - Support including and excluding paths in
> + RepositorySidegrade
> + [OAK-3242] - Repeated upgrades in RepositorySidegrade
> + [OAK-3243] - Allow to skip copying versions in the
> + RepositorySidegrade
> + [OAK-3245] - Allow to set custom commit hooks in the
> + RepositorySidegrade
> + [OAK-3260] - oak-jcr: update test exclusions once JCR-3900 is
> + resolved
> + [OAK-3261] - consider existing locks when creating new ones
> + [OAK-3279] - Create StringUtils.estimateMemoryUsage(String)
> + [OAK-3280] - Remove Utils.estimateMemoryUsage(String)
> + [OAK-3306] - Create a copy of MemoryDocumentStore
> + [OAK-3338] - Deprecate CIHelper travis methods with profile
> + [OAK-3360] - Tracking the start time of mark in GC for a shared
> + datastore
> + [OAK-3443] - Track the start time of mark in GC
> + [OAK-3542] - evaluation for special tree types in aggregation
> + [OAK-3559] - Bulk document updates in MongoDocumentStore
> + [OAK-3924] - Fix database-level row deadlock during bulk updates
> + in RDB
> [OAK-3994] - Simple query on suggestion/spellcheck with
> unambiguous index def and one descendant clause should work
>
> Technical task
>
> + [OAK-2860] - RDBBlobStore: seen insert failures due to duplicate
> + keys
> + [OAK-3369] - OakDocumentRDBRepositoryStub should have working
> + default for JDBC URL
> + [OAK-3391] - RDBBlobStore: speed up testBigBlob(), also improve
> + memory usage
> + [OAK-3394] - RDBDocumentStore startup: log more DDL information
> + (incl. index information)
> + [OAK-3408] - RDBDocumentStore: improve MySQL diagnostics
> + [OAK-3410] - RDB*Store diagnostics: strip line feeds from product
> + information
> + [OAK-3413] - RDBDocumentStorePerformanceTest leaks
> + PreparedStatements
> + [OAK-3414] - RDBDocumentStore: improve DB2 diagnostics
> + [OAK-3421] - RDBDocumentStore: force DB2 to use a clustered index
> + [OAK-3422] - RDBDocumentStore: improve index diagnostics
> + [OAK-3438] - RDBDocumentStoreDB: leaking resultset
> + [OAK-3444] - Speed up DocumentDiscoveryLiteServiceTest
> + [OAK-3445] - RDBDocumentStore: when generating SQL for queries,
> + leave out unneeded constraints
> + [OAK-3446] - RDBDocumentStore: update PostgresQL and MySQL JDBC
> + drivers
> + [OAK-3532] - create RDB export tool
> + [OAK-3540] - DocumentStore tests: use named parametrization
> + [OAK-3566] - Stale documents in RDBDocumentStore cache
> + [OAK-3586] - ConflictException and CommitQueue should support a
> + list of revisions
> + [OAK-3604] - RDBDocumentStore: update JDBC drivers for PostgresQL,
> + MySQL, and Derby
> + [OAK-3605] - RDBBlob/DocumentStore: reduce class complexity
> + [OAK-3617] - RDBDocumentStore: improve retry logic in
> + updateDocument
> + [OAK-3620] - Increase lock stripes in RDBDocumentStore
> + [OAK-3624] - TypeEditor doesn't validate the required property
> + type
> + [OAK-3631] - RDBDocumentStore: improve logging for server time
> + difference detection
> + [OAK-3632] - Incorrect Value Conversion upon Node.setProperty and
> + Node.setValue
> + [OAK-3637] - Bulk document updates in RDBDocumentStore
> + [OAK-3645] - RDBDocumentStore: server time detection for DB2 fails
> + due to timezone/dst differences
> + [OAK-3652] - RDB support: extend RDB export tool for CSV export
> + [OAK-3657] - RDBDocumentStore: cache update logic introduced for
> + OAK-3566 should only be used for NODES collection
> + [OAK-3659] - Stale document in RDBDocumentStore cache
> + [OAK-3661] - RDBDocumentStore: improve logging for invalid data in
> + persistence
> + [OAK-3662] - Add bulk createOrUpdate method to the DocumentStore
> + API
> + [OAK-3670] - RDBDocumentStore on SQLServer: off-by-one bug may
> + cause truncated JSON to be written
> + [OAK-3676] - RDBDocumentStore on SQLServer: append logic creates
> + many different PreparedStatements
> + [OAK-3684] - RDBBlob/DocumentStore.finalize() do not call
> + super.finalize()
> + [OAK-3691] - RDBDocumentStore: refactor update logic
> + [OAK-3699] - RDBDocumentStore shutdown: improve logging
> + [OAK-3700] - authorization setup for closed user groups (follow
> + up)
> + [OAK-3714] - RDBDocumentStore diagnostics for Oracle might not
> + contain index information
> + [OAK-3722] - RDBDataSourceFactory: restore ability to close the
> + pool
> + [OAK-3724] - Use the bulk createOrUpdate in Commit
> + [OAK-3729] - RDBDocumentStore: implement RDB-specific VersionGC
> + support for lookup of deleted documents
> + [OAK-3730] - RDBDocumentStore: implement RDB-specific VersionGC
> + support for lookup of split documents
> + [OAK-3731] - Version Garbage Collection: improve logging for split
> + documents
> + [OAK-3737] - Compactor should log revisions acting upon
> + [OAK-3739] - RDBDocumentStore: allow schema evolution part 1:
> + check for required columns, log unexpected new columns
> + [OAK-3764] - RDB/NodeStoreFixture fails to track DataSource
> + instances
> + [OAK-3774] - Tool for detecting references to pre compacted
> + segments
> + [OAK-3785] - IndexDefinition should expose underlying node state
> + [OAK-3807] - Oracle DB doesn't support lists longer than 1000
> + [OAK-3816] - RDBBlobStoreTest should use named parameters
> + [OAK-3833] - Allow to acquire multiple locks
> + [OAK-3843] - MS SQL doesn't support more than 2100 parameters in
> + one request
> + [OAK-3845] - AbstractRDBConnectionTest fails to close the
> + DataSource
> + [OAK-3851] - RDB*Store: update PostgreSQL and MySQL JDBC driver
> + dependencies
> + [OAK-3852] - RDBDocumentStore: batched append logic may loose
> + property changes
> + [OAK-3855] - oak-run compact should check segment version
> + [OAK-3867] - RDBDocumentStore: refactor JSON support
> + [OAK-3868] - Move createSegmentWriter() from FileStore to
> + SegmentTracker
> + [OAK-3873] - Don't pass the compaction map to FileStore.cleanup
> + [OAK-3892] - RDBDocumentStore: StripedNodeDocumentLocks - special
> + case root?
> + [OAK-3896] - RDBDocumentStore: export tool - improve handling of
> + export files allowing to override column order
> + [OAK-3925] - oak-run backup/recover should check segment version
> + [OAK-3926] - oak-run checkpoint should check segment version
> + [OAK-3927] - oak-run primary/standby should check segment version
> + [OAK-3928] - oak-run debug should use a read-only store
> + [OAK-3934] - Log ids of segments being released for gc because of
> + their age.
> + [OAK-3937] - Batch createOrUpdate() may fail with primary key
> + violation
> + [OAK-3938] - Occasional failure in
> + MultiDocumentStoreTest.batchUpdateCachedDocument()
> + [OAK-3943] - Check for the right segment version uniformly in
> + oak-run
> + [OAK-3945] - RDBDocumentStore: internalCreateOrUpdate() needs to
> + check return code of insertDocuments()
> + [OAK-3954] - [oak-blob-cloud] Update oak-blob-cloud with
> + jackrabbit-aws-ext updates
> + [OAK-3959] - RDBDocumentStore: always upsert in the bulk updates
> + [OAK-3969] - CacheConsistencyRDBTest creates overlong table names
> + [OAK-3971] - RDBDocumentStore: include table name when logging
> + slow/excessive queries
> + [OAK-4016] - Document composite authorization setup
> [OAK-4020] - RDBExport: misleading warning about column names
> [OAK-4021] - RDBDocumentStore: create() for collections other than
> NODES is broken
> + [OAK-4033] - RDBDocumentStore: refactor version check to address
> + driver version as well
> + [OAK-4034] - RDBDocumentStore: use and require Oracle 12.1 JDBC
> + driver
>
> Bug
>
> + [OAK-260] - Avoid the "Turkish Locale Problem"
> + [OAK-955] - Query: Filter doesn't contain fulltext constraints
> + from joins
> + [OAK-1501] - Property index on "jcr:primaryType" returns the wrong
> + cost
> + [OAK-1648] - Creating multiple checkpoint on same head revision
> + overwrites previous entries
> + [OAK-1649] - NamespaceException: OakNamespace0005 on save, after
> + replica crash
> + [OAK-1763] - OrderedIndex does not comply with JCR's compareTo
> + semantics
> + [OAK-1842] - ISE: "Unexpected value record type: f2" is thrown
> + when FileBlobStore is used
> + [OAK-2165] - Observation tests sporadically failing
> + [OAK-2231] - Searching authorizables with ' and ] in authorizable
> + id and/or principal name
> + [OAK-2374] - Sporadic test failure of OSGiIT.listBundles on
> + Buildbot
> + [OAK-2379] - Regular CI failures for DOCUMENT_RDB on buildbot
> + [OAK-2401] - SegmentNodeStoreService prone to deadlocks
> + [OAK-2480] - Incremental (FileStore)Backup copies the entire
> + source instead of just the delta
> + [OAK-2539] - SQL2 query not working with filter (s.[stringa] = 'a'
> + OR CONTAINS(s.[stringb], 'b'))
> + [OAK-2569] - LuceneIndex#loadDocs can throw
> + IllegalArgumentException
> + [OAK-2592] - Commit does not ensure w:majority
> + [OAK-2635] - TimeSeriesMax's frequent 'drops to 0'
> + [OAK-2636] - Issues with Maximum node name size and path size
> + [OAK-2641] - FilterImpl violates nullability contract
> + [OAK-2655] - Test failure: OrderableNodesTest.testAddNode
> + [OAK-2656] - Test failures in LDAP authentication: Failed to bind
> + an LDAP service
> + [OAK-2660] - Wrong result when using multiple OR conditions, with
> + a Lucene full-text index
> + [OAK-2662] - SegmentOverflowException in HeavyWriteIT on Jenkins
> + [OAK-2663] - Unique property index can trigger OOM during upgrade
> + of large repository
> + [OAK-2689] - Test failure: QueryResultTest.testGetSize
> + [OAK-2712] - Possible null-dereference when calling
> + ItemImpl#perform
> + [OAK-2723] - FileStore does not scale because of precomputed graph
> + on TarReader
> + [OAK-2732] - NPE in lucene search
> + [OAK-2734] - Compaction does not finish on repository with
> + continuous writes
> + [OAK-2736] - Oak instance does not close the executors created
> + upon ContentRepository creation
> + [OAK-2740] - TreeTypeProvider treates optimized node type
> + definition info as Ac-Content
> + [OAK-2750] - Indexing for sorting can fail if value is too long
> + [OAK-2752] - SegmentIdTable can sometimes hang when calling
> + getSegmentId(msb, lsb)
> + [OAK-2759] - Empty commit causes deserialization issue in
> + LocalDiffCache leading to cache corruption
> + [OAK-2765] - Fix high priority FindBugs reports for oak-solr
> + [OAK-2778] - DocumentNodeState is null for revision rx-x-x
> + [OAK-2780] - DocumentMK.commit() does not check if node exists on
> + property patch
> + [OAK-2782] - Tika not able to load class in case of custom config
> + [OAK-2784] - Remove Nullable annotation in Predicates of
> + BackgroundObserver
> + [OAK-2796] - Persistent cache: old files not removed sometimes
> + [OAK-2798] - OakIndexInput should unset OakIndexFile's byte[] upon
> + close
> + [OAK-2799] - OakIndexInput cloned instances are not closed
> + [OAK-2803] - RepositoryUpgrade.copy() doesn't create correct
> + templates for residual item definitions
> + [OAK-2810] - Cannot copy a node if parent is not accessible
> + [OAK-2811] - Oak + data store: NPE in
> + SegmentNodeStoreService.deactivate() leads to data store not
> + shutting down properly
> + [OAK-2815] - Persistent cache may block commit
> + [OAK-2817] - TARMK Cold Standby cleanup removes too many binary
> + segments
> + [OAK-2820] - SolrServerProviderService should leverage
> + OakSolrServer
> + [OAK-2827] - [oak-blob-cloud] Test Failures: Add joda-time
> + dependency explicitly with definite version range
> + [OAK-2831] - Test classes extending AbstractImportTest do not
> + always shut down repository instances properly
> + [OAK-2832] - Test failure: DefaultAnalyzersConfigurationTest
> + [OAK-2838] - Test failure: OSGiIT
> + [OAK-2840] - Login Benchmark Test broken due to OAK-2128
> + [OAK-2845] - Memory leak in ObserverTracker#removedService
> + [OAK-2852] - Query engine: if counter index is not available, cost
> + of traversing is too low
> + [OAK-2855] - CopyOnReadDirectory mode might delete a valid local
> + file upon close
> + [OAK-2858] - Test failure: ObservationRefreshTest
> + [OAK-2859] - Test failure: OrderableNodesTest
> + [OAK-2863] - No matching result found with use of relative
> + property names in fulltext search in some cases
> + [OAK-2864] - XPath backwards compatibility issue with false() and
> + true()
> + [OAK-2867] - CommitQueue.done() may fail to remove commit
> + [OAK-2869] - RepositorySidegrade: AsyncIndexUpdate throws a
> + IllegalArgumentException after migrating from segment to document
> + store
> + [OAK-2872] - ExternalLoginModule should clear state when login was
> + not successful
> + [OAK-2873] - Performance problems with many "or" conditions
> + [OAK-2874] - [ldap] enable listUsers to work for more than 1000
> + external users
> + [OAK-2877] - Test failure: OrderableNodesTest.setPrimaryType
> + [OAK-2878] - Test failure: AutoCreatedItemsTest.autoCreatedItems
> + [OAK-2880] - NPE in SegmentWriter.writeMap
> + [OAK-2881] - ConsistencyChecker#checkConsistency can't cope with
> + inconsistent journal
> + [OAK-2890] - SegmentBlob does not return blobId for
> + contentIdentity
> + [OAK-2900] - Trying to remove a non existing element from a map
> + might cause NPE
> + [OAK-2903] - Test failures: ldap tests fail on Jenkins
> + [OAK-2904] - test failures for oak-auth-ldap on Windows
> + [OAK-2913] - TokenLoginModule should clear state in case of a
> + login exception
> + [OAK-2929] - Parent of unseen children must not be removable
> + [OAK-2933] - AccessDenied when modifying transiently moved item
> + with too many ACEs
> + [OAK-2934] - Certain searches cause lucene index to hit
> + OutOfMemoryError
> + [OAK-2938] - Estimation of required memory for compaction is off
> + [OAK-2951] - Regression: SSL errors with latest ldap client
> + [OAK-2960] - SegmentNodeStoreService doesn't fully implement a
> + @Modified method
> + [OAK-2961] - Async index fails with OakState0001: Unresolved
> + conflicts in /:async
> + [OAK-2962] - SegmentNodeStoreService fails to handle empty strings
> + in the OSGi configuration
> + [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
> + [OAK-2973] - [Blob GC] Report accurate deleted count
> + [OAK-2979] - JournalTest.cleanupTest reliably fails on Windows
> + [OAK-2999] - Index updation fails on updating multivalued property
> + [OAK-3000] - SimpleExcerptProvider causes OOM for some wildcard
> + expressions
> + [OAK-3007] - SegmentStore cache does not take "string" map into
> + account
> + [OAK-3013] - SQL2 query with union, limit and offset can return
> + invalid results
> + [OAK-3015] - Unapproved licences in oak-remote
> + [OAK-3016] - Unapproved licences in oak-excercise
> + [OAK-3019] - VersionablePathHook must not process hidden nodes
> + [OAK-3020] - Async Update fails after IllegalArgumentException
> + [OAK-3021] - UserValidator and AccessControlValidator must not
> + process hidden nodes
> + [OAK-3022] - DocumentNodeStoreService fails to handle empty
> + strings in the OSGi configuration
> + [OAK-3023] - Long running MongoDB query may block other threads
> + [OAK-3026] - test failures for oak-auth-ldap on Windows
> + [OAK-3027] - NullPointerException from Tika if SupportedMediaType
> + is null in LuceneIndexEditorContext
> + [OAK-3028] - Hierarchy conflict detection broken
> + [OAK-3029] - EmbeddedSolrServerProvider should check if core is /
> + can be loaded
> + [OAK-3032] - LDAP test failures
> + [OAK-3035] - ReferenceEditor reindex detection broken
> + [OAK-3045] - Incorrect assertion message in PathUtils#isAncestor()
> + [OAK-3047] - RemoteServerIT test are failing on the CI server
> + [OAK-3053] - Locking issues seen with CopyOnWrite mode enabled
> + [OAK-3061] - oak-authorization-cug uses wrong parent pom
> + [OAK-3062] - VersionGC failing on Mongo with
> + CursorNotFoundException
> + [OAK-3064] - Oak Run Main.java passing values in the wrong order
> + [OAK-3065] - RemoteServerIT failing due to address already in use
> + [OAK-3067] - Lucene IndexCopier should increase
> + readerRemoteReadCount for new files
> + [OAK-3079] - LastRevRecoveryAgent can update _lastRev of children
> + but not the root
> + [OAK-3080] - JournalTest.cleanupTest failure on CI
> + [OAK-3081] - SplitOperations may undo committed changes
> + [OAK-3082] - Redundent entries in effective policies per
> + principal-set
> + [OAK-3083] - Unable to resolve org.apache.jackrabbit.oak-core
> + (missing service
> + org.apache.jackrabbit.core.util.db.ConnectionFactory)
> + [OAK-3084] - Commit.applyToDocumentStore(Revision) may rollback
> + committed changes
> + [OAK-3089] - LIRS cache: zero size cache causes
> + IllegalArgumentException
> + [OAK-3091] - Remove duplicate logback-classic dependency entry
> + from oak-lucene pom
> + [OAK-3098] - CopyOnWrite might block Async indexer thread
> + indefinitely
> + [OAK-3099] - Revision GC fails when split documents with very long
> + paths are present
> + [OAK-3101] - wrong use of jcr:score in Solr when sorting
> + [OAK-3102] - LuceneIndexEditorTest#copyOnWriteAndLocks failing on
> + windows
> + [OAK-3103] - Stale document in MongoDocumentStore cache
> + [OAK-3104] - Version garbage collector doesn't collect a rolled
> + back document if it was never deleted
> + [OAK-3105] - SegmentWriter doesn't properly check the length of
> + external blob IDs
> + [OAK-3106] - DocumentStorePerformanceTest collects duplicate ids
> + to remove
> + [OAK-3109] - OOME in tarkmk standby tests
> + [OAK-3110] - AsyncIndexer fails due to FileNotFoundException
> + thrown by CopyOnWrite logic
> + [OAK-3116] - SolrQueryIndexProviderService should not blindly
> + register a QueryIndexProvider
> + [OAK-3123] - NPE in RecordIdMap
> + [OAK-3130] - ReferenceEditor may not enforce referential integrity
> + [OAK-3131] - DocumentNodeStore doesn't serialize blobs that have
> + been created in a different store
> + [OAK-3136] - High memory usage of SegmentDataStoreBlobGCTest
> + [OAK-3137] - Global fulltext index returning plan for pure
> + NodeType queries
> + [OAK-3138] - OOME in NodeStateCopierTest
> + [OAK-3139] - SNFE in persisted comapation map when using CLEAN_OLD
> + [OAK-3143] - lucene command for oak-run console doesn't work
> + [OAK-3149] - SuggestHelper should manage a suggestor per index
> + definition
> + [OAK-3155] - AsyncIndex stats do not capture execution for runs
> + where no indexing is performed
> + [OAK-3156] - Lucene suggestions index definition can't be
> + restricted to a specific type of node
> + [OAK-3157] - Lucene suggestions don't work if suggested phrases
> + don't return documents on :fulltext search
> + [OAK-3158] - IAE when specifiying 2G cache for FileStore
> + [OAK-3164] - MemoryNodeStore issues duplicate checkpoint
> + [OAK-3167] - [Blob GC] Wrong time units for blobGcMaxAge are
> + passed from SegmentNodeStoreService
> + [OAK-3168] - SegmentCache flushes Segment on update
> + [OAK-3169] - rep:versionablePaths mixin not always set for
> + versionable nodes
> + [OAK-3171] - Conflict Exception logs path information only on
> + DEBUG
> + [OAK-3179] - Deadlock between persisted compaction map and cleanup
> + [OAK-3191] - Oak UserManager#getAuthorizable handles null and
> + empty string differently than Jackrabbit
> + [OAK-3196] - ConfigInstaller removing the configs on restart
> + [OAK-3197] - RepositoryImpl doesn't close the scheduler nicely
> + [OAK-3199] - DocumentNodeState ignores binary value for memory
> + calculation
> + [OAK-3200] - Build Failure due to LuceneSupportTest and
> + OakOSGiRepositoryFactoryTest
> + [OAK-3201] - Use static references in SecurityProviderImpl for
> + composite services
> + [OAK-3215] - Solr test often fail with No such core: oak
> + [OAK-3218] - UserProvider.getFolderPath may throw
> + StringIndexOutOfBoundsException
> + [OAK-3231] - Change default maxCachedBinarySize to match lucene
> + DEFAULT_BLOB_SIZE
> + [OAK-3234] - LIRS cache: possible deadlock while loading an entry
> + [OAK-3235] - Deadlock when closing a concurrently used FileStore
> + [OAK-3246] - MultiDocumentStoreTest might fail to clean up test
> + nodes
> + [OAK-3248] - Felix Connect throws exception when launching Oak in
> + Spring Boot env
> + [OAK-3249] - Some version copy settings conflicts with the
> + earlyShutdown
> + [OAK-3264] - Deadlock between persisted compaction map and cleanup
> + 2
> + [OAK-3265] - Test failures: NodeLocalNameTest, NodeNameTest
> + [OAK-3281] - Test failures on trunk: SolrIndexQueryTestIT.sql2
> + [OAK-3282] - DataStoreBlobStore cache ignores key for memory
> + calculation
> + [OAK-3283] - Background read does not close StringSort
> + [OAK-3289] - ClusterViewDocument should store longs, not integers
> + [OAK-3295] - Test failure: NodeTypeTest.trivialUpdates
> + [OAK-3301] - AbstractRepositoryUpgrade leaks Repository instances
> + [OAK-3304] - ClusterViewDocument uses Map as property value
> + [OAK-3305] - Self recovering instance may not see all changes
> + [OAK-3310] - Write operations on Property do not check checked-out
> + state of Node
> + [OAK-3311] - Potential NPE in syncAllExternalUsers() aborts the
> + process
> + [OAK-3313] - Many tests leak DocumentNodeStore instances
> + [OAK-3317] - ConcurrentModificationException when running
> + SegmentOverflowExceptionIT
> + [OAK-3318] - IndexRule not respecting inheritence based on mixins
> + [OAK-3324] - Evaluation with restriction is not consistent with
> + parent ACLs
> + [OAK-3325] - MissingIndexProviderStrategy should warn when setting
> + the reindex flag
> + [OAK-3333] - SplitOperations purges _commitRoot entries too
> + eagerly
> + [OAK-3335] - RepositorySidegrade has runtime dependency on
> + jackrabbit-core
> + [OAK-3343] - LIRS Cache: investigate concurrency behavior
> + [OAK-3344] - Commit may add collision marker for committed
> + revision
> + [OAK-3354] - Clock.Fast delays repository shutdown
> + [OAK-3356] - Unclosed sessions in oak-jcr and oak-upgrade tests
> + [OAK-3366] - Property indexes reindex flag getting reset to true
> + at startup
> + [OAK-3367] - Boosting fields not working as expected
> + [OAK-3371] - Wrong evaluation of NOT clause
> + [OAK-3375] - RepositoryManager doesn't perform a shutdown of
> + OsgiRepository on deactivation
> + [OAK-3376] - DocumentNodeStoreTest.dispose() waiting indefinitely
> + on ArrayBlockingQueue.put()
> + [OAK-3377] - Two spaces in SQL2 fulltext search -> error
> + [OAK-3383] - "The unbindBlobDataSource method has thrown an
> + exception" message on shutdown of the RDBMK
> + [OAK-3386] - ConcurrentAddNodesClusterIT.addNodesConcurrent()
> + blocks occasionally
> + [OAK-3388] - Inconsistent read in cluster with clock differences
> + [OAK-3390] - Avoid instanceof check in DocumentNodeStore
> + [OAK-3395] - RevisionGC fails for JCR paths having line feed
> + characters
> + [OAK-3396] - NPE during syncAllExternalUsers in
> + LdapIdentityProvider.createUser
> + [OAK-3400] - ClusterNodeInfo should not be osgi-dependent (for
> + lease check failure handling)
> + [OAK-3405] - Avoid instanceof check in LastRevRecoveryAgent
> + [OAK-3411] - Inconsistent read on DocumentNodeStore startup
> + [OAK-3412] - Node name having non space whitspace chars should not
> + be allowed
> + [OAK-3416] - Query: join on different property types fails
> + [OAK-3417] - oak-run OakFixture might set incorrect clusterIDs
> + [OAK-3418] - ClusterNodeInfo uses irrelevant network interface IDs
> + on Windows
> + [OAK-3419] - ClusterNodeInfo.createInstance fails to clean up
> + random entries
> + [OAK-3420] - DocumentNodeStoreService fails to restart
> + DocumentNodeStore
> + [OAK-3423] - RandomAuthorizableNodeName should not be part of the
> + default configuration of SecurityProviderImpl
> + [OAK-3424] - ClusterNodeInfo does not pick an existing entry on
> + startup
> + [OAK-3431] - SecurityProviderRegistration should not be part of an
> + exported package
> + [OAK-3432] - ConcurrentTest.testLoaderBlock fails because of
> + waiting issue
> + [OAK-3433] - Background update may create journal entry with
> + incorrect id
> + [OAK-3434] - Revert backwards-incompatible changes to
> + SecurityProviderImpl
> + [OAK-3442] - Intermittent IllegalMonitorStateException seen while
> + releaseing IndexNode
> + [OAK-3451] - OrderedIndexIT fails
> + [OAK-3456] - MongoBlobGCTest.gcLongRunningBlobCollection() fails
> + [OAK-3463] - Communicate Password Change Failure Reason During
> + Expiry + Pw History
> + [OAK-3470] - Utils.estimateMemoryUsage has a NoClassDefFoundError
> + when Mongo is not being used
> + [OAK-3473] - CliUtils#handleSigInt uses classes from sun.misc.*
> + [OAK-3474] - NodeDocument.getNodeAtRevision can go into property
> + history traversal when latest rev on current doc isn't committed
> + [OAK-3476] - Memory leak caused by using marker names based on non
> + static session id
> + [OAK-3480] - Query engine: faster cost calculation (take 2)
> + [OAK-3481] - CompactionMapTest does not close file store
> + [OAK-3487] - NodeDocumentTest.getNewestRevisionTooExpensive()
> + fails occasionally
> + [OAK-3490] - QueryTest.orderBy() fails occasionally
> + [OAK-3491] - DocumentDiscoveryLiteServiceTest makes incorrect call
> + to MissingLastRevRecovery
> + [OAK-3492] - reduce DocumentDiscoveryLiteService hasBacklog WARNs
> + [OAK-3493] - Deadlock when closing a concurrently used FileStore
> + 2.0
> + [OAK-3499] - Test failures when there is no network interface
> + [OAK-3510] - Troublesome ExternalIdentityRef.equals(Object)
> + implementation
> + [OAK-3511] - Test failure: CompactionMapTest.removeSome
> + [OAK-3513] - Session save going through despite repository being
> + shutdown causing reindex flag to reset
> + [OAK-3517] - Node.addNode(String, String) may check
> + nt-mgt-permission against the wrong node
> + [OAK-3522] - DefaultSyncContext exposes internal path-utility
> + method
> + [OAK-3523] - DefaultSyncContext catches ClassCastException
> + [OAK-3530] - TreeTypeProvider returns wrong type for version
> + related node type definitions
> + [OAK-3541] - VersionableState.copy doesn't respect OPV flag in the
> + subtree
> + [OAK-3549] - Initial read of _lastRev creates incorrect
> + RevisionComparator
> + [OAK-3551] - Failing version restore tests
> + [OAK-3556] - MongoDocumentStore may create incomplete document
> + [OAK-3557] - NodeDocument.isConflicting() reads complete revision
> + history for changed property
> + [OAK-3558] - oak-core imports every package with the optional
> + resolution policy
> + [OAK-3567] - Long running query holds TreeLock
> + [OAK-3579] - BackgroundLeaseUpdate not scheduled when asyncDelay=0
> + [OAK-3582] - Background split may throw NPE
> + [OAK-3584] - PathNotFoundException when reading child node and
> + property definitions below nt root
> + [OAK-3589] - Property index with declaringNodeTypes sometimes used
> + by mistake
> + [OAK-3590] - Incomplete doc of GlobPattern
> + [OAK-3591] - Lucene index with 'analyzed=true' sometimes used by
> + mistake
> + [OAK-3592] - merge-paths option not working for repository upgrade
> + [OAK-3608] - Compare of node states on branch may be incorrect
> + [OAK-3612] - The string/template cache of the SegmentWriter should
> + be cleared before cleanup
> + [OAK-3621] - Required property type not respected
> + [OAK-3625] - Test cases using wrong property types
> + [OAK-3628] - baseline failures on trunk
> + [OAK-3630] - Mixin based rules not working for relative properties
> + [OAK-3634] - RDB/MongoDocumentStore may return stale documents
> + [OAK-3638] - NodeAggregator in SolrQueryIndexProviderService
> + should be volatile
> + [OAK-3639] - Wrong method name for "updated" reference in
> + SolrServerProviderService
> + [OAK-3646] - Inconsistent read of hierarchy
> + [OAK-3653] - Incorrect last revision of cached node state
> + [OAK-3658] - Test failures: JackrabbitNodeTest#testRename and
> + testRenameEventHandling
> + [OAK-3663] - LastRevRecoveryRandomizedIT fails with seed 10848868
> + [OAK-3668] - Potential test failure:
> + CompactionAndCleanupIT#testMixedSegments
> + [OAK-3671] - Incomplete cleanup of entries in ACL
> + [OAK-3672] - discovery-lite should not set (cluster)Id for tarMk
> + and mongoMk (was: SegmentDiscoveryLiteService does not persist
> + clusterView.id)
> + [OAK-3673] - NotCompliantMBeanException for QueryEngineSettings,
> + QueryStatManager, RepositoryStatsMBean
> + [OAK-3682] - Missing lucene-memory dependency in OSGi env breaks
> + excerpt
> + [OAK-3689] - OakOSGiRepositoryFactory shutting down the repository
> + twice
> + [OAK-3692] - java.lang.NoClassDefFoundError:
> + org/apache/lucene/index/sorter/Sorter$DocComparator
> + [OAK-3697] - Baseline failure in oak-lucene
> + [OAK-3701] - Exception in JcrRemotingServlet at startup
> + [OAK-3709] - CugValidator should ignore node type definitions
> + [OAK-3732] - Offline compaction doesn't clean up unreferenced tar
> + files
> + [OAK-3733] - Sometimes hierarchy conflict between concurrent
> + add/delete isn't detected
> + [OAK-3738] - Datastore directory shouldn't be moved after the
> + migration
> + [OAK-3740] - ValueImpl has references on classes internal to
> + SegmentStore
> + [OAK-3741] - AbstractCheckpointMBean references
> + SegmentCheckpointMBean
> + [OAK-3742] - FileStoreBackup and FileStoreRestore have a reference
> + on Segment Store classes
> + [OAK-3751] - Limit the unique index "authorizableId" to the
> + "rep:Authorizable" nodetype
> + [OAK-3753] - Test failure: HeavyWriteIT
> + [OAK-3756] - NodeStateUtils wrong indentation for toString method
> + [OAK-3759] - UserManager.onCreate is not omitted for system users
> + in case of XML import
> + [OAK-3762] - StandbyServerhandler catches IllegalStateException
> + instead of IllegalRepositoryStateException
> + [OAK-3763] - EmptyNodeState.equals() broken
> + [OAK-3765] - Parallelized test runner does not wait for test
> + completion
> + [OAK-3769] - QueryParse exception when fulltext search performed
> + with term having '/'
> + [OAK-3775] - Inconsistency between Node.getPrimaryType and
> + Node.isNodeType
> + [OAK-3792] - Provide Simple Exception Name in Credentials
> + Attribute for PW Expiry
> + [OAK-3793] - The Explorer should expect loops in the segment graph
> + [OAK-3794] - The Cold Standby should expect loops in the segment
> + graph
> + [OAK-3798] - NodeDocument.getNewestRevision() incorrect when there
> + are previous documents
> + [OAK-3800] - Lucene spell check index definition can't be
> + restricted to a specific type of node
> + [OAK-3802] - SessionMBean not getting registered due to
> + MalformedObjectNameException
> + [OAK-3817] - Hidden properties (one prefixed with ':') in lucene's
> + analyzer configuration fail to construct analyzers
> + [OAK-3821] - Lucene directory: improve exception messages
> + [OAK-3826] - Lucene index augmentation doesn't work in Osgi
> + environment
> + [OAK-3838] - IndexPlanner incorrectly lets all full text indices
> + to participate for suggest/spellcheck queries
> + [OAK-3848] - ConcurrentAddNodesClusterIT.addNodesConcurrent()
> + fails occasionally
> + [OAK-3849] - After partial migration versions are not restorable
> + [OAK-3856] - Potential NPE in SegmentWriter
> + [OAK-3859] - Suspended commit depends on non-conflicting change
> + [OAK-3863] - [oak-blob-cloud] Incorrect export package
> + [OAK-3864] - Filestore cleanup removes referenced segments
> + [OAK-3872] - [RDB] Updated blob still deleted even if deletion
> + interval lower
> + [OAK-3879] - Lucene index / compatVersion 2: search for 'abc!'
> + does not work
> + [OAK-3881] - TCPBroadcaster causes shutdown delay
> + [OAK-3882] - Collision may mark the wrong commit
> + [OAK-3889] - SegmentMk StringCache memory leak
> + [OAK-3891] - AsyncIndexUpdateLeaseTest doesn't use the provided
> + NodeStore
> + [OAK-3897] - Branch reset does not revert all changes
> + [OAK-3900] - AtomicCounterClusterIT fails occasionally
> + [OAK-3901] - SecurityProviderRegistration must respect service
> + ranking of aggregated configurations
> + [OAK-3902] - SecurityProviderRegistration doesn't fill the
> + composite context
> + [OAK-3903] - Commit fails even though change made it to the
> + DocumentStore
> + [OAK-3908] - Don't skip maven-bundle-plugin:baseline when
> + skipTests is true
> + [OAK-3909] - Documentation site failure
> + [OAK-3911] - Integer overflow causing incorrect file handling in
> + OakDirectory for file size more than 2 GB
> + [OAK-3912] - Segment bundle tests have wrong package name
> + [OAK-3913] - FileStoreIT#testRecovery fails on Windows
> + [OAK-3917] - SuggestionHelper creating unnecessary temporary
> + directories
> + [OAK-3920] - OakDirectory not usable in readOnly mode with a
> + readOnly builder
> + [OAK-3922] - Provide flag to disable template cache in segments
> + [OAK-3923] - Async indexing delayed by 30 minutes because stop
> + order is incorrect
> + [OAK-3929] - RevisionGC does not invalidate document cache
> + [OAK-3930] - Sysview import of single valued mv property creates
> + sv property
> + [OAK-3932] - DocumentStore.getIfCached() must not return
> + NodeDocument.NULL
> + [OAK-3939] - SegmentMK Template equals and hashCode broken
> + [OAK-3949] - Deadlock with bulk acquire of TreeLocks
> + [OAK-3951] - TimingDocumentStoreWrapper throws NPE
> + [OAK-3955] - AtomicCounterEditorTest - Remove spurious import
> + [OAK-3956] - Oak run extract the dummy BlobStore impl to be used
> + by the readonly FileStore
> + [OAK-3961] - Cold Standby revisit timeout setup
> + [OAK-3962] - SolrQueryIndex should implement NativeQueryIndex
> + [OAK-3963] - Cold Standby optimize sync for checkpoints
> [OAK-3965] - SegmentPropertyState external binary property reports
> unusual size
> + [OAK-3966] - Indexing all properties for facets is way too much
> + [OAK-3968] - Wrong initialization of used/ignored properties from
> + OSGi configuration
> + [OAK-3974] - regression:
> + OakSolrConfigurationProviderService.activate can throw a NPE
> [OAK-3981] - Change in aggregation flow in OAK-3831 causes some
> properties to be left out of aggregation
> [OAK-3988] - Offline compaction should avoid loading external
> @@ -47,14 +824,574 @@ Bug
> [OAK-4009] - Search done via Lucene index might return duplicate
> results
> [OAK-4011] - Set online compaction default to paused
> + [OAK-4012] - OOM during tests on Jenkins
> [OAK-4017] - ObservationTest: tearDown() may fail with NPE
> [OAK-4018] - Test failures after upgrading to JR 2.12.0
> + [OAK-4023] - AtomicCounterClusterIT does not shut down scheduled
> + executors
> + [OAK-4024] - CoW uses incorrect directory on re-indexing when
> + indexPath property is used
> + [OAK-4030] - DocumentNodeStore: required server time accuracy
> + [OAK-4032] - Performance issues on Oracle after introducing bulk
> + updates
> + [OAK-4036] - LuceneIndexProviderService may miss on registering
> + PreExtractedTextProvider
> + [OAK-4038] - o.a.j.o.spi.query.Filter exposes unexported class
> + o.a.j.o.query.ast.SelectorImpl
> + [OAK-4040] - Some classes from o.a.j.o.plugins.segment.compaction
> + should be exported
> + [OAK-4044] - Ungraceful shutdown of embedded Solr server can
> + result in Solr index not usable
> + [OAK-4045] - NPE when running oak-run from within the IDE
> + [OAK-4046] - NPE in oak-run graph when repository contains bulk
> + segments
> + [OAK-4047] - Option for collapsing jcr:content nodes doesn't work
> + in embedded Solr
> + [OAK-4050] - SplitOperations may not retain most recent committed
> + _commitRoot entry
> + [OAK-4051] - NodeStateSolrServersObserverService won't activate
> + even if enabled
> + [OAK-4052] - NonLocalObservationIT fails occasionally
> + [OAK-4053] - DocumentDiscoveryLiteServiceTest fails occasionally
> + [OAK-4055] - Queries on a Solr index defined on a subtree return
> + unconsistent paths
> + [OAK-4058] - Cold Standby intermittently throws
> + RejectedExecutionException
> + [OAK-4059] - Tests in oak-lucene do not shut down repository
> + [OAK-4061] - QueryJcrTestIT times out on travis
> + [OAK-4066] - Suggestion dictionary don't update after
> + suggestUpdateFrequencyMinutes unless something else causes index
> + update
> + [OAK-4067] - AssertionError thrown for Lucene index with empty
> + suggest disctionary
> + [OAK-4068] - Align default value of suggestUpdateFrequencyMinutes
> + to match documented 10 minutes
> + [OAK-4077] - Reregister node type may not update definition
> + correctly
> + [OAK-4082] - Don't pool prepared statements using lists
> + [OAK-4083] - Simplify concurrency when loading data from the
> + primary
> +
> +Documentation
> +
> + [OAK-3452] - Document possible migration options
> + [OAK-3515] - Document how to create diagnostic builds
> + [OAK-3521] - Improve migration documentation
> + [OAK-3666] - Add information about repeated upgrade to
> + documentation
> + [OAK-3736] - Document changing OOTB index definitions
> + [OAK-3808] - Fix broken link on 'Backward compatibility' - 'Query'
> + section
> + [OAK-3894] - Atomic counter documentation
> + [OAK-4062] - Update the merge-paths example in the migration doc
> + [OAK-4079] - Document oak-run compact
> +
> +Epic
> +
> + [OAK-144] - Implement observation
> + [OAK-1844] - Verify resilience goals
> + [OAK-3693] - Expose the internal state of the repository through
> + indicators and checks
> + [OAK-3744] - Move the Segment Store into its own bundle
> + [OAK-3814] - Collect and expose important runtime statistics
> + across various part of Oak
>
> Improvement
>
> + [OAK-1610] - Improved default indexing by JCR type in
> + SolrIndexEditor
> + [OAK-1617] - Automatically convert "or" queries to "union" for
> + SQL-2
> + [OAK-1735] - Query: automatically update index statistics to get
> + better cost estimates
> + [OAK-1744] - GQL queries with "jcr:primaryType='x'" don't use the
> + node type index
> + [OAK-1752] - Node name queries should use an index
> + [OAK-1764] - Clean default solrconfig / schema provided with Solr
> + indexer
> + [OAK-1900] - Improve IndexUtils to manage index definitions
> + [OAK-1910] - The query engine cost calculation is incorrect
> + [OAK-1970] - Optimize the diff logic for large number of children
> + case
> + [OAK-1974] - Fail fast on branch conflict
> + [OAK-2006] - Verify the maven baseline output and fix the warnings
> + [OAK-2016] - Make blob gc max age configurable in
> + SegmentNodeStoreService
> + [OAK-2023] - Optimal index usage for XPath queries with "order by"
> + combined with "or"
> + [OAK-2066] - DocumentStore API: batch create, but no batch update
> + [OAK-2242] - provide a way to update the "created" timestamp of a
> + NodeDocument
> + [OAK-2472] - Add support for atomic counters on cluster solutions
> + [OAK-2477] - Move suggester specific config to own configuration
> + node
> + [OAK-2543] - Service user session creation isn't fast enough
> + [OAK-2547] - "not equals" conditions should be passed to the index
> + [OAK-2586] - Support including and excluding paths during upgrade
> + [OAK-2609] - Thread.interrupt seems to stop repository
> + [OAK-2618] - Improve performance of queries with ORDER BY and
> + multiple OR filters
> + [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-2675] - Include change type information in perf logs for diff
> + logic
> + [OAK-2679] - Query engine: faster cost calculation
> + [OAK-2681] - Update lease without holding lock
> + [OAK-2682] - Introduce time difference detection for
> + DocumentNodeStore
> + [OAK-2685] - Track root state revision when reading the tree
> + [OAK-2688] - Segment.readString optimization
> + [OAK-2690] - Add optional
> + UserConfiguration#getUserPrincipalProvider()
> + [OAK-2711] - Troublesome AbstractTree.toString
> + [OAK-2713] - High memory usage of CompactionMap
> + [OAK-2726] - Avoid repository traversal for trivial node type
> + changes
> + [OAK-2737] - RepositoryUpgrade.copy() should allow custom commit
> + hooks
> + [OAK-2738] - Possible StackOverflowException with many "or"
> + conditions
> + [OAK-2743] - Log time taken in couple of places in indexing
> + [OAK-2748] - Oak Implementation for JCR-3836 and JCR-3837 (getting
> + authorizable by type)
> + [OAK-2749] - Provide a "different lane" for slow indexers in async
> + indexing
> + [OAK-2753] - Use increasing batch size for sorted queries in
> + LucenePropertyIndex
> + [OAK-2754] - Use non unique PathCursor in LucenePropertyIndex
> + [OAK-2755] - Consolidated JMX view of all EventListener related
> + statistics
> + [OAK-2757] - Failed to read from tar file
> [OAK-2761] - Persistent cache: add data in a different thread
> + [OAK-2762] - Configurable maxLockTryTimeMS
> + [OAK-2763] - Remove ChangeDispatcher in DocumentNodeStoreBranch
> + [OAK-2766] - Log time to acquire backgroundOperationLock in
> + background operation tasks
> + [OAK-2768] - Fair mode for backgroundOperationLock
> + [OAK-2769] - Add progress log to VersionGC in DocumentNodeStore
> + [OAK-2776] - Upgrade should allow to skip copying versions
> + [OAK-2783] - Make LDAP connection pool 'testOnBorrow' configurable
> + [OAK-2785] - Add QueryEngine.executeQuery without limit and offset
> + [OAK-2789] - Enable timeout for MongoDB queries
> + [OAK-2791] - Change default for
> + oak.mongo.maxDeltaForModTimeIdxSecs
> + [OAK-2800] - Make contributions to reference graph from TarWriter
> + less conservative
> + [OAK-2801] - Clear excess references before cleanup
> + [OAK-2804] - Conditional remove on DocumentStore
> + [OAK-2805] - oak-run: register JMX beans
> + [OAK-2806] - Provide property path in warning log for large multi
> + value property
> + [OAK-2809] - Save Lucene directory listing as array property
> + [OAK-2814] - Refactor the optimize logic regarding path include
> + and exclude to avoid duplication
> + [OAK-2818] - Log _lastRev background updates
> + [OAK-2822] - Release merge lock in retry loop
> + [OAK-2823] - Change default for oak.maxLockTryTimeMultiplier
> + [OAK-2829] - Comparing node states for external changes is too
> + slow
> + [OAK-2830] - LIRS cache: avoid concurrent loading of the same
> + entry if loading is slow
> + [OAK-2834] - LIRS cache: allow to disable it when using the
> + persistent cache
> + [OAK-2837] - Persistent cache: avoid repeated log message after
> + closing
> + [OAK-2839] - Without "counter" index, some queries use traversal
> + instead of an index
> + [OAK-2841] - Log NodePropBundle id for which no bundle is found
> + [OAK-2843] - Broadcasting cache
> + [OAK-2854] - provide more insight on executors during shutdown
> + [OAK-2857] - Run background read and write operation concurrently
> + [OAK-2861] - TARMK Cold Standby better binary decoding
> + [OAK-2862] - CompactionMap#compress() inefficient for large
> + compaction maps
> + [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-2870] - Introduce a SegmentNodeStoreBuilder to help wire a
> + SegmentNodeStore
> + [OAK-2875] - Namespaces keep references to old node states
> + [OAK-2879] - Compaction should check for required disk space
> + before running
> + [OAK-2883] - Tests for SegmentNodeStoreService
> + [OAK-2885] - Enable saveDirListing by default
> + [OAK-2886] - Exclude image/tiff from text extraction
> + [OAK-2887] - Add support for generating mongo export command to
> + oak-mongo
> + [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-2899] - Update to Jackrabbit 2.10.1
> + [OAK-2908] - infrastructure for running longevity tests
> + [OAK-2912] - Clear the modified and deleted map in PermissionHook
> + after processing is complete
> + [OAK-2917] - Allow skipping of the baseline check when tests are
> + skipped
> + [OAK-2924] - DocumentNodeStore background update thread handling
> + of persistence exceptions
> + [OAK-2927] - ReferenceEditor newIds consuming lots of memory
> + during migration
> + [OAK-2939] - Make compaction gain estimate more accurate
> + [OAK-2945] - Sampling rate feature CompactionGainEstimate is not
> + efficient
> + [OAK-2946] - Sampling rate feature CompactionGainEstimate is not
> + efficient
> + [OAK-2948] - Expose DefaultSyncHandler
> + [OAK-2955] - Extend ACL-level principal validation for configured
> + administrative principals
> + [OAK-2956] - NPE in UserImporter when importing group with
> + modified authorizable id
> + [OAK-2957] - LIRS cache: config options for segment count and
> + stack move distance
> + [OAK-2971] - DocumentNodeStore thread names should carry the
> + clusterNodeId
> + [OAK-2977] - Fast result size estimate: OSGi configuration
> + [OAK-2978] - ContentSession: Populate AuthInfo from Subject
> + [OAK-2983] - Permissions lack WRITE
> + [OAK-2992] - TokenProvider: Make reset of token expiration
> + configurable
> + [OAK-2994] - AbstractSecurityTest#getUserManager(Root) doesn't
> + create new instances
> + [OAK-2996] - Improvement wrt property states of type Type.LONG and
> + Type.LONGS
> + [OAK-2998] - Postpone calculation of effective principals to
> + LoginModule.commit
> + [OAK-3003] - Improve login performance with huge group membership
> + [OAK-3005] - OSGI wrapper service for Jackrabbit CachingFDS
> + [OAK-3006] - Remove workaround added for OAK-1404
> + [OAK-3011] - Add name of lucene-property index to cost debug log
> + [OAK-3017] - Log message when a branch is created
> + [OAK-3024] - NodeStoreFixture: add "getName()" for diagnostics,
> + allow config of RDB JDBC connection
> + [OAK-3025] - add test case simulating batched import of nodes
> + [OAK-3030] - Separate defaults for server config from search /
> + indexing config
> + [OAK-3042] - Suspend commit on conflict
> + [OAK-3043] - Provide item path with InvalidItemStateException
> + [OAK-3048] - Enable lookup of OSGi configuration from framework
> + first and component next
> + [OAK-3050] - Move oak-it-osgi to top level
> + [OAK-3051] - Improve compaction gain estimation logging for the
> + case where there are no tar readers
> + [OAK-3054] - IndexStatsMBean should provide some details if the
> + async indexing is failing
> + [OAK-3055] - Improve segment cache in SegmentTracker
> + [OAK-3057] - Simplify debugging conflict related errors
> + [OAK-3066] - Persistent cache for previous documents
> + [OAK-3069] - Provide option to eagerly copy the new index files in
> + CopyOnRead
> + [OAK-3071] - Add a compound index for _modified + _id
> + [OAK-3073] - Make preftech of index files as default option
> + [OAK-3074] - FileStore.size doesn't throw IOException but declares
> + it as thrown
> + [OAK-3076] - Compaction should trace log the current processed
> + path
> + [OAK-3078] - AccessControlAction: Omit setup for administrative
> + principals
> + [OAK-3085] - Add timestamp property to journal entries
> + [OAK-3086] - [oak-mongo.js] Generate mongoexport command to get a
> + slice of oplog entries
> + [OAK-3088] - IndexUpdate reports at debug level quite verbose
> + [OAK-3092] - Cache recently extracted text to avoid duplicate
> + extraction
> + [OAK-3094] - Potential ClassCastException with LIRS cache builder
> + [OAK-3097] - CacheStats should extend from AnnotatedStandardMBean
> + [OAK-3100] - Filter ACEs when retrieving effective policies for
> + principals
> + [OAK-3107] - SegmentWriter should be able to store blob IDs longer
> + than 4096 bytes
> + [OAK-3113] - ColdStandby should provide sync start and end
> + timestamps
> + [OAK-3120] - Contribute blog posts about FileStore to official
> + documentation
> + [OAK-3125] - Skip compaction estimation if threshold is 0
> + [OAK-3129] - SolrQueryIndex making too many Solr requests per jCR
> + query
> + [OAK-3133] - Make compaction map more efficient for offline
> + compaction
> + [OAK-3135] - Solr index should not be used for path/pt
> + restrictions only
> + [OAK-3142] - All children path and primary type restrictions
> + should be converted to filter queries
> + [OAK-3144] - Support multivalue user properties for Ldap users
> + [OAK-3145] - Allow plugging in additional jcr-descriptors
> + [OAK-3146] - ExternalLoginModuleFactory should inject SyncManager
> + and ExternalIdentityProviderManager
> + [OAK-3147] - Make it possible to collapse results under
> + jcr:content nodes
> + [OAK-3153] - Make it possible to disable recording of stack trace
> + in SessionStats
> + [OAK-3159] - Extend documentation for SegmentNodeStoreService in
> + http://jackrabbit.apache.org/oak/docs/osgi_config.html#SegmentNodeStore
> + [OAK-3160] - Implement Session.hasPermission(String, String...)
> + and support for additional actions
> + [OAK-3163] - Improve binary comparison during repeated upgrades
> + [OAK-3165] - Redundant test for duplicate membership in
> + Group.addMember
> + [OAK-3166] - Apply adjustments for newly exported
> + JackrabbitSession#getItemOrNull
> + [OAK-3172] - Unreleased closed sessions can keep a root reference
> + from getting collected
> + [OAK-3174] - [Blob GC] Make actual deletion of blobs synchronous
> + [OAK-3175] - Lower log level for "Skipping closed tar file ..." to
> + debug
> + [OAK-3177] - Compaction slow on repository with continuous writes
> + [OAK-3178] - Update jackrabbit version to 2.11.0
> + [OAK-3182] - Add documentation on how to work with Git
> + [OAK-3183] - [Blob GC] Improvements/tools for blob garbage
> + collection
> + [OAK-3202] - Restrict the bundles pickedup by PojoSR while running
> + the testcase
> + [OAK-3203] - Make shutdown in PojoSR wait for framework shutdown
> + [OAK-3204] - oak-core version diagnostics
> + [OAK-3212] - Improve error message upon attempt to create
> + user/group outside configured root
> + [OAK-3224] - Remove unused DocumentMK.splitDocumentAgeMillis
> + [OAK-3226] - Remove unused code in DocumentNodeStore
> + [OAK-3227] - The DiffIndex relies on implementation details
> + [OAK-3229] - Log initialization of the cache and the persistent
> + cache
> + [OAK-3238] - fine tune clock-sync check vs lease-check settings
> + [OAK-3247] - DocumentNodeStore.retrieve() should not throw
> + IllegalArgumentException
> + [OAK-3251] - speeding up the build time
> + [OAK-3252] - make AbstractQueryTest#test() reflects real file
> + paths
> + [OAK-3253] - Support caching in FileDataStoreService
> + [OAK-3254] - Log expensive NodeDocument.getNewestRevision() call
> + [OAK-3257] - speed up BasicDocumentStoreTest
> + [OAK-3258] - Async index should change thread name to improve log
> + readability
> + [OAK-3259] - Optimize NodeDocument.getNewestRevision()
> + [OAK-3263] - Support including and excluding paths for
> + PropertyIndex
> + [OAK-3273] - ColdStandby make sync start and end timestamp updates
> + atomic
> [OAK-3274] - DefaultSyncConfigImpl: add information to
> "user.membershipExpTime" about minimum expiration time
> + [OAK-3288] - clarify DocumentStore contract with respect to number
> + formats
> + [OAK-3290] - Revision gc blocks repository shutdown
> + [OAK-3291] - Add capability to LogLevelModifier to add a log
> + appender for a test case
> + [OAK-3293] - SegmentOverflowExceptionIT runs forever unless it
> + fails
> + [OAK-3294] - Read-only live FileStore implementation
> + [OAK-3296] - Oak Explorer support for live read-only store
> + [OAK-3298] - Allow to specify LogDumper's log buffer size
> + [OAK-3299] - SNFE in SegmentOverflowExceptionIT
> + [OAK-3300] - Include parameter descriptions in test output when
> + running parameterised tests
> + [OAK-3321] - Embed Jackson dependencies in the oak-remote bundle
> + [OAK-3322] - Change activation policy of RemoteServletRegistration
> + [OAK-3329] - TarMK cleanup blocks writers
> + [OAK-3330] - FileStore lock contention with concurrent writers
> + [OAK-3331] - Support spellchecking multiple words
> + [OAK-3347] - Ineffective cleanup after compaction due to
> + references to root
> + [OAK-3357] - detail: use Number instead of Long/Integer
> + [OAK-3358] - Make SecurityProviderImpl independent from OSGi
> + [OAK-3359] - Compactor progress log
> + [OAK-3361] - Reduce PerfLogger isDebugEnabled overhead
> + [OAK-3365] - Wording in Log statements inconsistent
> + [OAK-3370] - Use SegmentNodeStore instead of MemoryNodeStore in
> + CopyVersionHistoryTest
> + [OAK-3372] - Collapsing external events in BackgroundObserver even
> + before queue is full leads to JournalEntry not getting used
> + [OAK-3379] - Oak run should use InMemoryCompactionMap by default
> + [OAK-3384] - Revisit PartialCompactionMapTest
> + [OAK-3397] - stop oak-core bundle on lease failure
> + [OAK-3398] - make lease update more robust
> + [OAK-3399] - 5sec retry loop before declaring lease failure (was:
> + as a last resort try to update it there)
> + [OAK-3407] - Configuration to pass suggestion fields through
> + analyzer
> + [OAK-3409] - CompositeRegistration.unregister diagnostics not
> + helpful
> + [OAK-3425] - Improve DocumentNodeStore startup/shutdown
> + diagnostics
> + [OAK-3435] - LastRevRecoveryAgent/MissingLastRevSeeker
> + improvements
> + [OAK-3436] - Prevent missing checkpoint due to unstable topology
> + from causing complete reindexing
> + [OAK-3440] - MemoryNodeBuilder creates superfluous instances of
> + ConnectedHead
> + [OAK-3441] - SecurityProviderImpl should not be an OSGi component
> + [OAK-3448] - Update jackrabbit version to 2.11.1
> + [OAK-3449] - DocumentNodeStore support for predefined clusterIds
> + should use ClusterNodeInfos
> + [OAK-3454] - Improve the logging capabilities of offline
> + compaction
> + [OAK-3455] - Improve conflict exception message
> + [OAK-3460] - Progress logging for RepositorySidegrade
> + [OAK-3461] - Run m-bundle-p:baseline before integration tests
> + [OAK-3462] - Add a build profile for building the project in the
> + fastest way possible
> + [OAK-3465] - Move ContinuousRevisionGCTest to benchmark package
> + [OAK-3469] - Fix naming in oak-upgrade
> + [OAK-3471] - Avoid reflection in DocumentDiscoveryLiteServiceTest
> + [OAK-3475] - Confusing SNFE whith oak-run debug
> + [OAK-3477] - Make JMX Bean names predictable so they can be used
> + in configurations.
> + [OAK-3479] - Add generation info to compaction map
> + [OAK-3484] - Oak Explorer: add property type to reference output
> + [OAK-3485] - FileStoreIT cleanup after tests
> + [OAK-3486] - Wrong evaluation of NOT NOT clause (see OAK-3371)
> + [OAK-3489] - DocumentStore: introduce a "NotEquals" condition
> + [OAK-3494] - MemoryDiffCache should also check parent paths before
> + falling to Loader (or returning null)
> + [OAK-3497] - Remove DocumentNodeStore.diff()
> + [OAK-3501] - PersistedCompactionMap could release reference to
> + records early
> + [OAK-3502] - Improve logging during cleanup
> + [OAK-3503] - Upgrade Maven Bundle Plugin to 3.0.0
> + [OAK-3504] - CopyOnRead directory should not schedule a copy task
> + for non existent file
> + [OAK-3505] - Provide an optionally stricter policy for missing
> + synchronous index editor providers
> + [OAK-3506] - Uniformization of compaction log messages
> + [OAK-3508] - External login module should reduce LDAP lookups for
> + pre-authenticated users
> + [OAK-3509] - Lucene suggestion results should have 1 row per
> + suggestion with appropriate column names
> + [OAK-3518] - Consistently add annotations to DefaultSync* classes
> + [OAK-3519] - Some improvement to SyncMBeanImpl
> + [OAK-3527] - Improve logging for blob GC
> + [OAK-3528] - Unchecked assignements in calls to performVoid()
> + [OAK-3529] - NodeStore API should expose an Instance ID
> + [OAK-3531] - Oak Explorer: add segment GC roots report
> + [OAK-3533] - Make it possible to disable
> + LuceneIndexProviderService via OSGi configuration
> + [OAK-3537] - Move the Segment Store to its own bundle
> + [OAK-3539] - Document interface should have entrySet() in addition
> + to keySet()
> + [OAK-3544] - o.a.j.o.api should not depend on Guava
> + [OAK-3545] - Refactor tree type information into plugins/tree
> + package
> + [OAK-3546] - Improve ObservationManagerImpl timeout message
> + [OAK-3548] - Improve permission evaluation for version store items
> + [OAK-3554] - Use write concern of w:majority when connected to a
> + replica set
> + [OAK-3555] - Remove usage of deprecated mongo-java-driver methods
> + [OAK-3565] - Use DocumentStore.create() for new previous documents
> + [OAK-3568] - Oak Explorer: add persisted compaction map size
> + [OAK-3572] - enhance logging in TypeEditorProvider
> + [OAK-3576] - Allow custom extension to augment indexed lucene
> + documents
> + [OAK-3577] - NameValidator diagnostics could be more helpful
> + [OAK-3580] - Make it possible to use indexes for providing
> + excerpts
> + [OAK-3581] - Increase tracked info on Lucene index closing
> + [OAK-3587] - SegmentNodeStore stricter checkpoint creation policy
> + [OAK-3588] - SegmentNodeStore allow tweaking of lock fairness
> + [OAK-3593] - improvements to plugins/tree
> + [OAK-3594] - Consider using LuceneDictionary in suggester
> + [OAK-3596] - Allow specific OSGi reference for atomic counter
> + provider
> + [OAK-3607] - Enable caching of extracted text by default
> + [OAK-3614] - Effective policies must depend on evaluation being
> + enabled
> + [OAK-3615] - Add initial capacity to StringBuilder used to
> + calculate path of a tree
> + [OAK-3619] - Increase lock stripes in MongoDocumentStore
> + [OAK-3622] - Expose sql2optimisation prop name as static final
> + [OAK-3633] - Enable exclusion of relative property in aggregation
> + [OAK-3636] - Change scope of json-simple from compile to test
> + [OAK-3647] - enable OAK-1617 by default in trunk
> + [OAK-3648] - Use StandardTokenizer instead of ClassicTokenizer in
> + OakAnalyzer
> + [OAK-3649] - Extract node document cache from Mongo and RDB
> + document stores
> + [OAK-3650] - Index based excerpt should be used for binaries
> + [OAK-3665] - Oak Run TarMK revision diff
> + [OAK-3677] - NodeStore.merge implementations throw ISE instead of
> + IAE when passed a non root builder
> + [OAK-3678] - Use stable reverse revision comparator in
> + UpdateUtils.applyChanges()
> + [OAK-3685] - Support S3DataSource as the migration source
> + [OAK-3688] - Provide and use a default set of bundle filters
> + [OAK-3702] - More resilient BackgroundThread implementation
> + [OAK-3703] - Improve handling of IOException
> + [OAK-3707] - Register composite commit hook with whiteboard
> + [OAK-3713] - Remove dep cycle between
> + plugins/tree/TreeTypeProvider and spi.security
> + [OAK-3715] - SegmentWriter reduce buffer size for reading binaries
> + [OAK-3718] - JCR observation should be visible in SessionMBean
> + [OAK-3721] - Reduce code duplication in MembershipProvider
> + [OAK-3727] - Broadcasting cache: auto-configuration
> + [OAK-3728] - Document indexes in the index itself
> + [OAK-3745] - Introduce an exception in the Content Repository API
> + to represent an invalid state of the repository
> + [OAK-3773] - Include segment information in Segment.toString
> + [OAK-3791] - Time measurements for DocumentStore methods
> + [OAK-3795] - FileStore#compact should throw ISE instead of IAE
> + when no compaction strategy is set
> + [OAK-3804] - Add tarmk revision recovery listing to oak-run
> + [OAK-3805] - Add support for Metrics Histogram
> + [OAK-3811] - Provide option to pass external data store to oak-run
> + check
> + [OAK-3812] - Disable compaction gain estimation if compaction is
> + paused
> + [OAK-3820] - Add inc and dec by specific size support in
> + CounterStats
> + [OAK-3825] - Including Resource name to suggestions
> + [OAK-3829] - Expose BlobStore cache statistics
> + [OAK-3830] - Provide size for properties for PropertyItearator
> + returned in Node#getProperties(namePattern)
> + [OAK-3831] - Allow relative property to be indexed but excluded
> + from aggregation
> + [OAK-3836] - Convert simple versionable nodes during upgrade
> + [OAK-3841] - Change return type of Document.getModCount() to Long
> + [OAK-3844] - Better support for versionable nodes without version
> + histories
> + [OAK-3847] - Provide an easy way to parse/retrieve facets
> + [OAK-3850] - Collect and expose Persistent Cache stats
> + [OAK-3853] - Improve SegmentGraph resilience
> + [OAK-3854] - TarMK tools should check whether they run against a
> + matching version of the repository
> + [OAK-3857] - Simplify SegmentGraphTest
> + [OAK-3861] - MapRecord reduce extra loop in MapEntry creation
> + [OAK-3862] - Move integration tests in a different Maven module
> + [OAK-3871] - ability to override
> + ClusterNodeInfo#DEFAULT_LEASE_DURATION_MILLIS
> + [OAK-3877] - PerfLogger should use System.nanoTime instead of
> + System.currentTimeMillis
> + [OAK-3885] - enhance stability of clusterNodeInfo's machineId
> + [OAK-3890] - Robuster test expectations for FileStoreIT
> + [OAK-3898] - Add filter capabilities to the segment graph run mode
> + [OAK-3904] - Compaction Map predicate should use cached state for
> + evaluation
> + [OAK-3905] - configurable atomic counter task timeout
> + [OAK-3907] - Sync the files to directory upon copy from remote
> + [OAK-3915] - Include suggest directory size into lucene stats jmx
> + [OAK-3918] - Include index details in exception thrown by
> + OakDirectory
> + [OAK-3921] - DataStoreBlobStore - Limit resolveChunks only to non
> + inlined blobs
> + [OAK-3931] - Identify own repository id in shared datastore gc
> + stats
> + [OAK-3935] - SharedDataStore - Allow unique repository ID to be
> + specified by config
> + [OAK-3936] - [oak-run] Option to dump blob references
> + [OAK-3940] - SegmentMK FileStore should provide a listing of the
> + successfully opened readers
> + [OAK-3944] - OsgiWhiteboard should handle multiple unregister call
> + [OAK-3953] - Switch S3DataStoreService to use oak-blob-cloud
> + S3DataStore
> + [OAK-3957] - Move the commands of oak-run in independent units
> + [OAK-3958] - Split SegmentWriter records cache into 2: strings and
> + templates
> + [OAK-3964] - Add bulk createOrUpdate() to DocumentStoreStats
> [OAK-3975] - Change DELETE_BATCH_SIZE to 100 (from 450), and make
> it configurable
> [OAK-3978] - Add segment size to segment graph
> @@ -68,21 +1405,229 @@ Improvement
> discovery-lite
> [OAK-4007] - "reset clusterId tool" in oak-run
> [OAK-4008] - DataStoreBlobStore - Log blob deletion as info
> + [OAK-4010] - Log major operation done in Oak via specific
> + operation logger
> [OAK-4013] - DataStoreTextWriter should not write on close when
> running in readOnly mode
> + [OAK-4022] - DocumentNodeStoreService journal write should log
> + write failures
> + [OAK-4025] - Reuse ExecutorUtils to shutdown ExecutorService
> + [OAK-4027] - Support batch updates in Oracle
> + [OAK-4035] - AsyncIndexUpdate should not log exception when its
> + forcibly stopped
> + [OAK-4037] - AccessControlValidator: include paths in
> + AccessControlExceptions
> + [OAK-4049] - Session mbean does not provide initStacktrace anymore
> + [OAK-4056] - Remove deprecated (unused) fields from default schema
> + [OAK-4060] - Allow use of pre extrcated text cache for incremental
> + indexing
> + [OAK-4071] - Include node path in VersionException
> +
> +New Feature
> +
> + [OAK-104] - HTTP bindings for Oak
> + [OAK-865] - Expose repository management data and statistics
> + [OAK-1268] - Add support for composite authorization setup
> + [OAK-1736] - Support for Faceted Search
> + [OAK-1995] - Improved SegmentNodeStore documentation
> + [OAK-2247] - CopyOnWriteDirectory implementation for Lucene for
> + use in indexing
> + [OAK-2445] - Password History Support
> + [OAK-2507] - Truncate journal.log after off line compaction
> + [OAK-2599] - Allow excluding certain paths from getting indexed
> + for particular index
> + [OAK-2619] - Repeated upgrades
> + [OAK-2651] - [Oak API remoting] Manage SSL client connection
> + [OAK-2652] - [Oak API remoting] Finalize http authentication
> + [OAK-2812] - RevisionGC benchmark
> + [OAK-2844] - Introducing a simple document-based discovery-light
> + service (to circumvent documentMk's eventual consistency delays)
> + [OAK-2882] - Support migration without access to DataStore
> + [OAK-2892] - Speed up lucene indexing post migration by pre
> + extracting the text content from binaries
> + [OAK-2921] - Scalability tests for large read/write scenarios
> + [OAK-2926] - Fast result size estimate
> + [OAK-2954] - Add MBean to enforce session refresh on all open
> + sessions
> + [OAK-2980] - Fast result size estimate in Solr index
> + [OAK-3052] - Make compaction gain estimate threshold configurable
> + [OAK-3095] - Add eviction listener to LIRS cache
> + [OAK-3122] - Direct copy of the chunked data between blob stores
> + [OAK-3148] - Online migration process for the binaries
> + [OAK-3170] - Implement Group extensions as proposed in JCR-3880
> + [OAK-3185] - Port and refactor jackrabbit-webapp module to Oak
> + [OAK-3239] - Port RepositoryUpgrade features to the
> + RepositorySidegrade
> + [OAK-3352] - Expose Lucene search score explanation
> + [OAK-3457] - Multivalued restriction to limit effect of ACE to
> + items with a given name
> + [OAK-3472] - Run mode to identify blob garbage
> + [OAK-3543] - Add ReadOnlyVersionManager.getVersionable
> + [OAK-3550] - Add meta data to segments
> + [OAK-3560] - Tooling for writing segment graphs to a file
> + [OAK-3654] - Integrate with Metrics for various stats collection
> + [OAK-3687] - Oak standalone application example based on Spring
> + Boot
> + [OAK-3806] - Collect and expose statistics related to BlobStore
> + operations
> + [OAK-3819] - Collect and expose statistics related to Segment
> + FileStore operations
> + [OAK-3970] - Utility methods for MongoDB indexes
> +
> +Story
> +
> + [OAK-3694] - As a user, I want to know when a node that I've
> + created has been indexed.
>
> Task
>
> + [OAK-1591] -
> + org.apache.jackrabbit.oak.plugins.document.mongo.CacheInvalidationIT
> + fails
> + [OAK-1695] - Document Solr index
> + [OAK-1743] - Cleanup documentation of _modCount
> + [OAK-1956] - Set correct OSGi package export version
> + [OAK-2185] - Fix intermittent failure in JaasConfigSpiTest
> + [OAK-2290] - Switch default IndexFormatVersion to V2
> + [OAK-2575] - Improve documentation for
> + DocumentStore.invalidateCache
> + [OAK-2623] - Add test for GC of previous docs of a deleted
> + document
> + [OAK-2677] - Set ProviderType and ConsumerType annotation on
> + exported items
> + [OAK-2678] - Update base version for checking proper package
> + export versions
> + [OAK-2697] - Retire oak-mk-api and oak-mk
> + [OAK-2739] - take appropriate action when lease cannot be renewed
> + (in time)
> + [OAK-2767] - Enable a Jenkins matrix for the 1.2 branch
> + [OAK-2802] - avoid NodeTypeDefDiff code duplication
> + [OAK-2925] - Reorganise scalability classes
> + [OAK-2935] - Update Sling Testing Mocks to 1.3.0
> + [OAK-2936] - PojoSR should use Felix Connect API instead of pojosr
> + [OAK-2937] - Remove code related to directmemory for off heap
> + caching
> + [OAK-2997] - Document mapping between built-in privileges and API
> + calls + items
> + [OAK-3041] - Baseline plugin suggests version increase for
> + unmodified class
> + [OAK-3059] - Manage versions of all exported packages
> + [OAK-3077] - Skip maven deployment for oak-exercies
> + [OAK-3111] - Enforce check for max node name length
> + [OAK-3186] - Assign correct scope for various dependencies in
> + oak-pojosr module
> + [OAK-3188] - Make dependency on commons-dbcp as optional in
> + oak-core
> + [OAK-3216] - Specify version for findbug maven plugin
> + [OAK-3223] - Remove MongoDiffCache
> + [OAK-3267] - Add discovery-lite descriptor for segmentNodeStore
> + [OAK-3278] - Move Utils.estimateMemoryUsage(String) to oak-commons
> + [OAK-3308] - re-enable redirectTestOutputToFile in oak-core/pom
> + [OAK-3364] - Remove empty directories under oak-it
> + [OAK-3439] - MissingLastRevSeeker potential race condition
> + acquiring the lock
> + [OAK-3520] - Increase test coverage
> + [OAK-3525] - Release Oak 1.3.9
> + [OAK-3535] - Update jackrabbit version to 2.11.2
> + [OAK-3564] - Release Oak 1.2.8
> + [OAK-3569] - Bump mongo java driver version to 2.13.3
> + [OAK-3575] - Release Oak 1.0.24
> + [OAK-3599] - Release Oak 1.3.10
> + [OAK-3609] - Enable CopyOnWrite by default
> + [OAK-3611] - upgrade H2DB dependency to 1.4.190
> + [OAK-3635] - DocumentStore: clarify which methods support checking
> + conditions in UpdateOps, and enforce this in implementations
> + [OAK-3651] - Remove HierarchicalCacheInvalidator
> + [OAK-3667] - Refactor executor closing logic as a utility class
> + [OAK-3669] - Update jackrabbit.version to regular non-snapshot
> + version
> + [OAK-3686] - Solr suggestion results should have 1 row per
> + suggestion with appropriate column names
> + [OAK-3704] - Keep track of nested CUGs
> + [OAK-3705] - Change default of compaction.forceAfterFail to false
> + [OAK-3708] - Update Oak to Jackrabbit 2.11.3
> + [OAK-3719] - Test failure: ManyChildNodesTest
> + [OAK-3720] - Update script console bundle version to 1.0.2
> + [OAK-3734] - Release Oak 1.3.12
> + [OAK-3735] - Release Oak 1.2.9
> + [OAK-3747] - VersionGarbageCollectorIT: use name annotation for
> + test parameters
> + [OAK-3749] - Implement tooling for tracing a node through the
> + revision history
> + [OAK-3750] - BasicDocumentStoreTest: improve robustness of
> + .removeWithCondition test
> + [OAK-3755] - Remove the special in-place upgrade handling from
> + oak-upgrade
> + [OAK-3768] - Remove OrderedPropertyIndex support from trunk
> + [OAK-3799] - Drop module oak-js
> + [OAK-3803] - Clean up the fixtures code in core and jcr modules
> + [OAK-3823] - Expose the count maintained by various stats
> + [OAK-3824] - StatisticsProvider should provide a way to disable
> + TimeSeries for certain metrics
> + [OAK-3832] - Release Oak 1.3.13
> + [OAK-3842] - Adjust package export declarations
> + [OAK-3888] - Release Oak 1.3.14
> + [OAK-3906] - NodeDocumentCache cleanup used inconsistently
> + [OAK-3941] - Release Oak 1.3.15
> + [OAK-3942] - Convert tests for TreeLocation and ImmutableTree to
> + regular unit tests
> [OAK-3946] - Document oak-authorization-cug
> + [OAK-3947] - Document SecurityProviderRegistration
> [OAK-3996] - Update Jackrabbit version to 2.12.0
> [OAK-4002] - Consolidate maven-jar-plugin in oak-parent pom.xml
> + [OAK-4019] - Release Oak 1.3.16
> + [OAK-4070] - Refactor LuceneIndexEditorContext to allow for
> + switchable clock for testing
> + [OAK-4072] - Update Jackrabbit version to 2.12.1
> + [OAK-4073] - Release Oak 1.4.0
>
> Test
>
> + [OAK-2545] - SegmentMk IT tests are too intensive
> + [OAK-2742] - Add UserImport tests that run with a non-admin
> + session
> + [OAK-2764] - ExternalSharedStoreIT occasionally fails on travis
> + [OAK-2790] - Remove ignored tests related to MicroKernel
> + [OAK-2851] - Missing test dependency to jackrabbit-data tests
> + artifact
> + [OAK-3190] - Benchmark for adding group members
> + [OAK-3277] - Turn VersionGarbageCollectorTest into an integration
> + test
> + [OAK-3292] - DocumentDiscoveryLiteServiceTest failures on travis
> + and jenkins
> + [OAK-3312] - [Blob GC] Test case for GC / OAK-3167
> + [OAK-3326] - Remove System.out.println() in tests
> + [OAK-3332] - Respect 'nsfixtures' in VersionGarbageCollectorIT
> + [OAK-3334] - Disable lease check in VersionGarbageCollectorIT
> + [OAK-3337] - CIHelper methods related to travis outdated
> + [OAK-3353] - Enable
> + ConcurrentConflictTest.concurrentUpdatesWithBranch()
> + [OAK-3387] - Enable NodeLocalNameTest tests
> + [OAK-3562] - Tests do not close MongoConnection
> + [OAK-3570] - concurrentLoop(MongoDocumentStoreIT) test failures
> + [OAK-3585] - Reduce memory usage of SegmentParserTest
> + [OAK-3610] - BroadcastTest fails when connected with VPN client
> + [OAK-3618] - Improve SetPropertyTest benchmark for concurrent
> + execution
> + [OAK-3643] - ConflictResolutionTest fails occasionally
> + [OAK-3644] - Run tests with pedantic profile
> + [OAK-3681] - SegmentSizeTest.testAccessControlNodes() and
> + testNodeSize() fail
> + [OAK-3754] - RepositoryStub does not dispose DocumentStore
> + [OAK-3874] - DocumentToExternalMigrationTest fails occasionally
> [OAK-3986] - simple performance regression IT (that would fail in
> case commitRoots would not be purged)
> [OAK-3998] - No SLF4J binding in oak-it
>
> +Wish
> +
> + [OAK-2965] - Provide script for downloading staging artifacts
> + [OAK-3415] - AccessControlValidator:
> + checkValidAccessControlledNode should mention node name in error
> + message
> + [OAK-3467] - Tests slow after OAK-2171
> + [OAK-3656] - Expose CommitHook as OSGi service
> +
> In addition to the above-mentioned changes, this release contains
> all changes included up to the Apache Jackrabbit Oak 1.2.x release.
>
>
>
Re: svn commit: r1733315 -
/jackrabbit/oak/branches/1.4/RELEASE-NOTES.txt
Posted by Davide Giannella <da...@apache.org>.
On 03/03/2016 11:33, Julian Sedding wrote:
> Nitpick:
>
>> +Changes in Oak 1.2.0
> IMHO that should be "Changes in Oak 1.4.0"
>
> This probably doesn't warrant a re-release, but if there *is* a
> re-release due to OAK-4085[0] it would be nice to correct it.
>
It should have been "since" rather than "in".
Let's see.
Davide