blob: 91dafa7e373af990ed073954eb9f3fa5cad312cc [file] [log] [blame]
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/