Author: davide
Date: Thu Mar 24 11:12:54 2016
New Revision: 1736424
URL: http://svn.apache.org/viewvc?rev=1736424&view=rev
Log:
OAK-4140 - Release Oak 1.4.1
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=1736424&r1=1736423&r2=1736424&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.4/RELEASE-NOTES.txt (original)
+++ jackrabbit/oak/branches/1.4/RELEASE-NOTES.txt Thu Mar 24 11:12:54 2016
@@ -1,4 +1,4 @@
-Release Notes -- Apache Jackrabbit Oak -- Version 1.4.0
+Release Notes -- Apache Jackrabbit Oak -- Version 1.4.1
Introduction
------------
@@ -7,1628 +7,40 @@ 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.
-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.
+Jackrabbit Oak 1.4.1 is a patch release that contains fixes and
+improvements over Oak 1.4. 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 since Oak 1.2.0
+Changes in Oak 1.4.1
---------------------
-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
+ [OAK-4113] - RDBJDBCTools: fix JDBC driver version check
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
- binaries
- [OAK-3991] - Incorrect resultset from XPATH, multiple ORs and
- Lucene full-text
- [OAK-3995] - Incorrect translation of old checkpoint format
- [OAK-3999] - ParseException thrown for xpath query on 3 or more
- jcr:primaryType "or" conditions
- [OAK-4004] - The cold standby segment store doesn't delete the
- files marked for deletion
- [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
- [OAK-4085] - Malformed node type definition when reregistered after
- upgrade
-
-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
+ [OAK-3910] - Migrating node inheriting from mix:versionable
+ without version history
+ [OAK-4092] - Backport OAK-4083 to the 1.4 branch
+ [OAK-4093] - Backport OAK-4089 to the 1.4 branch
+ [OAK-4116] - Broadcasting cache: disabled by default
+ [OAK-4126] - Suggestion and spellcheck queries throw exception if
+ result contain lucene query character
+ [OAK-4128] - RepositorySidegrade doesn't copy root node properties
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
- [OAK-3979] - RepositoryUpgrade skip on error must skip non
- existing node bundle
- [OAK-3989] - Add S3 datastore support for Text Pre Extraction
- [OAK-3990] - Enable specifying the max clause limit in
- BooleanClause
- [OAK-3997] - Include eviction cause to the LIRS removal callback
- [OAK-4006] - Enable cloning of repo for shared data store and
- 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.
+ [OAK-3846] - Add parameter to skip SNS nodes
+ [OAK-4123] - Persistent cache: allow to configure the add data
+ concurrency
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
+ [OAK-4100] - ClusterNodeInfo lease renewal: add logging
In addition to the above-mentioned changes, this release contains
all changes included up to the Apache Jackrabbit Oak 1.2.x release.