You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by da...@apache.org on 2018/04/23 11:33:46 UTC
svn commit: r1829855 [2/2] - /jackrabbit/oak/trunk/RELEASE-NOTES.txt
Modified: jackrabbit/oak/trunk/RELEASE-NOTES.txt
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/RELEASE-NOTES.txt?rev=1829855&r1=1829854&r2=1829855&view=diff
==============================================================================
--- jackrabbit/oak/trunk/RELEASE-NOTES.txt (original)
+++ jackrabbit/oak/trunk/RELEASE-NOTES.txt Mon Apr 23 11:33:46 2018
@@ -1,4 +1,4 @@
-Release Notes -- Apache Jackrabbit Oak -- Version 1.8.0
+Release Notes -- Apache Jackrabbit Oak -- Version 1.9.0
Introduction
------------
@@ -7,1736 +7,330 @@ 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.8 is an incremental feature release based on and
-compatible with earlier stable Jackrabbit Oak 1.x releases. Jackrabbit
-Oak 1.8.x releases are considered stable and targeted for production
-use.
+Apache Jackrabbit Oak 1.9.0 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.8.x
+release.
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.8.0
+Changes in Oak 1.9.0
---------------------
Sub-task
- [OAK-2382] - Move NodeStore implementations to separate modules
- [OAK-3262] - oak-jcr: update test exclusions once JCR-3901 is
- resolved
- [OAK-4648] - Improve documentation about structure of TAR files
- [OAK-5869] - Annotate documents with branch commits
- [OAK-5964] - Invalidate documents through journal
- [OAK-5968] - Introduce RevisionContext.getClock()
- [OAK-6227] - There should be a way to retrieve oldest timestamp to
- keep from nodestores
- [OAK-6445] - Ensure mounted node stores don't contain versionable
- nodes
- [OAK-6798] - Basic Blob GC test for in-memory NodeStore and
- BlobStore
- [OAK-6799] - OSGi service tests for Blob GC
- [OAK-6841] - Revert Changes made in OAK-6575 before 1.7.10 is
- released.
- [OAK-7011] - Add setter/getter to ConfigurationBase and
- CompositeConfiguration
- [OAK-7012] - Add references to SecurityProviderImpl and
- SecurityProviderRegistration
- [OAK-7013] - Replace usage in oak-auth-external
- [OAK-7015] - Deprecate TreeFactory/RootFactory
- [OAK-7016] - Replace usage in oak-authorization-cug
- [OAK-7017] - Replace usage in oak-core
- [OAK-7022] - Prepare for usage of Root/TreeProvider in security
- tests
- [OAK-7028] - MongoDocumentStore.getStats() implementation
- [OAK-7029] - RDBDocumentStore.getStats() implementation
- [OAK-7032] - Remove usage of DocumentMK
- [OAK-7049] - SecurityProviderBuilder : pass Root/TreeProvider to
- SecurityConfigurations
+ [OAK-7177] - Utility method to detect local change
+ [OAK-7179] - Derive CountingTieredDiffCache from MemoryDiffCache
+ [OAK-7225] - Replace AtomicCounter Supplier
+ [OAK-7344] - Additional benchmark(s) to cover areas of
+ improvements
+ [OAK-7345] - Benchmark Results for Oak 1.8 (status quo)
+ [OAK-7346] - Benchmark Results for Initial Patch
Technical task
- [OAK-3690] - Decouple SegmentBufferWriter from SegmentStore
- [OAK-3777] - Multiplexing support in default PermissionStore
- implementation
- [OAK-4456] - Setup Windows builds
- [OAK-4612] - Multiplexing support for CugPermissionProvider
- [OAK-5547] - Document TarMK design
- [OAK-5554] - RDB*Store: update postgresql JDBC driver reference to
- 9.4.1212
- [OAK-5555] - RDB*Store: update Tomcat JDBC pool dependency to
- 7.0.73
- [OAK-5627] - RDBDocumentStore: improve long query logging
- [OAK-5650] - RDBDocumentStore on Oracle:
- ArrayIndexOutOfBoundsException in Oracle JDBC driver
- [OAK-5652] - RDB*Store: update Oracle JDBC driver reference to
- 12.1.0.2.0
- [OAK-5653] - RDB*Store: update Derby to release 10.13
- [OAK-5667] - RDBDocumentStore: remove support for DBs without
- support for CASE statements in SELECT
- [OAK-5751] - RDBDocumentStore: properly handle null values for
- system properties
- [OAK-5852] - RDB*Store: update Tomcat JDBC pool dependency to
- 7.0.75
- [OAK-5855] - RDBDocumentStore: improve query support for VersionGC
- [OAK-5918] - Document enhancements in DocumentNodeStore in 1.6
- [OAK-5975] - Document enhancements in Observation in 1.6
- [OAK-5977] - Document enhancements in S3DataStore in 1.6
- [OAK-5981] - SegmentTar version check with disabled mmaping
- [OAK-6083] - RDBDocumentStore: implement support for
- VersionGCSupport extensions added for OAK-4780
- [OAK-6113] - update spring to 1.5.x release
- [OAK-6117] - Enable lucene indexing via oak-run
- [OAK-6134] - RDB*Store: update PostgreSQL JDBC
- [OAK-6140] - Create RDB-specific BlobReferenceIterator
- [OAK-6143] - RDB*store fixtures: shorten table name prefixes for
- Oracle
- [OAK-6176] - Service to provide access to async indexer state
- [OAK-6192] - Lucene IndexInfoProvider implementation
- [OAK-6196] - Improve Javadoc of multiplexing SPI
- [OAK-6216] - Property IndexInfoProvider implementation
- [OAK-6224] - Enable dumping index definitions and stats via
- oak-run
- [OAK-6226] - RDBDocumentStoreDB: missing @Override statements
- [OAK-6228] - Enable index consistency check via oak-run
- [OAK-6231] - Enable dumping index content via oak-run
- [OAK-6236] - Improve the help output from oak-run commands
- [OAK-6237] - Tomcat JDBC pool's StatementCache interceptor may
- cache borked PreparedStatements with DB2
- [OAK-6244] - RDB*Store: update postgresql JDBC driver reference to
- 42.1.1
- [OAK-6247] - RDB*Store: update Tomcat JDBC pool dependency to
- 7.0.78
- [OAK-6248] - Enable use of pre extracted text cache
- [OAK-6270] - There should be a way for editors to be notified by
- AsyncIndexUpdate about success/failure of indexing commit
- [OAK-6271] - Support for importing index files
- [OAK-6282] - Implement a DummyDataStore to be used to test setup
- with no BlobStore access
- [OAK-6286] - Use BlobStore in read only mode by default unless
- read-write mode enabled
- [OAK-6414] - Use Tika config to determine non indexed mimeTypes
- [OAK-6415] - Use dynamic service loader by default
- [OAK-6487] - IndexUpdate should not reindex newly imported index
- definitions
- [OAK-6505] - Ensure mounted node stores don't contain
- referenceable nodes
- [OAK-6506] - Ensure unique property indexes are consistent when
- mounting NodeStores
- [OAK-6524] - Provide an extension point to customize the NodeStore
- builders
- [OAK-6546] - JsonSerializer should taken an instance of JsopWriter
- [OAK-6580] - Ensure mounts are consistent with the node type
- registry
- [OAK-6581] - Ensure mounts are consistent with the namespace
- registry
- [OAK-6591] - Refactor ValuePattern related logic to utility
- methods
- [OAK-6603] - [oak-blob-cloud] Remove the older S3 connector
- relying on JR caching
- [OAK-6612] - Refactor encoding logic in property index to utility
- class
- [OAK-6627] - The backup command should not silently upgrade the
- FileStore
- [OAK-6630] - Remove older cached FileDataStore relying on JR
- caching
- [OAK-6649] - Provide callback support for newly inserted entries
- in unique index
- [OAK-6652] - RDB*Store: update postgresql JDBC driver reference to
- 42.1.4
- [OAK-6660] - RDB*Store: update mysql JDBC driver reference to
- 5.1.44 (2017-08-30)
- [OAK-6666] - Clean up tests depending on DocumentNodeStore
- [OAK-6669] - Blob serializer to serialize BlobStoreBlob
- [OAK-6671] - Enable support for custom types in ExternalSort
- [OAK-6679] - Remove dependency on SimpleCommitContext
- [OAK-6686] - Move OakVersion to oak-commons
- [OAK-6696] - RDB*Store: update Tomcat JDBC pool dependency to
- 7.0.81
- [OAK-6697] - Use OakVersion in oak-commons
- [OAK-6699] - Move PathFilter to oak-store-spi
- [OAK-6705] - Replace usage of RootFactory and TreeFactory in
- spi.security test
- [OAK-6706] - Replaces usage of NamePathMapper implementations in
- AbstractAccessControlListTest
- [OAK-6712] - Move ChangeSet/Builder to oak-core-spi
- [OAK-6713] - AsyncIndexInfoService - Method to detect change in
- indexer state
- [OAK-6714] - Support non root index in ContentMirrorStoreStrategy
- [OAK-6716] - RDB*Store: update DB2 JDBC dependency to 4.19.66
- [OAK-6724] - Create empty module structure and dependencies
- from/to other oak modules
- [OAK-6725] - Move o.a.j.oak.plugins.tree.impl.ChildOrderDiff to
- o.a.j.oak.security.authorization.permission
- [OAK-6731] - Remove implementation dependencies in non-factory
- classes
- [OAK-6743] - Copy RootFactory, TreeFactory to separate package
- (and deprecate existing)
- [OAK-6755] - Convert oak-core and oak-store-document to OSGi R6
- annotations
- [OAK-6763] - Convert oak-examples to OSGi R6 annotations
- [OAK-6779] - IndexTracker should check diff on :status node to
- detect index updates
- [OAK-6781] - Reindex handling with synchronous lucene property
- indexes
- [OAK-6782] - RDBDocumentStore: inconsistent handling of cache
- invalidation on remove()
- [OAK-6787] - Delete property index entries recursively in batches
- to avoid large transaction
- [OAK-6811] - BasicDocumentStore: avoid use of API edge case in
- test of cache invalidation
- [OAK-6813] - DocumentStore conditional remove: reduce set of
- supported conditions to what the Version GC needs
- [OAK-6826] - Refactor Jcr class to remove dependency on
- o.a.j.oak.plugins.index
- [OAK-6832] - Synchronous nodetype lucene index support
- [OAK-6857] - Lucene unique index should check path validity for
- uniqueness constraint
- [OAK-6860] - RDB*Store: update Derby to release 10.14
- [OAK-6863] - RDB*Store: update Oracle JDBC dependency to 12.2.0.1
- [OAK-6903] - RDB*Store: update Tomcat JDBC pool dependency to
- 7.0.82
- [OAK-6906] - RDB*Store: update Tomcat JDBC pool dependency to
- 8.5.23 (for branches compatible with Java 7)
- [OAK-6907] - RDB*Store: require ojdbc 12.2.0.1 because of known
- issues in earlier versions
- [OAK-6938] - Add package export version for spi.xml
- [OAK-6939] - Non-existing package o.a.j.oak.util is exported twice
- [OAK-6942] - Add package export versions for core-spi
- [OAK-6944] - org.apache.jackrabbit.oak.management is exported but
- not used outside of oak-core
- [OAK-6945] - Add package export versions for oak-commons
- [OAK-6946] -
- org.apache.jackrabbit.oak.security.authentication.ldap must not be
- exported / filtered in parent
- [OAK-6949] - Non-existing package o.a.j.oak.util is filtered in
- parent/pom.xml
- [OAK-6951] - Add package export versions for oak-query-spi
- [OAK-6955] - Remove export for
- org.apache.jackrabbit.oak.plugins.itemsave
- [OAK-6958] - Remove package export for
- org.apache.jackrabbit.oak.plugins.atomic
- [OAK-6959] - Remove package export for
- org.apache.jackrabbit.oak.plugins.index.counter
- [OAK-6960] - Remove package export for
- org.apache.jackrabbit.oak.plugins.index.nodetype
- [OAK-6961] - Remove package export for
- org.apache.jackrabbit.oak.plugins.index.property.jmx
- [OAK-6974] - RDBDocumentSerializer: factor out columnProperties
- [OAK-6985] - RDBDocumentStoreJDBC: remove unused parameter
- [OAK-6987] - The restore command should not silently upgrade the
- FileStore
- [OAK-6988] - The checkpoints command should not silently upgrade
- the FileStore
- [OAK-6990] - The composite-prepare command should not silently
- upgrade the FileStore
- [OAK-6991] - The console command should not silently upgrade the
- FileStore
- [OAK-6992] - The datastorecheck command should not silently
- upgrade the FileStore
- [OAK-6994] - The garbage command should not silently upgrade the
- FileStore
- [OAK-6996] - The json-index command should not silently upgrade
- the FileStore
- [OAK-6997] - The recovery command should not silently upgrade the
- FileStore
- [OAK-6998] - The repair command should not silently upgrade the
- FileStore
- [OAK-6999] - The resetclusterid command should not silently
- upgrade the FileStore
- [OAK-7001] - The tika command should not silently upgrade the
- FileStore
- [OAK-7002] - The index command should not silently upgrade the
- FileStore
- [OAK-7003] - The export command should not silently upgrade the
- FileStore
- [OAK-7004] - The server command should not silently upgrade the
- FileStore
- [OAK-7019] - RDBDocumentStore: refactor table upgrade code
- [OAK-7023] - Replacement for DocumentMK.Builder
- [OAK-7036] - add JDBC information to metadata map
- [OAK-7037] - Remove package oaj.oak.commons.hash and move SipHash
- to oak-core
- [OAK-7039] - IndexDefinition should provides names of indexed
- relative node names
- [OAK-7040] - Fix unbindTreeProvider method on
- SecurityProviderRegistration
- [OAK-7059] - RDBDocumentStore.getStats() for MySQL
- [OAK-7062] - RDB*Store: update mysql driver reference to 5.1.45
- [OAK-7068] - RDBBlobStore may wrap SQLExceptions into
- RuntimeExceptions
- [OAK-7069] - RDBDataSourceWrapper: properly name
- setTemporaryUpdateException
- [OAK-7073] - Expose readOnly status for MongoDocumentStore
+ [OAK-6812] - UpdateOp Condition: be consistent about the support
+ for non-revision properties
+ [OAK-7060] - RDBDocumentStore.getStats() for SQLServer
+ [OAK-7137] - Upgrade to scr bnd plugin that places the metatype
+ files in the correct location
+ [OAK-7138] - Move metatype files in source control to correct
+ location
+ [OAK-7141] - Remove unused metatype.properties
+ [OAK-7142] - RDBDocumentStoreDB: use try-with-resources in new
+ code introduced for getStats()
+ [OAK-7149] - RDBDocumentStore.getStats() for Derby
+ [OAK-7159] - RDBDocumentStore: use try-with-resources for nodes
+ cache locks
+ [OAK-7181] - RDBDocumentStore: use try-with-resources for
+ ChangesTracker
+ [OAK-7184] - LengthCachingDataStoreTest: Remove unused import of
+ Guava InputSupplier
+ [OAK-7185] - Upgrade jclouds dependency to 2.0.3
+ [OAK-7186] - avoid use of guava Iterators.emptyIterator()
+ [OAK-7188] - guava: ListenableFuture.transform() changes to
+ transformAsync in version 20
+ [OAK-7201] - make Guava version configurable at build time
+ [OAK-7204] - RDB*Store: update postgresql JDBC driver reference to
+ 42.2.0
+ [OAK-7269] - DocumentStore: add test coverage for various types of
+ IDs
+ [OAK-7270] - RDBDocumentStore: guard against invalid strings in
+ IDs
+ [OAK-7289] - RDBDocumentStore: potential NPE in error handling
+ code
+ [OAK-7292] - RDB*Store: update tomcat jdbc dependency to 8.5.28
+ [OAK-7299] - RDB*Store: update postgresql JDBC driver reference to
+ 42.2.1
+ [OAK-7305] - Introduce DocumentStoreException type
+ [OAK-7306] - MongoDocumentStore: use transient
+ DocumentStoreException type where appropriate
+ [OAK-7307] - RDBDocumentStore: use transient
+ DocumentStoreException type where appropriate
+ [OAK-7308] - Retry commit on transient DocumentStoreException
+ [OAK-7313] - RDB*Store: add DEBUG level logging for filters in
+ RDBVersionGCSupport
+ [OAK-7329] - RDB*Store for SQLServer: name the PK index for better
+ readability
+ [OAK-7330] - RDBDocumentStore: make indices on SD* sparse where
+ possible
+ [OAK-7331] - RDBDocumentStore: add index on _MODIFIED to improve
+ VersionGC performance
+ [OAK-7333] - RDBDocumentStore: refactor index report
+ [OAK-7342] - RDBDocumentStore: missing rollback after delete
+ failures
+ [OAK-7359] - Update to MongoDB Java driver 3.6
+ [OAK-7360] - Migrate to the MongoDB Java driver API 3.0
+ [OAK-7399] - add build profile "guava-latest" to build with latest
+ supported Guava version
+ [OAK-7406] - relax guava version range in Import-Package
+ declarations
+ [OAK-7430] - RDB*Store: update postgresql JDBC driver reference to
+ 42.2.2
Bug
- [OAK-2114] - Aggregate index returns the ancestor node as well
- [OAK-3374] - Concurrent Updates of Group's Membership Results in
- Conflict
- [OAK-4390] - DocumentStoreStatsIT.update fails when RDB's append
- mode is disabled
- [OAK-4529] - DocumentNodeStore does not have a repository software
- version range check
- [OAK-5017] - Standby test failures
- [OAK-5173] - Path in uniqueness constraint violation exception is
- always the root
- [OAK-5239] - Test failure:
- ExternalPrivateStoreIT. testSyncUpdatedBinaryProperty()
- [OAK-5301] - Possible null dereference in MapRecord
- [OAK-5355] - Too eager refreshing of tree permissions in
- SecureNodeBuilder
- [OAK-5357] - StringUtils conversion functions can throw
- NullPointerException
- [OAK-5408] - Test failure: segment.standby.BrokenNetworkTest
- [OAK-5426] - Test failure: LuceneIndexQueryTest.sql2() query took
- too long
- [OAK-5441] - Test failure: BasicServerTest.testServerOk() Address
- already in use
- [OAK-5450] - Documented example for relativeNode in index
- aggregation does not work.
- [OAK-5482] - Test failure: LdapProviderTest - Address already in
- use
- [OAK-5485] - Test failure: LdapDefaultLoginModuleTest address
- already in use
- [OAK-5500] - Oak Standalone throws ClassNotFoundException:
- remoting/protectedHandlersConfig.xml
- [OAK-5501] - Oak Standalone: Webdav configuration is set to
- remoting mode by default
- [OAK-5521] - CommunicationObserver and its MBeans need proper
- synchronization
- [OAK-5536] - Facets on relative properties do not work properly
- [OAK-5542] - Test failure:
- security.authentication.ldap.LdapProviderTest (Address already in
- use)
- [OAK-5552] - Test failure: query.SQL2OptimiseQueryTest.orToUnions
- (Query took too long)
- [OAK-5557] - incomplete diffManyChildren during commitHook
- evaluation in a persisted branch
- [OAK-5573] -
- org.apache.jackrabbit.oak.segment.standby.StandbyTestIT.testSyncLoop
- [OAK-5580] - Show statistics about I/O operations in the check
- command
- [OAK-5587] - Node counter index estimates must not be used before
- first async index cycle
- [OAK-5590] - The check command doesn't do any check when "deep"
- option is not provided
- [OAK-5601] - documentMk backgroundRead should handle missing
- journal entries
- [OAK-5603] - Test failure: oak.upgrade.cli.blob.CopyBinariesTest
- [OAK-5612] - Test failure:
- org.apache.jackrabbit.oak.run.osgi.DocumentNodeStoreConfigTest.testRDBDocumentStoreRestart
- [OAK-5619] - withIncludeAncestorsRemove reports unrelated
- top-level node deletion
- [OAK-5621] - Warn traversal queries: false positives for joins and
- SQL-2 queries using "or"
- [OAK-5624] - Test failure:
- org.apache.jackrabbit.oak.cache.ConcurrentTest.testLoaderBlock
- [OAK-5626] - ChangeProcessor doesn't reset 'blocking' flag when
- items from queue gets removed and commit-rate-limiter is null
- [OAK-5636] - potential NPE in ReplicaSetInfo
- [OAK-5649] - Error in RefreshPolicy can lead to IndexNode lock
- leak
- [OAK-5651] - java.lang.IllegalStateException logged when migrating
- Segment to Document
- [OAK-5656] - InitialContent depends on
- document.bundlor.BundlingConfigInitializer
- [OAK-5657] - leverage project.version in oak-examples
- [OAK-5668] - Test failure:
- observation.ObservationQueueFullWarnTest.warnOnRepeatedQueueFull
- [OAK-5703] - The replica set info gets invalid cluster id
- [OAK-5705] - Negative cost calculation for native Solr query
- [OAK-5738] - Potential NPE in LargeLdapProviderTest
- [OAK-5740] - deliver overflow change even without new commit
- [OAK-5750] - Test failure: PojoSR
- run.osgi.SecurityProviderRegistrationTest
- [OAK-5753] - Consistency check incorrectly fails for broken
- partial paths
- [OAK-5772] - Test failure:
- segment.standby.MBeanIT.testClientAndServerEmptyConfig
- [OAK-5773] - BlobCache does not implement Closeable
- [OAK-5783] - Test failure:
- security.authentication.ldap.LdapProviderTest.testSplitDNIntermediatePath2
- [OAK-5836] - Permissions.isAggregate returns true for
- NO_PERMISSION placeholder
- [OAK-5850] - Weight reported by the record cache is off by one
- [OAK-5854] - Incorrect VersionGarbageCollector log message
- [OAK-5862] - Consistency check outputs wrong number of binary
- properties in debug messages
- [OAK-5863] - SegmentNodeBuilder getNodeState can trigger eager
- flush of child node builder
- [OAK-5864] - Missing license header: ThrowingCallbackHandler
- [OAK-5867] - Oak Lucene depends on 'org.junit' OSGi package
- [OAK-5874] - Duplicate uploads might happen with
- AbstractSharedCachingDataStore
- [OAK-5875] - project.version in oak-example fails release-plugin
- [OAK-5876] - SplitDocumentCleanup should implement Closeable
- [OAK-5877] - Oak upgrade usage note refers to oak-run
- [OAK-5878] - SplitDocumentCleanup iterates twice over
- splitDocGarbage
- [OAK-5879] - CompositeConfiguration: service ranking not respected
- upon later comparision
- [OAK-5887] - Stricter validation on primary type change
- [OAK-5888] - ReferenceBinaryIT fails after switching to
- oak-segment-tar
- [OAK-5891] - Test failure: org.apache.jackrabbit.oak.osgi.OSGiIT
- [OAK-5896] - fix typo in Not condition handling
- [OAK-5906] - PrivilegeContext.definesLocation returns true for
- siblings of privilege root path
- [OAK-5908] - BlobIdTracker should not resurrect deleted blob ids
- in a clustered/shared setup after GC
- [OAK-5909] - PrivilegeContext.definesContextRoot should take
- primary type into account
- [OAK-5915] - NPE in LIRS cache
- [OAK-5916] - OOM in SegmentReferenceLimitTestIT
- [OAK-5920] - Checkpoint migration will fail if the
- MissingBlobStore is used
- [OAK-5930] - incorrect test assumption in CacheConsistencyTestBase
- wrt batching
- [OAK-5933] - Checkpoints are not sorted correctly in
- RepositorySidegrade
- [OAK-5934] - AbstractSharedCachingDataStore initializes a loader
- which closes input stream retrieved prematurely
- [OAK-5943] - oak-examples/standalone using Spring fwk version
- referencing vulnerable version of commons-collections
- [OAK-5947] - Allowing non-admin user to set repository permissions
- fails
- [OAK-5948] - SegmentCompactionIT skips compaction runs because
- they are too frequent
- [OAK-5949] - XPath: string literals parsed as identifiers
- [OAK-5952] - Wrong eviction count reported by PriorityCache
- statistics
- [OAK-5955] - Don't expose SegmentRevisionGCMBean on standby
- instances
- [OAK-5966] - Not able to connect in read only mode with old
- DocumentNodeStore repo
- [OAK-5971] - Offline compaction corrupts the journal
- [OAK-5979] - FileStore version check should disable memory mapping
- [OAK-5993] - Utils.isIdFromLongPath() may throw
+ [OAK-4401] - Excerpt Highlighting for a property is not correct
+ [OAK-6707] - TarWriter.close() must not throw an exception on
+ subsequent invocations
+ [OAK-6891] - Executions of background threads might pile up
+ [OAK-6956] - RepositoryUpgrade hardcodes SecurityProvider
+ [OAK-7058] - oak-run compact reports success even when it was
+ cancelled
+ [OAK-7131] - xpath to sql2 conversion drops order by clause for
+ some cases
+ [OAK-7132] - SNFE after full compaction
+ [OAK-7136] - Stop storing metatype.properties files under
+ OSGI-INF/metatype
+ [OAK-7147] - Oak run LuceneIndexer indexes excluded parent nodes
+ [OAK-7155] - Executor in S3DataStoreFactory is not shut down
+ [OAK-7162] - Race condition on revisions head between compaction
+ and scheduler could result in skipped commit
+ [OAK-7168] - The debug command returns a zero exit code on error
+ [OAK-7169] - The datastorecheck returns a zero exit code on error
+ [OAK-7171] - The history command returns a zero exit code on error
+ [OAK-7174] - The check command returns a zero exit code on error
+ [OAK-7176] - RevisionVector from empty string throws
StringIndexOutOfBoundsException
- [OAK-6006] - MultiplexingNodeStore sometimes fails to release
- checkpoint
- [OAK-6010] - UserContext.definesProperties doesn't respect system
- user nt
- [OAK-6011] - Test failure: JdbcToSegmentTest:validateMigration
- [OAK-6016] - DocumentNodeStore.compare() fails with
- IllegalStateException in read-only mode
- [OAK-6023] - UserImporter: handlePropInfo for rep:authorizableId
- never returns true
- [OAK-6028] - UserImporter.start: should return false for User tree
- [OAK-6033] - Test failure:
- CompactionAndCleanupIT.concurrentCleanup
- [OAK-6037] - Bulk and data segments are used as input for cleanup
- [OAK-6041] - o.a.j.oak.plugins.identifier.ClusterRepositoryInfo
- should have private constructor
- [OAK-6043] - org.apache.jackrabbit.oak.commons.jmx.JmxUtil must
- have a private constructor
- [OAK-6044] - org.apache.jackrabbit.oak.util.OakVersion must have
- private constructor
- [OAK-6045] -
- org.apache.jackrabbit.oak.plugins.tika.TextExtractorMain must have
- private constructor
- [OAK-6046] - Include references from unpersisted segments when
- running cleanup
- [OAK-6047] - incorrect metatype annotations
- [OAK-6048] - Java 8 compilation failure in
- ConfigurationParametersTest.java
- [OAK-6049] - incorrect metatype annotations in
- CustomRestrictionProvider exercise
- [OAK-6056] - Refactor SegmentStream to reduce buffering
- [OAK-6057] - incorrect system property check in blob/upgrade tests
- [OAK-6060] - Build failures on travis-ci
- [OAK-6061] - Test failure: StandbyTestIT.testSyncLoop
- [OAK-6063] - Oak run console not loading
- [OAK-6064] - Oak run logging not working
- [OAK-6066] - Migration of binaries relies on implementation
- details of the TarMK
- [OAK-6078] - oak.util.ApproximateCounter must have private
- constructor
- [OAK-6086] - Incorrect usage of RDBDocumentStore.unwrap()
- [OAK-6090] - Move exercise code to separate packages to avoid
- build warnings
- [OAK-6094] - Test failure: SecondaryStoreConfigIT
- [OAK-6100] - Test failure:
- CompositeDataStoreCacheTest.concurrentGetCached()
- [OAK-6110] - Offline compaction uses too much memory
- [OAK-6116] - SQL generated from xpath with 3 or more ORed paths
- along with order by clause throws parseException
- [OAK-6118] - XPathConditionVisitor wrongly escapes string values
- for ImpersonationCondition
- [OAK-6127] - Incorrect annotation for aggregator parameter in
- EventQueue constructor
- [OAK-6133] - Incorrect parent pom reference
- [OAK-6149] - AtomicCounter fails with LuceneIndexEditorProvider
- [OAK-6150] - Javadoc plugin fails on Java 8
- [OAK-6151] - Minor bugs in AccessControlImporter
- [OAK-6152] - AccessControlImporter doesn't handle multivalued
- restrictions
- [OAK-6155] - AccessControlManagerImpl: removing entries through
- principal-set-acl fails
- [OAK-6158] - AccessControlManagerImpl: adding mv-restrictions with
- principal-based-entry fails
- [OAK-6160] - PrincipalAcl.equals doesn't include principal
- [OAK-6164] - IOUtils.nextPowerOf2() returns lower power of 2 for
- very high int values
- [OAK-6168] - UserUtil.getAuthorizableRootPath when user/group path
- are equal or nested
- [OAK-6174] - Test failure: VersionGCTest.gcMonitorStatusUpdates
- [OAK-6181] - MongoMissingLastRevSeeker may return incomplete
- candidate set
- [OAK-6193] - IllegalStateException when closing the FileStore
- during garbage collection
- [OAK-6203] - Skip the WikipediaImport benchmark if no dump is
- specified
- [OAK-6204] - Reduce the verboseness of the ManyNodes benchmark
- [OAK-6205] - SecureNodeBuild keeps unused Context field
- [OAK-6208] - oak-run compact should have an option to
- disable/enable memory mapping
- [OAK-6219] - Test failure: OSGiIT
- [OAK-6229] - NPE when running datastorecheck command with S3
- [OAK-6230] - Minor cleanup for S3 tests
- [OAK-6233] - Typed properties not handled properly in the
- initialization of DataStore in oak-run
- [OAK-6250] - oak-run enforcer fails on size
- [OAK-6252] - re-introduce ServerCommand
- [OAK-6259] - Test failure: VersionGCTest.gcMonitorInfoMessages
- [OAK-6260] - Specify Total Reindexing time in ms
- [OAK-6266] - SolrQueryIndexProviderService should always have
- NodeAggregator
- [OAK-6267] - Version restore fails if restore would not change
- bundling root but changes bundled nodes
- [OAK-6273] -
- FilteringNodeStateTest#shouldHaveCorrectChildOrderProperty is
- failing
- [OAK-6277] - UserQueryManager: redundant check for colliding bound
- and offset
- [OAK-6278] - UserQueryManager: scope filtering for everyone
- groupId compares to principal name
- [OAK-6283] - FileCache should ignore when file evicted with
- replacement
- [OAK-6285] - Test failure: UploadStagingCacheTest.testUpgrade
- [OAK-6290] - UserQueryManager.findAuthorizables fails with
- IllegalArgumentException when there are multiple selectors
- [OAK-6292] - SecurityProviderRegistration.maybeUnregister: typo on
- comment
- [OAK-6293] - Enable test log creation for oak-blob-plugins
- [OAK-6294] - The "missing" node cache value breaks the
- DocumentNodeStore#applyChanges
- [OAK-6300] - CacheConsistencyTestBase: potential NPE in teardown
- [OAK-6306] - upgrade uses lucene wrong version (transient
- dependency)
- [OAK-6314] - ActiveDeletedBlobCollectorTest.multiThreadedCommits
- is failing intermittently for a few users
- [OAK-6317] - LMSEstimator update amount depending on cost amount
- [OAK-6321] - oak-blob-plugins exports all packages
- [OAK-6335] - Baseline check fails in oak-api
- [OAK-6338] - AbstractCompositeProviderTest reverse order flag is
- ignored
- [OAK-6342] - Cost overrides for Lucene index not always working
- [OAK-6360] - Failed to retrieve previously indexed checkpoint in
- composite node store
- [OAK-6365] - oak-store-spi fails on javadoc
- [OAK-6368] - Builder options not picked up after MongoDB is set
- [OAK-6372] - ListRecord cannot handle more than 16581375 entries
- [OAK-6374] - S3Backend masks actual thrown error when problem in
- filtering properties
- [OAK-6375] - RevisionGCMbeans are not filtered correctly in the
- RepositoryManagement
- [OAK-6376] - Race condition in the CompositeNodeStore#merge
- [OAK-6377] - Text extraction with oak-run and tika requires fake
- string in the command to work
- [OAK-6378] - Move the SegmentWriter API to its own interface
- [OAK-6379] - NPE in MergingNodeStateDiff on
- DELETE_DELETED_PROPERTY
- [OAK-6383] - Changes visible before merge
- [OAK-6384] - Dependency missing in oak-run
- [OAK-6386] - GarbageCollector#compact() throws NPE
- [OAK-6391] - With FastQuerySize, getSize() returns -1 if there are
- exactly 21 rows
- [OAK-6392] - Partial lastRev update with branches disabled
- [OAK-6393] - Remove
- NodeRecordTest#unreferencedNodeRecordShouldBeRoot
- [OAK-6404] - Move TAR handling logic in its own package
- [OAK-6410] - NPE when removing inexistent property from checked in
+ [OAK-7178] - RemoteSolrServerProvider should release connections
+ on ping failures
+ [OAK-7198] - Index rule with REGEX_ALL_PROPS includes relative
node
- [OAK-6411] - Build failure due to unresolved oak-lucene bundle
- [OAK-6413] - FileCache getIfPresent doesn't update cache hit/miss
- counters
- [OAK-6416] - Test failure: MapRecordTest.testOak1104
- [OAK-6420] - Incorrect revisions sweep stats
- [OAK-6423] - MongoDocumentStore re-creates old index on
- _deletedOnce
- [OAK-6424] - LuceneSupportTest::fullTextSearch is still flaky
- [OAK-6438] - LuceneSupportTest.fullTextSearch failing
- [OAK-6440] - Incorrect node type diff
- [OAK-6442] - Update Oak 1.6 to Jackrabbit 2.14.2
- [OAK-6443] - NodeStoreFixtureProvider not closing
- DocumentNodeStore
- [OAK-6447] - CompositeNodeStore initialisation fails if
- ignoreReadOnlyWrites config property is not set
- [OAK-6451] - MultiplexingPermissionProvider is ignored by the
- CompositeAuthorizationConfiguration
- [OAK-6452] - IllegalStateException: too much data for a segment
- during oak-upgrade from segment to segment-tar
- [OAK-6454] - Inaccurate data in the oak-upgrade progress logger
- [OAK-6455] - Don't call observer concurrently from the
- CompositeNodeStore
- [OAK-6462] - Incorrect memory calculation for bundled node states
- [OAK-6463] - Property index update fails in composite NodeStore
- setup
- [OAK-6465] - Path supporting fragments should be an unbounded
- property
- [OAK-6481] - Missing versionable path property for
- oak:mount-libs-crx.default
- [OAK-6483] - Segment-based composite node store performance
- degradation
- [OAK-6486] - NPE in CompositeNodeStore
- [OAK-6490] - Pre-Extraction support fails for empty binaries
- [OAK-6493] - LuceneIndexProviderService.enableHybridIndexing=false
- results in NullPointerException
- [OAK-6499] - MultiplexingPermissionProvider wrong privileges
- composition
- [OAK-6500] - NRTIndex leaks file handles due to unclosed
- IndexReader
- [OAK-6502] - Property index: include/exclude key pattern list
- (escaping)
- [OAK-6503] - Active deletion of blobs tries to delete sub-16k
- inlined blobs in case of seg-tar
- [OAK-6504] - Active deletion of blobs needs to indicate
- information about purged blobs to mark-sweep collector
- [OAK-6507] - Cleanup incorrectly removes base state created by
- full compaction
- [OAK-6527] - CompositeNodeStore permission evaluation fails for
- open setups
- [OAK-6529] - IndexLoaderV1 and IndexLoaderV2 should not rely on
- Buffer.array()
- [OAK-6541] - While importing new index property indexes are
- getting marked for reindex
- [OAK-6542] - java.lang.NoClassDefFoundError:
- com/codahale/metrics/Reservoir
- [OAK-6547] - The machine id conflicts when running Oak in Docker
- containers
- [OAK-6548] - Composite node builder/state keeps references to all
- the ancestor states
- [OAK-6560] - Sidegrade uses too much memory
- [OAK-6562] - OakDirectory should recreate file node upon create
- [OAK-6567] - Fix OSGi wiring after netty update to 4.1.x
- [OAK-6572] - IndexReaderClosed exception seen after some run
- [OAK-6573] - The --src-external-ds option does not mandate
- argument but reads it later
- [OAK-6596] - Blob store consistency check can show bogus errors
- about missing blobs
- [OAK-6598] - LuceneIndexAggregationTest2 doesn't get executed by
- mvn test
- [OAK-6601] - SegmentWriteOperation.isOldGeneration() too eager
- [OAK-6602] - Improve resource management in BulkTransferBenchmark
- [OAK-6604] - Oak Blob Cloud is not used by oak-upgrade
- [OAK-6611] - [upgrade][oak-blob-cloud] Many S3DataStore errors
- during migration with oak-upgrade
- [OAK-6620] - NodeStoreFixtureProvider should unregister services
- registered with whiteboard
- [OAK-6624] - InitialContentMigrator overwrites an existing
- repository
- [OAK-6633] - Overwriting a versionable node with the
- copy-versions=false doesn't remove versionable properties
- [OAK-6635] - IndexReader closed exception in DocumentQueue
- [OAK-6640] - test failure in ResponseDecoderTest
- [OAK-6641] - test failure in
- org.apache.jackrabbit.oak.segment.standby.ExternalPrivateStoreIT
- [OAK-6645] - 1.7.7 release fails on javadoc
- [OAK-6648] - test failure seen in
- org.apache.jackrabbit.oak.segment.upgrade.UpgradeIT
- [OAK-6653] - Standby server must always send the persisted head to
- clients
- [OAK-6656] - OrderedPropertyIndexEditorProvider does not return
- Editor to IndexUpdate leading to "ordered" being marked as missing
- type
- [OAK-6659] - Cold standby should fail loudly when a big blob can't
- be timely transferred
- [OAK-6678] - Syncing big blobs fails since StandbyServer sends
- persisted head
- [OAK-6680] - Test failure:
- DocumentNodeStoreTest.disabledBranchesWithBackgroundWrite
- [OAK-6685] - Background operation may fail when document is
- malformed
- [OAK-6687] - ReadOnly connection to fresh SegmentNodeStore setup
- failing
- [OAK-6691] - RepeatedRepositorySidegradeTest flushes an already
- closed FileStore
- [OAK-6704] - Set default merge polity to tiered as
- CommitMitigatingTieredMergePolicy seems to be bad for performance
- [OAK-6717] - DefaultIndexWriter using incorrect merge scheduler
- [OAK-6722] - Incorrect and unused dependencies in oak-query-spi
- [OAK-6723] - Incorrect scope of logback-classic in
- oak-blob-plugins
- [OAK-6729] - PojoSR: RepositoryFactory tests should have timeouts
- [OAK-6730] -
- oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/CompositeConfiguration.java
- does not compile with jdk 9
- [OAK-6740] - Test failure: StandbyTestIT.testSyncLoop()
- [OAK-6744] - OAK Solr Core on JDK 9: Could not find artifact
- jdk.tools:jdk.tools:jar:1.6
- [OAK-6745] - Oak Web Application Example: Execution default-war of
- goal org.apache.maven.plugins:maven-war-plugin:2.6:war failed
- [OAK-6748] - Test failure:
- ExternalPrivateStoreIT.testSyncBigBlob()
- [OAK-6750] - Lucene facets don't work with relative properties
- [OAK-6753] - Wrong binding in TokenConfigurationImpl
- [OAK-6776] - Correctly use IndexPlan.supportsPathRestrictions
- [OAK-6777] - IndexReader closed exception in previous reader
- [OAK-6778] - XPath union with "explain" doesn't explain
- [OAK-6780] - Duplicated _exportcontents directive in oak-lucene's
- pom.xml
- [OAK-6783] - Slow queries JMX bean: sort by rows, not time
- [OAK-6784] - Exceptions are inhibited in oak-run compact
- [OAK-6786] - Existing version histories are not removed when using
- --include-versions=false
- [OAK-6789] - RDB: RevisionGC performance on Oracle
- [OAK-6790] - FacetResult class isn't exposed anymore
- [OAK-6796] - DataStoreTestBase.testSyncBigBlob failures
- [OAK-6800] - Minor typo in message returned by consistency check
- through mbean
- [OAK-6808] - update surefire plugin to 2.20.1 for use with Java 9
- [OAK-6816] - DataStoreTrackerGCTest failures
- [OAK-6825] - oak-examples/standalone test failure on Java 9
- [OAK-6827] - Consistency check fails with active deletions
- [OAK-6829] -
- ExternalPrivateStoreIT/ExternalSharedStoreIT.testSyncBigBlob
- failures
- [OAK-6837] - MTFulltextQueryTermsProvider should catch exceptions
- due to Joshua errors
- [OAK-6838] - IS NOT NULL condition for relative properties not
- working as expected
- [OAK-6840] - Tar recovery chokes on bulk segments
- [OAK-6843] - Log correct path while initializing the DataStore
- [OAK-6845] - org.apache.jackrabbit.oak.jcr.query.QueryJcrTest1IT
- on java 9 fails with OutOfMemory
- [OAK-6852] - RDBDocumentStore conditional remove: check condition
- properly
- [OAK-6861] - Warn messages when building oak-query-spi
- [OAK-6864] - IndexUpdate should disable superseded indexes only
- during an async cycle run
- [OAK-6865] - Account for active deletion in oak-run datastorecheck
- [OAK-6866] - Force compaction timeout logs wrong number of seconds
- [OAK-6869] - oak-http and oak-remote use potentially vulnerable
- versions of com.fasterxml.jackson
- [OAK-6871] - Composite roles are not compatible with Windows
- [OAK-6874] - Segment-Tar-Cold fixture doesn't correctly set up
- standby blob store
- [OAK-6875] - Lucene index: the query read limit is ignored
- [OAK-6876] - IndexDisabler should not use NodeBuilder#isReplaced
- [OAK-6877] - NodeBuilder#isReplaced behaves incorrectly for
- SegmentNodeStore
- [OAK-6884] - TarMK disk space check is not synchronized with
- FileStore opened state
- [OAK-6885] - Add missing id field setting in CloudSolrServer
- [OAK-6886] - OffRC always logs 0 for the number of compacted nodes
- in gc.log
- [OAK-6888] - Flushing the FileStore might return before data is
- persisted
- [OAK-6889] - Followup on OAK-6755: fix OSGi component descriptors
- [OAK-6890] - Background threads might not be automatically
- restarted
- [OAK-6894] -
- org.apache.jackrabbit.oak.segment.upgrade.UpgradeIT.offRCUpgradesSegments
- failing
- [OAK-6895] - Suggest directory lookup (query) isn't closed
- [OAK-6901] - Unknown channel option 'TCP_NODELAY' for channel
- warning in cold standby
- [OAK-6902] - Cost estimation for path tranformable queries is
- incorrect
- [OAK-6909] - FileStore.compact does not persist compacted head to
- journal
- [OAK-6912] - Cold standby performance regression due to segment
- caching
- [OAK-6923] - Update Oak trunk to Jackrabbit 2.15.8
- [OAK-6926] - Lucene: contains "a -b" with path restriction ignored
- "a"
- [OAK-6928] - RootFactory: deprecated method createSystemRoot lost
- during to m12n effort
- [OAK-6930] - TreeUtil.getString(Tree,String,String defaultValue)
- is not static
- [OAK-6935] - Active deletion logs warn messages when it tries to
- delete blobs already purged by DSGC
- [OAK-6943] - Build failure: baseline error for o.a.j.o.spi.xml
- [OAK-6950] - Active deletion can delete blobs from a shared store
- when a clone setup is created
- [OAK-6953] - CacheLIRS cannot be disabled
- [OAK-6966] - SizeDeltaGcEstimation should compute the repository
- size from the same source
- [OAK-6967] - Skip problematic binaries: spurious warning in log
- file
- [OAK-6968] - Cumulative RGC stats always shows timeActive=0
- [OAK-6972] - DefaultIndexReader closes suggest directory multiple
- times
- [OAK-6975] - test failure seen in
- org.apache.jackrabbit.oak.segment.upgrade.UpgradeIT
- [OAK-6977] - The oak-run process started by UpgradeIT interferes
- with Surefire
- [OAK-6982] - Test failure:
- TokenCleanupTest.testAllExpiredReachingThreshold
- [OAK-6984] - High read IO in compaction retry cycles
- [OAK-6986] - Tooling should not silently upgrade the FileStore
- [OAK-7005] - Test failure:
- DocumentLeaseUpdateRetryTest.testLeaseRetryLoopWithDelay
- [OAK-7007] - Test failure: FacetTest.testFacetsNA()
- [OAK-7008] - Estimation for FULL can be off sometimes
- [OAK-7020] - Windows test failures for oak-solr-core
- [OAK-7026] - DataStoreCheckTes#testConsistencyVerbose* test
- failures
- [OAK-7030] - DeleteOnCloseFileInputStream logs to the wrong logger
- [OAK-7044] - Misleading log message by LeaseFailureHandler
- [OAK-7045] - Incorrect module name in Utils.getModuleVersion()
- [OAK-7052] - Active deletion purge can OOM if number of blobs
- listed in a file become too large
- [OAK-7053] - Commit fails even though change made it to the
- DocumentStore
- [OAK-7054] - Build failure: ClassNotFoundException:
- solr.JsonUpdateRequestHandler
- [OAK-7070] - rep:excerpt selector broken as regression of OAK-6750
- [OAK-7078] - NullPointerException in
- FilteredSortedSetDocValuesFacetCounts during query evaluation
- [OAK-7082] - ArrayIndexOutOfBoundsException when upgrading from
- Oak 1.6
- [OAK-7093] - ActiveDelete synchronization with BlobTracker leaves
- temp files
- [OAK-7095] - NodeStoreFixtureProvider should use BlobStore from
- DocumentNodeStore if no DataStore configured
- [OAK-7097] - DocumentStoreIndexer should clear the index state
- prior to indexing
- [OAK-7101] - Stale documents in RDBDocumentStore cache
- [OAK-7108] - TraverseWithSortStrategy fails to register memory
- pool listener with heap less than 2GB
- [OAK-7111] - Constraint violation message is imprecise when an
- unexpected child node is found
- [OAK-7119] - Restrict de-serialization mechanism for older serialized cache
- map in DataStoreCacheUtils to the classes required
- [OAK-7123] - ChildNodeStateProvider does not return all immediate
- children
+ [OAK-7200] - Sync propery indexes don't get planned if /:async
+ exists but indexing lane hasn't completed its first cycle
+ [OAK-7208] - Various disallowed control characters are accepted in
+ item names
+ [OAK-7209] - Race condition can resurrect blobs during blob GC
+ [OAK-7223] - Files could be kept partially in case of
+ disconnection from backends
+ [OAK-7227] - MountPermissionProvider getNumEntries prone to
+ overflow
+ [OAK-7236] - The diff command returns a zero exit code on error
+ [OAK-7237] - The backup and restore comands return a zero exit
+ code on error
+ [OAK-7241] - oak-run documentation typo for "checkpoints" command
+ [OAK-7244] - RDBDocumentStore: fix typo in metadata
+ [OAK-7252] - Function index for name() and localname() don't allow
+ sorting
+ [OAK-7265] - Standalone example application fails to start
+ [OAK-7266] - Standalone example system console fails to render
+ [OAK-7274] - Test failure: various upgrade tests
+ [OAK-7284] - Reindexing using --doc-traversal-mode can hit
+ ConcurrentModificationException during aggregation
+ [OAK-7285] - Reindexing using --doc-traversal-mode can OOM while
+ aggregation in some cases
+ [OAK-7291] - MongoStatusTest.testReadConcern fails on MongoDB 3.6
+ [OAK-7294] - FlatFileBufferLinkedList#add doesn't throw
+ IllegalArgumentException on null
+ [OAK-7309] - MongoDocumentStoreMetricsTest fails sporadically
+ [OAK-7317] - SegmentParser#parseBlob does not long ids of external
+ blobs
+ [OAK-7337] - CommitsTracker data is always empty when exposed via
+ JMX
+ [OAK-7339] - Fix all sidegrades breaking with
+ UnsupportedOperationException on MissingBlobStore by introducing
+ LoopbackBlobStore
+ [OAK-7341] - PermissionStoreEditor fails to reconnect collision
+ entries if main entry is removed
+ [OAK-7354] - Test failure
+ ExternalIdentityImporterTest.importExternalUserWithPrincipalNames
+ [OAK-7356] - CugConfiguration may not pick up CugExclude
+ [OAK-7357] - NPE on activation of LuceneIndexProviderService with
+ disabled CoR and CoR
+ [OAK-7375] - Wrong full text parsing in Oak Solr index with
+ boolean operators
+ [OAK-7378] - Continuous Revision GC counts _deletedOnce with every
+ run
+ [OAK-7389] - Mongo/FileBlobStore does not update timestamp for
+ already existing blobs
+ [OAK-7393] - A single StatisticsProvider is shared between all
+ SegmentNodeStoreFactory instances
+ [OAK-7394] - ConsolidatedCacheStats broken on the Composite Node
+ Store
+ [OAK-7396] - ReadOnlyFileStore.readSegment does not correctly
+ throw SegmentNotFoundException
+ [OAK-7398] - SegmentArchiveManager#listArchives should only return
+ tar files
+ [OAK-7401] - Changes kept in memory when update limit is hit in
+ commit hook
+ [OAK-7404] - ReadOnlyFileStore doesn't use custom persistence
+ [OAK-7408] - LuceneIndexProviderService uses default tracker
+ constructor with disabled CoR
-Documentation
+New Feature
- [OAK-3914] - Copy on read mbean is not properly documented anymore
- [OAK-4030] - DocumentNodeStore: required server time accuracy
- [OAK-4414] - Document IndexStatsMBean features
- [OAK-5424] - Add documentation about revision garbage collection
- [OAK-5665] - use of -R in diagnostic-build.md
- [OAK-5692] - Oak Lucene analyzers docs unclear on viable
- configurations
- [OAK-5789] - Oak does not enforce jcr:namespaceManagement at path
- level
- [OAK-5938] - Sort runmodes in README.md
- [OAK-5946] - Document indexing flow
- [OAK-5974] - Move references to various third party link to
- separate page from main page
- [OAK-6253] - Document logging and option format in oak-run
- [OAK-6370] - Improve documentation for text pre-extraction
- [OAK-6623] - Document QueryEngineSettings.FastQuerySize /
- QueryEngineSettingsService
-
-Epic
-
- [OAK-3287] - DocumentMK revision GC
- [OAK-3341] - lucene technical debt
- [OAK-4243] - Oak Segment Tar Module
- [OAK-4933] - Create a data store implementation that integrates
- with Microsoft Azure Blob Storage
- [OAK-5599] - Slim oak-run
- [OAK-5664] - Require Java 8
- [OAK-6460] - Index related tooling
- [OAK-6727] - Oak should compile & test on Java 9
+ [OAK-6921] - Support pluggable segment storage
+ [OAK-6922] - Azure support for the segment-tar
Improvement
- [OAK-937] - Query engine index selection tweaks: shortcut and hint
- [OAK-2621] - Too many reads for child nodes
- [OAK-2710] - Remove Utils.unshareString
- [OAK-2808] - Active deletion of 'deleted' Lucene index files from
- DataStore without relying on full scale Blob GC
- [OAK-3070] - Use a lower bound in VersionGC query to avoid
- checking unmodified once deleted docs
- [OAK-3342] - move benchmarks in oak-benchmark module
- [OAK-3381] - Provide Common Ancestor To ConflictHandler
- [OAK-3498] - DN can't be used as the group name in the external
- auth handler
- [OAK-3606] - Improvements for IndexStatsMBean usage
- [OAK-3801] - Move solr dependency into oak-benchmarks module
- [OAK-3878] - Avoid caching of NodeDocument while iterating in
- BlobReferenceIterator
- [OAK-3987] - Indexer dry run mode
- [OAK-4318] - Upgrade oak-solr to Solr 5.x
- [OAK-4462] - LoginModuleImpl: option to have AuthInfo populated
- with userId instead of loginName
- [OAK-4513] - Detect and log references across stores
- [OAK-4619] - Unify RecordCacheStats and CacheStats
- [OAK-4637] - Property index: include/exclude key pattern list
- [OAK-4732] - (Slightly) prioritise reads over writes
- [OAK-4839] - Allow to register DocumentNodeStore as a
- NodeStoreProvider
- [OAK-4887] - Query cost estimation: ordering by an unindexed
- property not reflected
- [OAK-4906] - Lucene: Support relative property based query by
- transforming the path
- [OAK-4920] - DefaultSyncHandler.listIdentities() search too broad,
- triggers traversal warning
- [OAK-5048] - Upgrade to Tika 1.15 version
- [OAK-5052] - Make update.limit configurable via OSGi
- [OAK-5192] - Reduce Lucene related growth of repository size
- [OAK-5194] - 'Dynamic' Automembership should respect both User and
- Group Config Values
- [OAK-5222] - Optimize the multiplexing node store
- [OAK-5275] - The check command should accept the path to the store
- as a positional argument
- [OAK-5276] - The check command overloads the meaning of the "deep"
- option
- [OAK-5277] - The check command defines a useless default value for
- the "bin" option
- [OAK-5302] - Remove legacy upgrade code from
- AbstractFileStore.collectFiles
- [OAK-5309] - Supporting roles in RepositoryManager execution of
- maintenance tasks
- [OAK-5350] - Improve code coverage of oak-segment-tar
- [OAK-5412] - Use GCMonitor for revision gc task run in
- DocumentNodeStore
- [OAK-5483] - Move TemporaryPort to the oak-commons module
- [OAK-5495] - Allow to migrate only paths matching given path
- fragment
- [OAK-5505] - Delete o.a.j.o.segment.http.HttpStore
- [OAK-5514] - Standby Automatic Cleanup should be on by default
- [OAK-5515] - Allow to ignore writes for some of the read-only
- paths
- [OAK-5525] - VisibleEditor should use the NodeStateUtils to
- determine visibility
- [OAK-5546] - [BlobGC] Adapt time to delete blobs based on lucene
- indexing activity
- [OAK-5559] - Reduce reads with overlapping previous documents
- [OAK-5571] - VersionGarbageCollector can remove leaf nodes eagerly
- [OAK-5572] - Enable instrumentation of I/O operations
- [OAK-5589] - GlobbingPathFilter constructor is expensive
- [OAK-5594] - leaderboard of consolidated listener stats should
- show path as well
- [OAK-5595] - The check command should do deep traversals by
- default
- [OAK-5602] - Avoid missing journal entries
- [OAK-5604] - The check command should accept a non-argument "bin"
- option for checking binaries
- [OAK-5605] - Speed up time to cancel revision GC
- [OAK-5617] - Metrics for DocumentStore.remove()
- [OAK-5620] - Simplify consistency check
- [OAK-5631] - IOMonitor should expose the time spent reading
- segments
- [OAK-5632] - IOMonitor should expose the time spent writing
- segments
- [OAK-5637] - Increase time granularity in IOMonitor
- [OAK-5654] - Improve log output with UserImporter
- [OAK-5666] - oak-upgrade should validate the paths
- [OAK-5690] - Remove duplicated code from TarRevisions and
- ReadOnlyRevisions
- [OAK-5691] - Remove duplicated code from FileStore and
- ReadOnlyFileStore
- [OAK-5704] - VersionGC: reset _deletedOnce for documents that have
- been resurrected
- [OAK-5742] - more logging when ChangeProcessor.stopAndWait fails
- [OAK-5743] - UserQueryManager: omits nt-name when searching for
- properties without path deliminator
- [OAK-5752] - Remove duplicate code for background operation timing
- log
- [OAK-5761] - Move commit value resolution to DocumentNodeStore
- [OAK-5784] - hashCode of RestrictionImpl doesn't include value
- [OAK-5788] - Perform update of single node in one remote call if
- possible
- [OAK-5790] - Chronologically rebase checkpoints on top of each
- other during compaction
- [OAK-5794] - Track time to check GC candidate nodes
- [OAK-5827] - Don't use SHA-1 for new DataStore binaries
- [OAK-5833] - Intermediate commits during (re-)indexing of
- synchronous index
- [OAK-5835] - JournalReader should include timestamp information
- (if available)
- [OAK-5837] - Consistency check should log more details when
- traversing a corrupt node
- [OAK-5861] - SegmentGCOptions toString duplicates
- gcSizeDeltaEstimation info
- [OAK-5873] - Improve SegmentNodeStoreService OSGi description for
- customBlobStore to remove default False
- [OAK-5881] - Reduce code duplication in
- ConfigurationParameters.Milliseconds.of
- [OAK-5886] - Confusing log message from lease update
- [OAK-5890] - Benchmarks: add utility for system login to
- AbstractTest
- [OAK-5892] - ResultRowToAuthorizable: create user/group from tree
- [OAK-5893] - Async index abort should work even during traversals
- without index updates
- [OAK-5894] - IndexDefinitionBuilder shouldn't set type=lucene if
- type=disabled in existing tree
- [OAK-5895] - Avoid jcr-path conversion in AuthorizableIterator
- [OAK-5899] - PropertyDefinitions should allow for some
- tweakability to declare usefulness
- [OAK-5900] - Add Nonnull Annotation to
- TokenInfo.matches(TokenCredentials)
- [OAK-5901] - Minor improvements to TokenProviderImpl and
- TokenValidator
- [OAK-5902] - Cold standby should allow syncing of blobs bigger
- than 2.2 GB
- [OAK-5904] - Property index: log when reindexing is done
- [OAK-5910] - Reduce copying of data when reading mmapped records
- [OAK-5921] - Make import org.apache.log4j optional
- [OAK-5926] - Readability of membership code
- [OAK-5929] - Redundant test for null with
- AuthorizableImpl.checkValidTree implementations
- [OAK-5935] - AbstractSharedCachingDataStore#getRecordIfStored
- should use the underlying cache.get
- [OAK-5936] - Remove unused depth parameter
- SegmentWriteOperation#writeNode and related methods
- [OAK-5939] - MembershipWriter.removeMembers writes back too often
- [OAK-5940] - Remove CachedNodeDocument
- [OAK-5941] - Improve the checkpoint release & retrieve for
- multiplexing node store
- [OAK-5951] - Enable Metrics for SegmentCompactionIT test
- [OAK-5953] - PriorityCache statistics should support load
- exception count
- [OAK-5954] - Unify and simplify the deduplication caches
- [OAK-5956] - Improve cache statistics of the segment cache
- [OAK-5957] - Avoid direct access to fields in DocumentNodeStore
- [OAK-5959] - Hide DocumentNodeStore.backgroundRead()
- [OAK-5961] - Handle scenario where jansi library cannot be loaded
- [OAK-5967] - Null instances for SegmentId and RecordId
- [OAK-5969] - SegmentCompactionIT should expose SegmentNodeStore
- statistics via JMX
- [OAK-5972] - Provide a way to abort indexing / reindexing of
- synchronous indexes
- [OAK-5983] - BlobGC should log the amount of space reclaimed after
- GC run is done
- [OAK-5985] - add CloseableIterator similar to CloseableIterable
- [OAK-5988] - Hide DocumentNodeStore.backgroundWrite()
- [OAK-5989] - Create a partial index on _deletedOnce instead of
- sparse index
- [OAK-5991] - FileStoreBuilder should print out a more helpful
- error message when buildReadOnly fails
- [OAK-5996] - Revisions.setHead(Function) should return the new
- head or null instead of boolean
- [OAK-6000] - Support for the checkpoint metadata retrieval/update
- in oak-run
- [OAK-6001] - Remove unused code from FileStore and TarWriter
- [OAK-6002] - Encapsulate TAR files handling in its own class
- [OAK-6003] - Allow to migrate checkpoints for all type of
- sidegrades
- [OAK-6005] - Add record id of the compacted root to the GC journal
- [OAK-6012] - Add annotation with ImpersonationImpl
- [OAK-6013] - Add annotations to AuthorizablePropertiesImpl
- [OAK-6014] - AuthorizablePropertiesImpl.removeProperty if
- non-existing property outside of scope
- [OAK-6018] - UserImporter: session field can avoided by passing to
- init method
- [OAK-6019] - UserImporter: Redundant assignment of UserManager
- [OAK-6020] - add a Guava Stopwatch like duration formatter
- [OAK-6021] - Remove segment graph functionality from oak-run
- [OAK-6026] - spi.xml.PropInfo: missing error msg in case of
- multivalue mismatch
- [OAK-6027] - UserImporter.Impersonators : use Oak path to user
- instead of ID
- [OAK-6029] - UserImporter.startChildInfo: rather check state than
- for currentMembership being null
- [OAK-6030] - Add tests for TarFiles
- [OAK-6032] - Enable tests from SegmentCachingDataStoreStatsTest
- [OAK-6034] - Move security related service trackers from
- spi.whiteboard to oak.security package space
- [OAK-6035] - Mark AbstractLoginModule and Authentication as
- provider types
- [OAK-6036] - Remove WhiteboardUtils#registerObserver method
- [OAK-6038] - Drop dependency of spi.security.* tests from
- AbstractSecurityTest
- [OAK-6039] - TarFiles shouldn't need to regularly create a new
- list of TarReader instances
- [OAK-6040] - FileStore: Log version at creation time
- [OAK-6042] - Allow to support mount path fragments under specified
- subtrees
- [OAK-6050] - Unify used version of osgi-mock
- [OAK-6052] - Cleanup blocks writers
- [OAK-6053] - Move OakInitializer from
- org.apache.jackrabbit.oak.spi.lifecycle to o.a.j.oak
- [OAK-6059] - Revert VersionGC supplier change
- [OAK-6068] - Assign meaningful names to cold standby threads
- [OAK-6070] - Location of ClusterRepositoryInfo in
- o.a.j.oak.plugins.identifier package
- [OAK-6072] - Move check for cyclic membership to GroupImpl
- [OAK-6073] - Get rid of dependency from oak-blob-azure from
- oak-core
- [OAK-6076] - Ensure tracking of slow queries includes the full
- execution time including getting result nodes
- [OAK-6122] - enforce oak-run size
- [OAK-6123] - Filter documents not matching path restriction in
- LucenePropertyIndex even when evaluatePathRestriction isn't set
- [OAK-6126] - ValueImpl can be package private
- [OAK-6129] - Create compound index on _sdType and _sdMaxRevTime
- [OAK-6131] - No need to rebuild the counter/uuid index anymore
- [OAK-6136] - Extract the multiplexing implementation code into a
- separate bundle
- [OAK-6142] - Warn or fail queries above a configurable cost value:
- use log level "warning"
- [OAK-6145] - Move MembershipWriter#setMembers() to oak-upgrade
- [OAK-6146] - LoginModuleImpl could also clear local state after
- successful commit
- [OAK-6147] - Review SessionOperation usage in security code
- [OAK-6154] - Use Closer in DocumentNodeStoreService
- [OAK-6169] - Add "/jcr:root" to o.a.j.oak.spi.query.QueryConstants
- [OAK-6177] - AddMembersTest should add unique items to groups
- [OAK-6179] - Simplify collecting Oak setup details via Felix
- Inventory
- [OAK-6180] - Tune cursor batch/limit size
- [OAK-6184] - Avoid repository read for built-in aggregations upon
- PrivilegeBitsProvider.getAggregatedPrivilegeNames
- [OAK-6188] - Allow to exclude nodes containing name fragment
- during the migration
- [OAK-6190] - Allow to migrate checkpoints even if the custom
- include paths are specified
- [OAK-6195] - Reduce visibility of some member of Segment
- [OAK-6197] - Remove DocumentNodeStore dependency in
- UnsavedModifications
- [OAK-6198] - Fix formatting of README.md
- [OAK-6207] - RDBDocumentStore: allow schema evolution part 2:
- record schema version when updating/inserting rows
- [OAK-6210] - Provide a consistent and extensible way to handle
- oak-run options while creating NodeStore
- [OAK-6212] - AccessControlAction: minor improvement when user or
- group privileges are empty
- [OAK-6213] - Remove force flag from oak-run compact
- [OAK-6218] - Including id in DocumentStoreException which wrap
- MongoException
- [OAK-6221] - Deprecate SecurityProviderImpl
- [OAK-6223] - Expose socket keep-alive option
- [OAK-6242] - Add 'container' as an acceptable property name for s3
- bucket
- [OAK-6256] - Prevent creating the across-mounts references
- [OAK-6263] - Create test covering removal of a referenced node
- [OAK-6269] - Support non chunk storage in OakDirectory
- [OAK-6272] - AbstractNodeState.toString does not scale to many
- child nodes
- [OAK-6289] - Unreferenced argument reference in method
- SegmentBufferWriter.writeRecordId
- [OAK-6295] - Move constants from oak.query.QueryImpl to
- oak.spi.query.QueryConstants
- [OAK-6296] - Move JACKRABBIT_2_SINGLE_QUOTED_PHRASE from
- o.a.j.oak.query.ask.FullTextSearchImpl to
- oak.fulltext.FullTextParser
- [OAK-6298] - FacetHelper should have private constructor
- [OAK-6299] - FilterIterators should have a private constructor
- [OAK-6301] - Make QueryEngineSettingsMBeanImpl an inner class of
- o.a.j.oak.Oak
- [OAK-6302] - UserInitializer: createSystemRoot can get null value
- for QueryEngineSettings
- [OAK-6307] - Function to find all large docs in Mongo
- [OAK-6313] - Support properties filtering in the Whiteboard track
- method
- [OAK-6320] - Allow to disable the read-only mode in composite node
- store
- [OAK-6323] - Remove StandbyTest
- [OAK-6324] - Remove SegmentNodeStoreFactoryTest#nodeStoreProvider
- [OAK-6325] - Turn CacheWeightsTest into a command-line utility
- [OAK-6326] - Remove unused field SegmentNodeStore.reader
- [OAK-6327] - Convert FileStore.maxFileSize fiels into local
- variable
- [OAK-6328] - Declare StandbyStoreService.closer final
- [OAK-6329] - Declare immutable field of FileStore.CompactionResult
- final
- [OAK-6330] - LockBasedScheduler.execute declares exception that is
- never thrown
- [OAK-6331] - Closeable.close in StandbyStoreService declares
- exception that is never thrown
- [OAK-6332] - Add missing @Nonnull annotations
- [OAK-6333] - IndexPlanner should use actual entryCount instead of
- limiting it to 1000
- [OAK-6336] - Use the oak-blob-cloud for s3 support in oak-upgrade
- [OAK-6339] - MapRecord#getKeys should should initialize child
- iterables lazily
- [OAK-6340] - Don't restart the composite node store on every node
- store bind/unbind
- [OAK-6341] - oak-run redirects reindexing info to STDERR
- [OAK-6347] - Don't track local changes in the document cache
- tracker
- [OAK-6348] - Active deletion of blobs should have larger queue for
- blobs being deleted
- [OAK-6349] - Randomized permission tests
- [OAK-6350] - Improve log reporting if multiple indexes compete for
- same query
- [OAK-6351] - Invalidate cache entries when getChildNodes() is
- aborted
- [OAK-6353] - Use Document order traversal for reindexing performed
- on DocumentNodeStore setups
- [OAK-6354] - Move DocumentNodeStoreMBean implementation in
- separate file
- [OAK-6355] - Usage of NodeAggregator creates cyclic dependency
- between oak.spi.query and oak.plugins.index.*
- [OAK-6356] - Allow CompositePermissionProvider to OR entries
- [OAK-6359] - Change behavior for very complex queries
- [OAK-6361] - Oak run tika command should connect to NodeStore in
- read only mode
- [OAK-6362] - Use NodeStoreFixtureProvider in tika command of
- oak-run
- [OAK-6363] - BlobStoreFixtureProvider should support '.cfg' files
- also
- [OAK-6364] - BlobStoreFixtureProvider should configure a default
- 'secret' value if none specified
- [OAK-6369] - Reduce cache segments for revisions sweep
- [OAK-6381] - Improved index analysis tools
- [OAK-6388] - Enable Azure shared access signature for blob store
- connector
- [OAK-6394] - Reduce impact of default multiplexing setup on the
- ReferenceIndex
- [OAK-6395] - Refactor monitoring of deduplication caches
- [OAK-6396] - Reduce usages of DefaultSegmentWriter in favour of
- SegmentWriter
- [OAK-6406] - Cleanup constants in Segment class
- [OAK-6407] - Refactor oak.spi.query into a separate module/bundle
- [OAK-6409] - Oak-run indexing: improved (user friendly) output
- [OAK-6425] - Make the CompositeNodeStore thread-safe
- [OAK-6428] - Add flag for controlling percentile of commit time
- used in scheduler
- [OAK-6430] - Remove Apache Commons Math3 dependency from Segment
- Tar
- [OAK-6432] - Make dynamic reference greedy and static to simplify
- LuceneIndexProviderService
- [OAK-6436] - Log message on checkpoint MBean invocation
- [OAK-6437] - NodeStateCopyUtils should not copy hidden props and
- node in JCR mode
- [OAK-6450] - Stop relying on the service.pid property in
- SecurityProviderRegistration
- [OAK-6459] - VisibleValidator duplicated in chain for each
- hierarchy level
- [OAK-6461] - Merge all security related validators into a single
- hook
- [OAK-6464] - Public constructor for RandomStream
- [OAK-6466] - Suppress NOP info message from revision GC
- [OAK-6469] - CompositePermissionProvider should implement
- AggregatedPermissionProvider
- [OAK-6470] - Remove extra call to createGroupPrincipal in
- UserPrincipalProvider
- [OAK-6472] - Expose constructor in JsonSerializer which takes
- filer and JsopBuilder
- [OAK-6475] - JsonSerializer should not emit :childNodeCount
- property
- [OAK-6482] - Remove org.apache.sling.testing.osgi-mock dependency
- from oak-run
- [OAK-6488] - Move journal maxRevisionAge to DocumentNodeStore
- [OAK-6489] - Datastorecheck command should output the path of
- missing datastore
- [OAK-6491] - Add JCR_CREATED support to
- JcrLastModifiedConflictHandler
- [OAK-6492] - Allow DummyDataStore to read files written by it
- [OAK-6494] - Change journalGCMaxAge default
- [OAK-6495] - Fallback to classic diff when journal is broken
- [OAK-6497] - Support old Segment NodeStore setups for oak-run
- index tooling
- [OAK-6510] - Fix string representation of the old generation
- reclaimer
- [OAK-6518] - Implement transparent usage of different TAR index
- formats
- [OAK-6520] - Improve tail compactions resilience when base state
- cannot be determined
- [OAK-6523] - Tune DocumentNodeStore setup for indexing flow for
- index command
- [OAK-6525] - Index consistency checker should check all indexes
- even after failure
- [OAK-6526] - Slow queries: ability to track them via JMX
- [OAK-6528] - Implement transparent usage of different binary
- references index formats
- [OAK-6530] - Expose last RGC result via Supplier
- [OAK-6534] - Compute indexPaths from index definitions json
- [OAK-6536] - Periodic log message from continuous RGC
- [OAK-6537] - Don't encode the checksums in the TAR index tests
- [OAK-6539] - Decrease version export for
- org.apache.jackrabbit.oak.spi.security.authentication
- [OAK-6540] - Session.hasAccess(...) should reflect read-only
- status of mounts
- [OAK-6543] - NodeCounter: JMX description
- [OAK-6549] - Move gcType to SegmentGCOptions
- [OAK-6550] - Make BlobTracker snapshot process smarter
- [OAK-6551] - Add an option to datastorecheck command to include
- path details in the missing blobs report
- [OAK-6552] - Dump index command should fallback to dumping
- NodeState incase of error
- [OAK-6556] - gc.log should contain recordId of compacted root
- after offline compaction
- [OAK-6558] - Remove the 'parent' field from the
- CompositeNodeBuilder
- [OAK-6559] - Don't allow to place mounts under mounts
- [OAK-6563] - Session.hasCapability(...) should reflect read-only
- status of mounts
- [OAK-6564] - Update netty dependency to 4.1.x
- [OAK-6565] - GetBlobResponseEncoder should not write all chunks at
- once
- [OAK-6568] - TarFiles returns null instead of an empty list in the
- graph
- [OAK-6569] - TarFiles should uniformly use TAR file names instead
- of paths
- [OAK-6570] - TarFiles represents referenced segments in a graph as
- a list instead of a set
- [OAK-6574] - Lucene index: include/exclude key pattern list
- [OAK-6578] - Enhance the UniqueEntryStoreStrategy to return list
- of matching values and paths
- [OAK-6585] - Allow to use patterns in the
- Mount#pathSupportingFragments
- [OAK-6586] - [oak-run] Add option to datastorecheck command to
- report misconfigured external binary references
- [OAK-6587] - Provide a way to "force" Tika to treat binaries with
- a different mime type than the jcr:mimeType property
- [OAK-6588] - MongoDocumentStore should avoid logging warning when
- connect in read only mode
- [OAK-6589] - Close the fixture in oak run console
- [OAK-6590] - Avoid logging import statements for :load command
- execution
- [OAK-6592] - Remove path and rootBuilder from the
- CompositeNodeBuilder
- [OAK-6595] - Pre-populate the default store when running composite
- node store
- [OAK-6605] - Provide job name for async index update
- [OAK-6609] - Provide job name for JournalGC and RevisionGC job
- [OAK-6613] - Provide list of all bundled nodes within a given
- DocumentNodeState
- [OAK-6614] - Add ability to add 'excludeFromAggregation' setting
- while building index definition
- [OAK-6615] - Add new segment-tar fixture for attaching a
- cold-standby to benchmarked primary
- [OAK-6617] - Mounts.DefaultMount.getName() should not be empty
- [OAK-6621] - Initialize a default sensible stats provider in
- UploadStagingCache
- [OAK-6622] - Configure default core pool size for thread pool used
- by oak-lucene
- [OAK-6625] - Avoid oak-run compact inadvertently upgrading the
- segment format
- [OAK-6626] - Replace standby blob chunk size configuration with
- feature flag
- [OAK-6634] - Confusing log entries when memory requirements are
- not met at start of OnRC
- [OAK-6636] - Create a path cache for the CompositeNodeState
- [OAK-6637] - Release IndexNode lock in finally clause
- [OAK-6638] - Add a composite-prepare command in oak-run
- [OAK-6644] - Use ReadOnlyNodeBuilder for the read-only mounts
- [OAK-6646] - Make it possible to set timeouts in Solr index
- connections
- [OAK-6647] - Reduce reads by RevisionGC
- [OAK-6650] - new release checksum requirements
- [OAK-6654] - Remove duplicate code in OakRepositoryStub classes
- [OAK-6661] - ResponseDecoder should check that the length of the
- received blob matches the length of the sent blob
- [OAK-6662] - Extend CredentialsSupport pluggability
- [OAK-6663] - Revisit MountInfoProvider usage in
- AuthorizationConfigurationImpl
- [OAK-6664] - Revisit MountInfoProvider usage in CugConfiguration
- [OAK-6667] - Refactor StandbyDiff for better clarity and
- understandability
- [OAK-6681] - Remove PropInfo dependency on EffectiveNodeType
- [OAK-6683] - Use less resource intensive method to determine
- number of docs in lucene index
- [OAK-6684] - IndexPathService should work with Oak 1.0 setups
- [OAK-6690] - Refactor constants classes NodeTypeConstants,
- NamespaceConstants, VersionConstants
- [OAK-6692] - Log exception in case of import via JMX operation
- fails
- [OAK-6693] - Ensure that IndexNodeManager releases lock in case of
- error in acquiring it
- [OAK-6694] - Expose TokenConstants.java
- [OAK-6695] - Expose an abstract Credentials class
- [OAK-6703] - Refactor oak.namepath package
- [OAK-6708] - Move plugins.value.jcr package to oak-store-spi
- [OAK-6710] - CommitMitigated merge policy should not reduce
- performance significantly
- [OAK-6715] - Log elapsed time even if actual count is more than
- estimate
- [OAK-6718] - Configure RAM buffer size used by IndexWriter with
- oak-run indexing
- [OAK-6719] - add ability to run benchmarks with continuous version
- GC enabled (RDB fixtures)
- [OAK-6726] - Use addDocument instead of updateDocument while
- reindexing with Lucene
- [OAK-6734] - IndexPlan: add supportsPathRestrictions
- [OAK-6735] - Lucene Index: improved cost estimation by using
- document count per field
- [OAK-6736] - Upgrade PojoSR to handle SCR spec 1.3
- [OAK-6738] - MemoryDocumentStore should optionally maintain
- _modCount
- [OAK-6739] - Improve oak-it-osgi to support SCR spec 1.3
- [OAK-6742] - Upgrade to jline2 2.14.5
- [OAK-6752] - Conditional update on _modCount
- [OAK-6775] - Suggest directory should utilize CopyOnRead if
- available
- [OAK-6792] - rep:facet not supported in xpath
- [OAK-6801] - Set minRecordLength to the recommended 4096 in
- OakFileDataStore
- [OAK-6802] - Manage 'secret' property internally in
- S3/AzureDataStore
- [OAK-6803] - Provide a way to for persistent cache to determine
- which all nodes can be cached
- [OAK-6806] - RDBDocumentStore: version GC does not scale when
- there are many docs with long paths
- [OAK-6807] - Query Recorder
- [OAK-6809] - Allow RevisionGCTest to operate on "long" paths
- [OAK-6815] - Support specifying queryPaths in
- IndexDefinitionBuilder
- [OAK-6822] - RevisionGC: measure timeToDeleteSplitDocs separately
- (when possible)
- [OAK-6830] - RDBDocumentStore: allow schema evolution part 3
- [OAK-6831] - Nodetype index support in Lucene Index
- [OAK-6834] - Make TypeEditor publically accessible and allow
- pluggable constraint violation handling
- [OAK-6839] - RDBDocumentStore: queries done by GC processes should
- not thrash the cache
- [OAK-6842] - Refactor FileStore.close
- [OAK-6849] - Avoid creating empty properties node under indexRules
- [OAK-6851] - Disabled index with reindex flag enabled should not
- lead to reindex report
- [OAK-6859] - Schedule Revision GC in DocumentNodeStoreService
- [OAK-6862] - Active deletion of Lucene binaries: JMX bean, and
- ability to disable automatic
- [OAK-6867] - Enable index hints on UUID lookup query
- [OAK-6868] - Simplify setup of access tracking of the file store
- caches
- [OAK-6873] - UserInitializer should not use hard coded
- QueryIndexProvider
- [OAK-6878] - Populate S3DataStore fields with the passed
- properties in oak-upgrade
- [OAK-6883] - The compaction estimator should take the compaction
- type (tail vs. full) into consideration
- [OAK-6887] - Change default value for autoCompact
- [OAK-6896] - Log SegmentStore size at startup
- [OAK-6899] - Add explicit dependency versions for aws-java-sdk in
- oak-run
- [OAK-6905] - Query engine: support coalesce function as in-built
- method
- [OAK-6908] - Change RDB default scheduling on RDB
- [OAK-6910] - Offline compaction should not use mmap on Windows
- [OAK-6915] - Minimize the amount of uncached segment reads
- [OAK-6917] - Configuration presets for DocumentNodeStoreService
- [OAK-6918] - AbstractCredentials lack nullability annotations and
- test coverage
- [OAK-6931] - Enable the -Dcache of offline compaction
- [OAK-6933] - Fix nullable annotations in PasswordUtil
- [OAK-6940] - Login token name generation is prone to race
- conditions
- [OAK-6969] - Reduce the responsibilities of CompactCommand in
- favour of Compact
- [OAK-6980] - Replacement for RootFactory and TreeFactory
- [OAK-6981] - move OsgiContext defined in derived tests to
- AbstractExternalAuthTest
- [OAK-7009] - Test factories for SecurityProvider should have
- private constructor
- [OAK-7010] - Replace usages of RootFactory/TreeFactory by service
- reference
- [OAK-7018] - Move setup of composite security configurations to
- SecurityProviderBuilder
- [OAK-7031] - DeleteOnCloseFileInputStream should properly handle
- errors when deleting the file
- [OAK-7038] - Make deletion of temp files resilient in some common
- utility methods
- [OAK-7042] - Pin async indexer on cluster leader
- [OAK-7051] - Remove dangling reference to compress-interval system
- property from oak-run documentation
- [OAK-7055] - Expose observation queue max length as metric
- [OAK-7064] - Remove duplicated code from the FileStore logging
- implementation
- [OAK-7066] - Active deletion blob list files can grow too large
- due to inlined blobs
- [OAK-7072] - Add log message upon compacted call in GCMonitor in
- Lucene indexer
- [OAK-7080] - Segment-Tar-Cold fixture should have options for
- secure communication and one shot runs
- [OAK-7094] - Log cli arguments and vm arguments passed to indexer
- command
- [OAK-7096] - Compaction should log generation info
- [OAK-7099] - DocumentStoreIndexer should log estimate of ETA for
- dumping phase
- [OAK-7103] - Enable compression by default on DocumentStoreIndexer
- logic
- [OAK-7104] - Support read and write to compressed file in
- ExternalSort
- [OAK-7105] - Implement a traverse with sort strategy for
- DocumentStoreIndexer
- [OAK-7113] - IndexerMBean should allow to import without depending
- on all IndexStatsMbean available
- [OAK-7115] - Store NodeState json in bytes when storing in
- in-memory queue
- [OAK-7121] - DocumentStore testing: allow config of
- DocumentMK.Builder in AbstractDocumentStoreTest
- [OAK-7124] - Support MemoryNodeStore with NodeStoreFixtureProvider
+ [OAK-2907] - Move DocumentMK to test
+ [OAK-4857] - Support space chars common in CJK inside item names
+ [OAK-6031] - Add TarFiles to the architecture diagram
+ [OAK-6373] - oak-run check should also check checkpoints
+ [OAK-7057] - Segment.toString: Record table should include an
+ index into the hexdump
+ [OAK-7134] - DocumentNodeStore.newMergeCommit() base parameter is
+ always non-null
+ [OAK-7139] - Wrap MongoException when query fails
+ [OAK-7140] - Retry query on MongoException
+ [OAK-7153] - Avoid persistent cache read access when key is not
+ cached
+ [OAK-7157] - Minimize the amount of generations retained by the
+ Cold Standby
+ [OAK-7158] - Users shouldn't be able to change the number of
+ retained generations
+ [OAK-7175] - Reduce cache misses on local diff-cache
+ [OAK-7195] - Node.getMixinNodeTypes() may check for child node
+ named jcr:mixinTypes
+ [OAK-7196] - ValidNamesTest improvements
+ [OAK-7213] - Avoid call for child node when bundle contains all
+ children
+ [OAK-7215] - Add configurable repository size cap to
+ SegmentOverflowExceptionIT
+ [OAK-7222] - Log a warn when CoW opens input from remote due to
+ size mismatch
+ [OAK-7231] - Remove PermissionEntryCache.getNumEntries
+ [OAK-7232] - MountPermissionProvider.load can return null
+ [OAK-7235] - Remove unused code from SegmentTarUtils
+ [OAK-7248] - Remove deprecated deep option from check command
+ [OAK-7251] - BinaryTextExtractor should not ignore parse exception
+ - they should at least be logged at DEBUG in all cases
+ [OAK-7253] - Benchmarks: cleanup duplications in AC setup
+ [OAK-7259] - Improve SegmentNodeStoreStats to include number of
+ commits per thread and threads currently waiting on the semaphore
+ [OAK-7262] - LockBasedScheduler#getHeadNodeState poor performance
+ due to lock contention in commitTimeHistogram implementation
+ [OAK-7280] - Remove superfluous methods from SegmentWriter
+ [OAK-7290] - Reindexing using --doc-traversal-mode should have
+ configurable upper bound for mem usage
+ [OAK-7298] - Remove debug logging to the console during tests
+ [OAK-7310] - Empty package-info.java causes unnecessary rebuild
+ [OAK-7326] - Add a way to disable the SegmentCache
+ [OAK-7340] - Remove SecurityProviderImpl usage from tests
+ [OAK-7384] - SegmentNodeStoreStats should expose stats for
+ previous minute per thread group
+ [OAK-7388] - MergingNodeStateDiff may recreate nodes that were
+ previously removed to resolve conflicts
+ [OAK-7403] - AzureSegmentArchiveReader should get the metadata
+ from listBlobs() operation
+ [OAK-7416] - Contribute a 'proc' subtree for the Segment Node
+ Store
+ [OAK-7418] - SecurityProviderBuilder ignores configuration option
+ authorizationCompositionType
+ [OAK-7420] - Introduce SegmentNodeStoreMonitorService for exposing
+ writerGroups as an OSGi config property
+ [OAK-7424] - SecurityProviderBuilder expects
+ CompositeConfiguration
-New Feature
+Test
- [OAK-3349] - Partial compaction
- [OAK-3710] - Continuous revision GC
- [OAK-3711] - Clean up _revision entries on commit root documents
- [OAK-3712] - Clean up uncommitted changes
- [OAK-4122] - Replace the commit semaphore in the segment node
- store with a scheduler
- [OAK-4348] - Cross language search via SMT
- [OAK-5210] - Ability to resolve principal name from
- ExternalIdentityRef without IDP roundtrip
- [OAK-5519] - Skip problematic binaries instead of blocking
- indexing
- [OAK-5556] - Allow filter paths for Check command
- [OAK-5558] - Consistency checker for Lucene indexes
- [OAK-5634] - Expose IOMonitor stats via JMX
- [OAK-5741] - DocumentStore UpdateOp: support removal of properties
- [OAK-5898] - Revision GC command line tool
- [OAK-5903] - Authentication: add extension to retrieve user
- principal
- [OAK-5970] - (Re-)Indexing: estimate progress / ETA
- [OAK-6080] - Index report service
- [OAK-6081] - Indexing tooling via oak-run
- [OAK-6161] - Continuous flag for revisions collect command
- [OAK-6215] - Dump index stats and index definitions
- [OAK-6220] - Copy on write node store implementation
- [OAK-6240] - Sidegrade support for DocumentNodeStore to Secondary
- NodeStore
- [OAK-6246] - Support for out of band indexing with read only
- access to NodeStore
- [OAK-6276] - expose way to detect "eventual consistency delay"
- [OAK-6382] - Adjust AccessControlList implementations to reflect
- JCR-4144
- [OAK-6456] - Include the tail generation in the TAR index
- [OAK-6457] - Increment the segment version number
- [OAK-6458] - Increment the manifest version number
- [OAK-6468] - Include the tail generation in the binary references
- index
- [OAK-6471] - Support adding or updating index definitions via
- oak-run
- [OAK-6476] - Support deserializing json as NodeState
- [OAK-6477] - RevisionGC metrics for DocumentNodeStore
- [OAK-6484] - Include tail generation in the GC journal
- [OAK-6485] - Expose tail and full compaction via different methods
- [OAK-6514] - Make Lucene merge policy configurable
- [OAK-6531] - Implement rolling upgrade from Oak 1.6
- [OAK-6535] - Synchronous Lucene Property Indexes
- [OAK-6545] - Support for dumping repository content as json along
- with blobs via oak-run
- [OAK-6553] - Progress indicator for compaction
- [OAK-6575] - Provide a secure external URL to a DataStore binary.
- [OAK-6593] - CacheStats metrics
- [OAK-6818] - TokenAuthentication/TokenProviderImpl: cleanup
- expired tokens
- [OAK-6820] - Implement support for disabling indexes which are
- replaced with newer index
- [OAK-6853] - Oak run tooling to store reindexed property index in
- segment store
- [OAK-7021] - Collect DocumentStore stats as part of status zip
- [OAK-7033] - MongoDocumentStore collection metrics
+ [OAK-7107] - Ability to run AbstractJCRTest derived tests with
+ different fixtures
+ [OAK-7133] - DocumentNodeStore resilience test on MongoDB
+ [OAK-7145] - Share initialized NodeStore for read-only repository
+ tests
+ [OAK-7238] - Benchmark : random read for different sets of
+ principals
Task
- [OAK-1588] - Create more tests/validation to LDAP integration
- [OAK-2046] - Cleaning-up double test artifacts between oak-core
- and oak-jcr
- [OAK-2476] - Move our CI to Jenkins
- [OAK-3134] - Identify functionality offered by oak-run
- [OAK-3766] - Investigate and remove dependencies from oak-run
- [OAK-4292] - Document oak-segment-tar
- [OAK-4511] - Enable collection of stats around persisted branch
- created in DocumentNodeStore
- [OAK-4780] - VersionGarbageCollector should be able to run
- incrementally
- [OAK-4891] - Mount-time sanity checks for mounted NodeStore
- instances
- [OAK-4893] - Document conflict handling
- [OAK-5028] - Remove DocumentStore.update()
- [OAK-5352] - Enable RevisionGC task for non primary
- SegmentNodeStore
- [OAK-5361] - switch to stable release of
- org.apache.directory.api.api-all
- [OAK-5409] - Update Oak trunk to Jackrabbit 2.15.0
- [OAK-5455] - Specify versions for maven plugins used in build for
- ensuring stable builds
- [OAK-5600] - Test coverage for CheckCommand
- [OAK-5623] - Enforce minimum line coverage for security related
- modules
- [OAK-5641] - Update AWS sdk dependency to latest version in
- oak-blob-cloud
- [OAK-5702] - Update Felix JAAS to 1.0.2
- [OAK-5834] - Remove the deprecated oak-segment module
- [OAK-5868] - oak-upgrade should reference oak-segment using a
- non-snapshot version
- [OAK-5883] - Update Oak trunk to Jackrabbit 2.15.1
- [OAK-5945] - update h2db dependency
- [OAK-6051] - Clarify migration tests failures when switching
- Commit#hasChanges implementations
- [OAK-6055] - update to latest apache parent pom (18)
- [OAK-6065] - Rework CheckpointTest and MergeTest after introducing
- the scheduler
- [OAK-6074] - Simplify merge logic in LockBasedScheduler
- [OAK-6077] - Add support for S3DataStore in oak-run console
- [OAK-6082] - Service to determine index paths
- [OAK-6088] -
- org.apache.jackrabbit.oak.management.ManagementOperation should
- use TimeDurationFormatter
- [OAK-6089] - update maven plugins
- [OAK-6091] - Location of TimeDurationFormatter (and test) in
- o.a.j.oak.util
- [OAK-6092] - Find a new home for ApproximateCounter
- [OAK-6093] - Find a new home for NodeUtil and TreeUtil including
- cleanup
- [OAK-6095] - Get rid of dependency from oak-segment-tar to
- oak-core tests
- [OAK-6097] - Reflect Modularisation in JIRA
- [OAK-6101] - Consistent naming of oak modules
- [OAK-6107] - Move README of oak-core to oak-api
- [OAK-6108] - Move DataStoreTextProviderService and
- DataStoreTextWriter to plugins.index.datastore
- [OAK-6114] - Move InitialContent to package
- org.apache.jackrabbit.oak
- [OAK-6121] - Add a metric to measure find document call resulting
- in null
- [OAK-6130] - Update Oak trunk to Jackrabbit 2.15.2
- [OAK-6137] - Remove call to getHeadNodeState in LockBasedScheduler
- constructor
- [OAK-6138] - Remove addObserver method from Scheduler API
- [OAK-6159] - BlobReferenceIterator: improve test coverage for RDB
- [OAK-6162] - BlobReferenceIterator refactoring
- [OAK-6171] - Refactor MongoBlobReferenceIterator
[... 277 lines stripped ...]