| Release Notes -- Apache Jackrabbit Oak -- Version 1.8.0 |
| |
| Introduction |
| ------------ |
| |
| Jackrabbit Oak is a scalable, high-performance hierarchical content |
| repository designed for use as the foundation of modern world-class |
| web sites and other demanding content applications. |
| |
| 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. |
| |
| 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 |
| --------------------- |
| |
| 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 |
| |
| 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 |
| |
| 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 |
| 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 |
| 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 |
| |
| Documentation |
| |
| [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 |
| |
| 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 |
| |
| New Feature |
| |
| [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 |
| |
| 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 |
| [OAK-6194] - Pass the checkpoint time as part of CommitInfo in |
| AsyncIndexUpdate |
| [OAK-6232] - Utility class to dump lucene index content |
| [OAK-6234] - Update jopt-simple version to 5.0.3 |
| [OAK-6243] - Refactor directory construction logic via |
| DirectoryFactory |
| [OAK-6249] - FSDirectoryFactory to manage indexes on local file |
| system |
| [OAK-6257] - Move the NodeStoreFixtureProvider support to |
| oak-run-commons |
| [OAK-6265] - Remove Mounts.defaultMount methods |
| [OAK-6280] - Expose whiteboard from NodeStoreFixture to provide |
| access to NodeStore components |
| [OAK-6281] - Dump metrics data to system out if metrics option is |
| enabled |
| [OAK-6304] - Cyclic dependency between oak.spi.query an |
| oak.query.* |
| [OAK-6311] - Move generic part of PropertyStateValue and |
| PropertyValues to oak-store-spi |
| [OAK-6315] - Create CheckpointMBean implementation for the |
| composite node store |
| [OAK-6318] - Refactor oak.spi.security into a separate |
| module/bundle |
| [OAK-6319] - Review API and Utilities in oak.plugins.tree package |
| [OAK-6337] - Decide major version bump of o.a.j.o.api.jmx |
| [OAK-6343] - Add replacement for deprecated |
| RootFactory.createSystemRoot |
| [OAK-6380] - Revert bnd dependency overwrite for bundle plugin |
| [OAK-6389] - Update Oak trunk to Jackrabbit 2.15.4 |
| [OAK-6399] - Re-establish full offline compaction functionality |
| [OAK-6417] - Change log level for tests in oak-remote to INFO |
| [OAK-6439] - Add dependency to lucene-suggest in oak-pojosr |
| [OAK-6449] - Stop using the maven-scr-plugin |
| [OAK-6473] - Use JsonSerializer instead of custom json logic in |
| IndexDefinitionPrinter |
| [OAK-6478] - Move LoggingGCMonitor from segment-tar to core-spi |
| [OAK-6498] - Update Oak trunk to Jackrabbit 2.15.5 |
| [OAK-6511] - Switch to official OSGi versioning annotations |
| [OAK-6519] - Properly handle tail compactions in deduplication |
| caches |
| [OAK-6522] - Implement unit tests for OnlineCompactor |
| [OAK-6532] - Minimise usage of junit-addons |
| [OAK-6533] - Adjust test classpath order to reduce number of error |
| markers in Eclipse |
| [OAK-6538] - Investigate cold standby memory consumption |
| [OAK-6544] - Enable active blob deletion feature by default |
| [OAK-6554] - Update Dropwizard Metrics bundles to 3.2 to eliminate |
| sun.misc dependency. |
| [OAK-6555] - Implement ITs for rolling upgrade |
| [OAK-6576] - Refactor OakDirectory to be more manageable |
| [OAK-6579] - Define how the counter index works in a composite |
| setup |
| [OAK-6582] - Review MBean interactions in a composite setup |
| [OAK-6599] - Review testcases which do not confirm to Maven test |
| pattern |
| [OAK-6606] - Move BulkTransferBenchmark to oak-benchmarks module |
| [OAK-6616] - Update Oak trunk to Jackrabbit 2.15.6 |
| [OAK-6629] - Remove unused datastore code relying on JR2 data |
| store caching |
| [OAK-6655] - Update travis build configuration |
| [OAK-6657] - Remove travis webhook configuration |
| [OAK-6665] - Move DocumentNodeStore into its own bundle |
| [OAK-6670] - Move FSBlobSerializer to oak-blob-plugins module |
| [OAK-6673] - Improve cold standby logging |
| [OAK-6675] - Implement CompositeNodeStoreStatsMBean |
| [OAK-6698] - Refactor UUID utilites from IdentifierManager to new |
| UUIDUtils in oak-commons |
| [OAK-6732] - Make it simpler to run tests from oak-it-osgi |
| [OAK-6810] - oak-pojosr tests fail with java 9 |
| [OAK-6817] - Don't create metatype for MountInfoProviderService |
| [OAK-6819] - Move Configuration out of DocumentNodeStoreService |
| [OAK-6821] - Enforce minimum line coverage for oak-security-spi |
| [OAK-6846] - update maven-failsafe-plugin to 2.20.1 |
| [OAK-6854] - Update Oak trunk to Jackrabbit 2.16.0 |
| [OAK-6893] - Add BasicWriteTest benchmark |
| [OAK-6927] - RDBDocumentStore: allow schema evolution part 4: read |
| VERSION column and let RDBRow handle it |
| [OAK-6929] - Enforce minimal test-coverage with oak-core |
| [OAK-6932] - Add test coverage of spi.xml package |
| [OAK-6936] - use current Tika version 1.16 |
| [OAK-6937] - use Tika version consistent with other modules |
| [OAK-6952] - add SHA512 checksums to releases |
| [OAK-6965] - RDBDocumentStore: allow schema evolution part 5: add |
| rows for performant VGC |
| [OAK-6971] - Remove composite node store-related features from the |
| oak-upgrade |
| [OAK-7035] - Retire oak-remote |
| [OAK-7046] - DocumentStore API: clarify key length |
| [OAK-7077] - Documentation for RDBDocumentStore statistics |
| [OAK-7100] - update htmlunit test dependency |
| [OAK-7102] - Refactor DocumentIndexer logic to enable different |
| sort approaches |
| [OAK-7117] - Suppress Tika (> 1.16) startup warnings |
| [OAK-7118] - oak-run: upgrade jetty version to 8.2.0.v20160908 |
| [OAK-7122] - Implement script to compare lucene indexes logically |
| [OAK-7127] - use current Tika version 1.17 |
| |
| Test |
| |
| [OAK-5633] - Builds on travis-ci time out |
| [OAK-5663] - Improve LogCustomizer to allow filtering on log |
| messages too |
| [OAK-5689] - AbstractSecurityTest: enforce test-failure for |
| traversal queries |
| [OAK-5785] - JCR tests: enforce failure upon query traversal |
| [OAK-5793] - Improve coverage for spi.security code in oak-core |
| [OAK-5866] - Some tests do not dispose fixture |
| [OAK-5870] - Reduce serverSelectionTimeoutMS for tests on MongoDB |
| [OAK-5882] - Improve coverage for oak.security code in oak-core |
| [OAK-5911] - Test utility methods for setting Clock in Revision |
| [OAK-5912] - SecondaryStoreConfigIT fails when MongoDB is |
| available |
| [OAK-5913] - DataStoreTrackerGCTest uses different Clocks for |
| tests |
| [OAK-5962] - Disable caching for S3 integration tests |
| [OAK-6007] - Introduce a FailingDocumentStore |
| [OAK-6008] - Create test base with a two node cluster |
| [OAK-6017] - Reset timestamps on Revision.setClock() |
| [OAK-6022] - ReadPreferenceIT uses incorrect clock |
| [OAK-6024] - Use of DocumentMKBuilderProvider with virtual clock |
| is fragile |
| [OAK-6112] - Empty mongo.url default value in oak-parent |
| [OAK-6119] - Build error on travis with Java 8 |
| [OAK-6128] - Speed up ValidNamesTest |
| [OAK-6163] - Add unit test coverage for IOUtils.writeInt/writeLong |
| and IOUtils.readInt/readLong |
| [OAK-6173] - Add unit test coverage for IOUtils.copy |
| [OAK-6175] - Add unit test coverage for |
| IOUtils.humanReadableByteCount |
| [OAK-6427] - Duplicate class: MongoDocumentStoreHelper |
| [OAK-6639] - |
| ObservationQueueFullWarnTest.testQueueFullThenFlushing fails |
| sometimes |
| [OAK-6848] - Improve |
| ObservationQueueFullWarnTest.testQueueFullThenFlushing to not |
| sleep arbitrarily when not required |
| [OAK-6882] - |
| ObservationQueueFullWarnTest.testQueueFullThenFlushing failing |
| [OAK-7047] - Enable DocumentNodeStoreServiceTest.preset() |
| [OAK-7061] - Run tests on travis-ci on MongoDB 3.4 |
| [OAK-7063] - SolrOakRepositoryStub.preCreateRepository() throws |
| exception without cause |
| |
| Wish |
| |
| [OAK-1327] - Cleanup NodeStore and MK implementations |
| |
| In addition to the above-mentioned changes, this release contains |
| all changes included up to the Apache Jackrabbit Oak 1.6.x release. |
| |
| For more detailed information about all the changes in this and other |
| Oak releases, please see the Oak issue tracker at |
| |
| https://issues.apache.org/jira/browse/OAK |
| |
| Release Contents |
| ---------------- |
| |
| This release consists of a single source archive packaged as a zip |
| file. |
| The archive can be unpacked with the jar tool from your JDK |
| installation. |
| See the README.md file for instructions on how to build this release. |
| |
| The source archive is accompanied by SHA1 and MD5 checksums and a PGP |
| signature that you can use to verify the authenticity of your |
| download. |
| The public key used for the PGP signature can be found at |
| http://www.apache.org/dist/jackrabbit/KEYS. |
| |
| About Apache Jackrabbit Oak |
| --------------------------- |
| |
| Jackrabbit Oak is a scalable, high-performance hierarchical content |
| repository designed for use as the foundation of modern world-class |
| web sites and other demanding content applications. |
| |
| The Oak effort is a part of the Apache Jackrabbit project. |
| Apache Jackrabbit is a project of the Apache Software Foundation. |
| |
| For more information, visit http://jackrabbit.apache.org/oak |
| |
| About The Apache Software Foundation |
| ------------------------------------ |
| |
| Established in 1999, The Apache Software Foundation provides |
| organizational, |
| legal, and financial support for more than 140 freely-available, |
| collaboratively-developed Open Source projects. The pragmatic Apache |
| License |
| enables individual and commercial users to easily deploy Apache |
| software; |
| the Foundation's intellectual property framework limits the legal |
| exposure |
| of its 3,800+ contributors. |
| |
| For more information, visit http://www.apache.org/ |