You are viewing a plain text version of this content. The canonical link for it is here.
Posted to announce@apache.org by Davide Giannella <da...@apache.org> on 2019/01/16 11:51:55 UTC
[ANNOUNCE] Apache Jackrabbit Oak 1.10.0 released
The Apache Jackrabbit community is pleased to announce the release of
Apache Jackrabbit Oak. The release is available for download at:
http://jackrabbit.apache.org/downloads.html
See the full release notes below for details about this release:
Release Notes -- Apache Jackrabbit Oak -- Version 1.10.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.10 is an incremental feature release based on and
compatible with earlier stable Jackrabbit Oak 1.x releases. Jackrabbit
Oak 1.10.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.10.0
---------------------
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
----------------
Sub-task
[OAK-7177] - Utility method to detect local change
[OAK-7179] - Derive CountingTieredDiffCache from MemoryDiffCache
[OAK-7225] - Replace AtomicCounter Supplier
[OAK-7344] - Additional benchmark(s) to cover areas of
improvements
[OAK-7345] - Benchmark Results for Oak 1.8 (status quo)
[OAK-7346] - Benchmark Results for Initial Patch
[OAK-7438] - Expose mongo.url as build property
[OAK-7626] - Strict lease check mode
[OAK-7628] - Prevent commits after lease end
[OAK-7636] - Replace usage of deprecated
DocumentNodeStoreBuilder.setLeaseCheck()
[OAK-7654] - Remove usage of deprecated MongoDB Java driver 2.x
API
[OAK-7655] - Replace fongo dependency with custom test wrapper
[OAK-7898] - Facet queries with UNION should do trivial merge of
facets from sub-queries
[OAK-7930] - Add tape sampling
Technical task
[OAK-5122] - Exercise for Custom Authorization Models
[OAK-6770] - Convert oak-segment-tar to OSGi R6 annotations
[OAK-6812] - UpdateOp Condition: be consistent about the support
for non-revision properties
[OAK-6957] - Remove export for org.apache.jackrabbit.oak.security
[OAK-7060] - RDBDocumentStore.getStats() for SQLServer
[OAK-7137] - Upgrade to scr bnd plugin that places the metatype
files in the correct location
[OAK-7138] - Move metatype files in source control to correct
location
[OAK-7141] - Remove unused metatype.properties
[OAK-7142] - RDBDocumentStoreDB: use try-with-resources in new
code introduced for getStats()
[OAK-7149] - RDBDocumentStore.getStats() for Derby
[OAK-7159] - RDBDocumentStore: use try-with-resources for nodes
cache locks
[OAK-7181] - RDBDocumentStore: use try-with-resources for
ChangesTracker
[OAK-7184] - LengthCachingDataStoreTest: Remove unused import of
Guava InputSupplier
[OAK-7185] - Upgrade jclouds dependency to 2.0.3
[OAK-7186] - avoid use of guava Iterators.emptyIterator()
[OAK-7188] - guava: ListenableFuture.transform() changes to
transformAsync in version 20
[OAK-7201] - make Guava version configurable at build time
[OAK-7204] - RDB*Store: update postgresql JDBC driver reference to
42.2.0
[OAK-7269] - DocumentStore: add test coverage for various types of
IDs
[OAK-7270] - RDBDocumentStore: guard against invalid strings in
IDs
[OAK-7289] - RDBDocumentStore: potential NPE in error handling
code
[OAK-7292] - RDB*Store: update tomcat jdbc dependency to 8.5.28
[OAK-7299] - RDB*Store: update postgresql JDBC driver reference to
42.2.1
[OAK-7305] - Introduce DocumentStoreException type
[OAK-7306] - MongoDocumentStore: use transient
DocumentStoreException type where appropriate
[OAK-7307] - RDBDocumentStore: use transient
DocumentStoreException type where appropriate
[OAK-7308] - Retry commit on transient DocumentStoreException
[OAK-7313] - RDB*Store: add DEBUG level logging for filters in
RDBVersionGCSupport
[OAK-7329] - RDB*Store for SQLServer: name the PK index for better
readability
[OAK-7330] - RDBDocumentStore: make indices on SD* sparse where
possible
[OAK-7331] - RDBDocumentStore: add index on _MODIFIED to improve
VersionGC performance
[OAK-7333] - RDBDocumentStore: refactor index report
[OAK-7342] - RDBDocumentStore: missing rollback after delete
failures
[OAK-7359] - Update to MongoDB Java driver 3.6
[OAK-7360] - Migrate to the MongoDB Java driver API 3.0
[OAK-7399] - add build profile "guava-latest" to build with latest
supported Guava version
[OAK-7406] - relax guava version range in Import-Package
declarations
[OAK-7409] - Move Lucene agnostic utilities out of oak-lucene into
oak-search
[OAK-7410] - Define SPIs for Oak Search module
[OAK-7411] - Make oak-lucene extend from oak-search
[OAK-7430] - RDB*Store: update postgresql JDBC driver reference to
42.2.2
[OAK-7432] - RDB*Store: update mysql driver reference to 5.1.46
[OAK-7441] - RDB*Store: update DB2 JDBC dependency to 4.19.72
[OAK-7446] - RDB*Store: update SQLServer JDBC dependency to
6.4.0.jre*
[OAK-7453] - oak-core/oak-store-document: fix broken line ends in
repo
[OAK-7454] - oak-lucene: fix broken line ends in repo
[OAK-7458] - JCR locking: add logging to determine callers
[OAK-7471] - add a config switch to disable locking
[OAK-7472] - tests should pass with locking disabled
[OAK-7526] - Move InitialContent#INITIAL_CONTENT to test
[OAK-7527] - Drop mandatory constraint on "rep:system" node for
"rep:privileges"
[OAK-7529] - Define and register oak namespace
[OAK-7532] - VersionStorageEditor should allow bootstraping of
initial content
[OAK-7533] - NameValidator is not using namespaces defined in the
current transaction
[OAK-7537] - Allow for initial registration of 'xml' namespace
[OAK-7546] - add maven profile to build with Guava beta checks
[OAK-7547] - commons: avoid use of Guava beta APIs in StringSort
[OAK-7553] - Extract interface from CommitValueResolver
[OAK-7554] - Extract InactiveRevisionContext from
LastRevRecoveryAgent
[OAK-7587] - RDB*Store: update mysql driver reference to 8.0.11
[OAK-7590] - RDB*Store: update Tomcat JDBC pool dependency to
8.5.32
[OAK-7603] - [DirectBinaryAccess][DISCUSS] Oak API extensions
[OAK-7625] - remove @Nonnegative annotation in NodeDocumentCache
[OAK-7632] - remove JSR 305 annotations in Groovy code
[OAK-7662] - Allow MarkSweepGarbageCollector to retain output
files
[OAK-7663] - Make oak-run LoggingInitializer generic
[OAK-7664] - Add a get method to ClusterRepositoryInfo for read
only cases
[OAK-7665] - Add a datastore read-write option to BlobStoreOptions
when NodeStore read only
[OAK-7670] - RDB*Store: update postgresql JDBC driver reference to
42.2.4
[OAK-7673] - RDB*Store: update mysql driver reference to 8.0.12
[OAK-7690] - RDB*Store: update SQLServer JDBC dependency to
7.0.0.jre*
[OAK-7692] - [DirectBinaryAccess] Upload token HMAC signature must
be base64 encoded
[OAK-7693] - [DirectBinaryAccess] Documentation
[OAK-7704] - RDB*Store: log message after failed DB upgrade too
verbose
[OAK-7729] - RDB*Store: update postgresql JDBC driver reference to
42.2.5
[OAK-7730] - RDB*Store: update Tomcat JDBC pool dependency to
8.5.33
[OAK-7732] - Use docker for MongoDB based tests when available
[OAK-7737] - Add edge cases checks and tests for metadata related
methods S3/FileDataStore
[OAK-7738] - Add method to check for existence of metadata in
SharedDataStore
[OAK-7748] - DocumentStore: test (and optionally optimize) bulk
update fallback logic
[OAK-7809] - need to document oak-run for RDB
[OAK-7861] - update clustering documentation wrt rdbmk
[OAK-7894] - RDBDocumentStore: add perf logging for JDBC read
operations
[OAK-7896] - RDB*Store: update mysql driver reference to 8.0.13
[OAK-7942] - Fix covariant return type changes in ByteBuffer
[OAK-7970] - RDB*Store: add profile for DB2 11.1 JDBC driver
[OAK-7971] - RDB*Store: update DB2 JDBC reference to 4.19.77
Bug
[OAK-1819] - oak-solr-core test failures on Java 8 and later
[OAK-4401] - Excerpt Highlighting for a property is not correct
[OAK-6217] - Document tricky statements
[OAK-6707] - TarWriter.close() must not throw an exception on
subsequent invocations
[OAK-6891] - Executions of background threads might pile up
[OAK-6956] - RepositoryUpgrade hardcodes SecurityProvider
[OAK-7058] - oak-run compact reports success even when it was
cancelled
[OAK-7131] - xpath to sql2 conversion drops order by clause for
some cases
[OAK-7132] - SNFE after full compaction
[OAK-7136] - Stop storing metatype.properties files under
OSGI-INF/metatype
[OAK-7147] - Oak run LuceneIndexer indexes excluded parent nodes
[OAK-7152] - CacheMap.clear() never returns
[OAK-7155] - Executor in S3DataStoreFactory is not shut down
[OAK-7162] - Race condition on revisions head between compaction
and scheduler could result in skipped commit
[OAK-7168] - The debug command returns a zero exit code on error
[OAK-7169] - The datastorecheck returns a zero exit code on error
[OAK-7171] - The history command returns a zero exit code on error
[OAK-7174] - The check command returns a zero exit code on error
[OAK-7176] - RevisionVector from empty string throws
StringIndexOutOfBoundsException
[OAK-7178] - RemoteSolrServerProvider should release connections
on ping failures
[OAK-7198] - Index rule with REGEX_ALL_PROPS includes relative
node
[OAK-7200] - Sync propery indexes don't get planned if /:async
exists but indexing lane hasn't completed its first cycle
[OAK-7205] - Test failure:
ActiveDeletedBlobSyncTrackerTest.syncActiveDeletionWithBlobTracker
[OAK-7208] - Various disallowed control characters are accepted in
item names
[OAK-7209] - Race condition can resurrect blobs during blob GC
[OAK-7223] - Files could be kept partially in case of
disconnection from backends
[OAK-7227] - MountPermissionProvider getNumEntries prone to
overflow
[OAK-7236] - The diff command returns a zero exit code on error
[OAK-7237] - The backup and restore comands return a zero exit
code on error
[OAK-7241] - oak-run documentation typo for "checkpoints" command
[OAK-7244] - RDBDocumentStore: fix typo in metadata
[OAK-7252] - Function index for name() and localname() don't allow
sorting
[OAK-7265] - Standalone example application fails to start
[OAK-7266] - Standalone example system console fails to render
[OAK-7274] - Test failure: various upgrade tests
[OAK-7284] - Reindexing using --doc-traversal-mode can hit
ConcurrentModificationException during aggregation
[OAK-7285] - Reindexing using --doc-traversal-mode can OOM while
aggregation in some cases
[OAK-7291] - MongoStatusTest.testReadConcern fails on MongoDB 3.6
[OAK-7294] - FlatFileBufferLinkedList#add doesn't throw
IllegalArgumentException on null
[OAK-7309] - MongoDocumentStoreMetricsTest fails sporadically
[OAK-7317] - SegmentParser#parseBlob does not long ids of external
blobs
[OAK-7337] - CommitsTracker data is always empty when exposed via
JMX
[OAK-7339] - Fix all sidegrades breaking with
UnsupportedOperationException on MissingBlobStore by introducing
LoopbackBlobStore
[OAK-7341] - PermissionStoreEditor fails to reconnect collision
entries if main entry is removed
[OAK-7354] - Test failure
ExternalIdentityImporterTest.importExternalUserWithPrincipalNames
[OAK-7356] - CugConfiguration may not pick up CugExclude
[OAK-7357] - NPE on activation of LuceneIndexProviderService with
disabled CoR and CoR
[OAK-7365] - Multi words translated terms should not always use
TermQuery
[OAK-7375] - Wrong full text parsing in Oak Solr index with
boolean operators
[OAK-7378] - Continuous Revision GC counts _deletedOnce with every
run
[OAK-7389] - Mongo/FileBlobStore does not update timestamp for
already existing blobs
[OAK-7393] - A single StatisticsProvider is shared between all
SegmentNodeStoreFactory instances
[OAK-7394] - ConsolidatedCacheStats broken on the Composite Node
Store
[OAK-7396] - ReadOnlyFileStore.readSegment does not correctly
throw SegmentNotFoundException
[OAK-7397] - Test failure: TomcatIT
[OAK-7398] - SegmentArchiveManager#listArchives should only return
tar files
[OAK-7401] - Changes kept in memory when update limit is hit in
commit hook
[OAK-7404] - ReadOnlyFileStore doesn't use custom persistence
[OAK-7408] - LuceneIndexProviderService uses default tracker
constructor with disabled CoR
[OAK-7414] - oak-it-osgi fails on Java 10
[OAK-7428] - LdapIdentityProvider doesn't support creating
external ids from the uid attribute
[OAK-7447] - Sporadic test failures when connection is closed
twice
[OAK-7449] -
ObservationQueueFullWarnTest#testQueueFullThenFlushing requires to
know the number of events upfront
[OAK-7466] - Prevent LMSEstimator over/under flow in weights
[OAK-7473] - [BlobGC] MarkSweepGarbageCollector does not always
use the blobGcMaxAgeInSecs config
[OAK-7475] - InitialContentMigrator logs the progress incorrectly
[OAK-7476] - The Azure readSegment should return null if no
segment is found
[OAK-7485] - DocumentNodeStore doesn't work with shared Atlas
MongoDB replica set
[OAK-7486] - mongo-srv schema doesn't work in OSGi
[OAK-7490] - oak-run console lc rmdata command uses second
parameter for index path (and defaults to /oak:index/lucene)
[OAK-7508] - Text extraction timeout can lead to NPE
[OAK-7513] - Possible NPE in exact size calculation for
SolrQueryIndex
[OAK-7514] - Build Jackrabbit Oak #1462 failed
[OAK-7520] - AzureArchiveManager#copyBlob() hangs indefinitely
[OAK-7521] - Command line params to modify query and read limits
don't work for large values
[OAK-7540] - Unique property index update fails in composite
NodeStore setup
[OAK-7543] - MissingLastRevSeekerTest fails on MongoDB with
secondary preferred
[OAK-7551] - The compaction deadline should be reset at each
execution
[OAK-7559] - CacheActionDispatcher not memory bound
[OAK-7564] - Commit fails when forced journal push throws
exception
[OAK-7566] - Rename metrics for DataStore garbage collection
[OAK-7567] - Migrating an unmodified checkpoint takes a long time
[OAK-7588] - Build failure: unapproved license
[OAK-7593] - NodeDocument.getLatestValue() may throw
IllegalStateException
[OAK-7594] - datastorecheck command in oak-run for S3 needs
jackson-annotations dependency
[OAK-7598] -
CopyOnWriteDirectory.COWRemoteFileReference#checkIfLocalValid logs
WARN for segments.gen
[OAK-7605] - Giving multiple result when executing query (for a
constraints with OR condition) for Facetextraction
[OAK-7606] - Doing Faceting only on the resultset of one
constraints when query contain multiple constraint with OR
condition
[OAK-7608] - Throw exception if all properties name are given
wrong for faceting
[OAK-7610] - Active blob deletion fails on composite setups
[OAK-7613] - Taking more time for iterating row of query Result
which contain Facets
[OAK-7630] - Suggest directory update doesn't close
AnalyzingInfixSuggester after building
[OAK-7638] - Race condition when simultaneous request to stage
file for async upload
[OAK-7652] - Node.getMixinNodeTypes can revive deleted node mixins
(again)
[OAK-7686] - Partial migration doesn't update Lucene indexing data
[OAK-7687] - :async node is being removed during the partial
migration
[OAK-7694] - Oak.OakDefaultComponents.INSTANCE is mutable
[OAK-7707] - DocumentNodeStoreServiceTest always connects to
localhost
[OAK-7710] - CompositeNodeStore does not dispatch external events
to observers
[OAK-7712] - Configuration property names to manage direct binary
access should be consistent
[OAK-7713] - Test failure:
SecurityProviderRegistrationTest.testRequiredUserAuthenticationFactoryNotAvailable()
[OAK-7715] - Fix logging for datastore command
[OAK-7717] - Documentation for direct binary access is unclear
[OAK-7719] - CheckCommand should consistently use an alternative
journal if specified
[OAK-7721] - Records of specific size bring
SegmentBufferWriter#flush to fail
[OAK-7724] - BlobGCMbean not registered with
SegmentNodeStoreFactory
[OAK-7728] - Oak run check command fails with SegmentNotFound
exception
[OAK-7749] - Fix random failures in S3 related tests
[OAK-7751] - CopyOnReadDirectory#removeDeletedFiles asks
IndexCopier to check timestamp for (remote only) segments.gen
leading to failure to clean up local files
[OAK-7761] - SegmentTarWriter#readSegment does not check the
return value of FileChannel#read
[OAK-7765] - BlobGCMbean registered with SegmentNodeStoreFactory
even if customBlobStore is false
[OAK-7766] - RepositoryId not registered in the DataStore with
SegmentNodeStoreFactory
[OAK-7776] - Ignore copying of :clusterConfig in
InitialContentMigrator
[OAK-7777] - Fix getStats in GC to account also for duplicate
entries of references
[OAK-7778] - PasswordUtil#isPlainTextPassword doesn't validate
PBKDF2 scheme
[OAK-7783] - Default write concern and read concern level not
applied
[OAK-7789] - javadoc link to JCR API not resolved anymore
[OAK-7794] - Changes are not dispatched when the segment node
store is used as the global store
[OAK-7798] - Return stream for downloaded files rather than
directly from backend
[OAK-7799] - CompositeNodeStore hides Clusterable
[OAK-7800] - LuceneIndexConstants should extend
FulltextIndexConstants
[OAK-7801] - CompositeNodeStore.merge() may trigger conflicting
branches
[OAK-7802] - LuceneIndexHelper should extend IndexHelper
[OAK-7803] - IndexFormatVersion should be available in oak-lucene
[OAK-7805] - getBinaryReferences() may return null when using the
split persistence
[OAK-7807] - [S3DataStore] S3DataStore unit tests not deleting
buckets created during test
[OAK-7808] - Incorrect facet counts when some results are
inaccessible due to ACLs
[OAK-7812] - Error running OffRC on Azure because of incorrect
parsing
[OAK-7818] - [DirectBinaryAccess] AzureDataStore not chaining
exceptions on upload completion
[OAK-7837] - oak-run check crashes with SNFE
[OAK-7838] - oak-run check crashes JVM
[OAK-7843] - oak-upgrade doesn't correctly pass segment cache size
to file store
[OAK-7853] - SegmentBufferWriter not flushed after OnRC
[OAK-7855] - rdbmk: Invalid SplitDocType when run on non-upgraded
DB
[OAK-7856] - PrincipalPermissionEntries: non-accesscontrolled path
must be ignored for fullyLoaded flag
[OAK-7858] - S3#getAllIdentifiers may trim listing when filtering
out metadata objects
[OAK-7867] - Flush thread gets stuck when input stream of binaries
block
[OAK-7869] - Commit queue stuck when input stream of blob blocks
[OAK-7871] - Broken headers in security documentation
[OAK-7877] - Avoid unnecessary operations when logging read
operations
[OAK-7882] - Inconsistent handling of cloud-prefix causes
segment-copy to fail
[OAK-7885] - Performance regression in FlatTreeUpdateTest
[OAK-7886] - Re-registering node type may corrupt registry
[OAK-7889] - Test failure: Unable to start Docker container
[OAK-7901] - NodeTypeRegistryTest uses javax.annotation.Nonnull
[OAK-7903] - Corrupt index metric potentially reporting
corruptions on every index update
[OAK-7912] - ValidNamesTest: potential NPE in teardown
[OAK-7916] - Feature vectors similarity query is too selective
[OAK-7923] - CompositeNodeBuilder#getPath() fails when it wraps a
ReadOnlyBuilder
[OAK-7929] - Incorrect Facet Count With Large Dataset and ACLs
[OAK-7935] - RDB*Store: createOrUpdate may fail on stale cache
when document was removed on different instance
[OAK-7951] - Datastore GC stats not updated with failure when "Not
all repositories have marked references available"
[OAK-7953] - Test failure:
JdbcToSegmentWithMetadataTest.validateMigration()
[OAK-7956] - Conflict may leave behind _collisions entry
[OAK-7959] - MongoDocumentStore causes scan of entire nodes
collection on startup
[OAK-7966] - Avoid adding excluded principal to cug policy
[OAK-7972] - [DirectBinaryAccess] Direct binary access docs not
linked from primary documentation
[OAK-7975] - Facet extraction fails while requesting multiple
facets and one of the requested facets doesn't have indexed values
Epic
[OAK-7190] - Oak should compile & test on Java 10
[OAK-7648] - Oak should compile & test on Java 11
New Feature
[OAK-6584] - Add tooling API
[OAK-6921] - Support pluggable segment storage
[OAK-6922] - Azure support for the segment-tar
[OAK-7444] - Allow collection of IOTraces during normal operation
[OAK-7522] - Enable collection of simple operation stats for
DataStore garbage collection
[OAK-7555] - Enable collection of simple operation stats for
Revision garbage collection
[OAK-7569] - Direct Binary Access
[OAK-7575] - Make it possible to index and search over similar
feature vectors
[OAK-7604] - Add FileStoreStatsMBean#getSegmentCount for
monitoring the number of segments
[OAK-7617] - Metric for DocumentNodeStore lease update
[OAK-7623] - SegmentNodeStore - sidegrade support between
TarPersistence and AzurePersistence
[OAK-7649] - oak-run command to execute datastore garbage
collection
[OAK-7762] - Store segments off heap when memory mapping is
disabled
[OAK-7770] - Azure Segment Store: Store segments off heap when
memory mapping is disabled
[OAK-7771] - Make mmap and segment cache size configurable in
SegmentCompactionIT
[OAK-7773] - Implement monitoring for allocated byte buffers
[OAK-7834] - Add a tool to identify super-root nodes
[OAK-7849] - CommitHook for recording write operations to the
segment store
[OAK-7864] - Recording read operations to the segment store
[OAK-7866] - Add tooling for recovering from an outdated journal
[OAK-7900] - Allow to spot User.disable with a new, dedicated
UserAction
[OAK-7933] - Expose number of tar readers as metric
[OAK-7934] - Expose the number of segments as metric
Story
[OAK-7735] - Split segment store persistence
Improvement
[OAK-2556] - Intermediate commit during async indexing
[OAK-2907] - Move DocumentMK to test
[OAK-3883] - Avoid commit from too far in the future (due to clock
skews) to go through
[OAK-4857] - Support space chars common in CJK inside item names
[OAK-6031] - Add TarFiles to the architecture diagram
[OAK-6087] - Avoid reads from MongoDB primary
[OAK-6148] - Warning if there are many Lucene documents
[OAK-6373] - oak-run check should also check checkpoints
[OAK-6402] - SessionStats log access warning
[OAK-7057] - Segment.toString: Record table should include an
index into the hexdump
[OAK-7134] - DocumentNodeStore.newMergeCommit() base parameter is
always non-null
[OAK-7139] - Wrap MongoException when query fails
[OAK-7140] - Retry query on MongoException
[OAK-7153] - Avoid persistent cache read access when key is not
cached
[OAK-7157] - Minimize the amount of generations retained by the
Cold Standby
[OAK-7158] - Users shouldn't be able to change the number of
retained generations
[OAK-7175] - Reduce cache misses on local diff-cache
[OAK-7180] - The error message "postings highlighting failed"
should be warn or debug
[OAK-7195] - Node.getMixinNodeTypes() may check for child node
named jcr:mixinTypes
[OAK-7196] - ValidNamesTest improvements
[OAK-7213] - Avoid call for child node when bundle contains all
children
[OAK-7215] - Add configurable repository size cap to
SegmentOverflowExceptionIT
[OAK-7222] - Log a warn when CoW opens input from remote due to
size mismatch
[OAK-7231] - Remove PermissionEntryCache.getNumEntries
[OAK-7232] - MountPermissionProvider.load can return null
[OAK-7235] - Remove unused code from SegmentTarUtils
[OAK-7246] - Improve cleanup of locally copied index files
[OAK-7248] - Remove deprecated deep option from check command
[OAK-7251] - BinaryTextExtractor should not ignore parse exception
- they should at least be logged at DEBUG in all cases
[OAK-7253] - Benchmarks: cleanup duplications in AC setup
[OAK-7259] - Improve SegmentNodeStoreStats to include number of
commits per thread and threads currently waiting on the semaphore
[OAK-7262] - LockBasedScheduler#getHeadNodeState poor performance
due to lock contention in commitTimeHistogram implementation
[OAK-7280] - Remove superfluous methods from SegmentWriter
[OAK-7288] - Change default JAAS ranking of
ExternalLoginModuleFactory
[OAK-7290] - Reindexing using --doc-traversal-mode should have
configurable upper bound for mem usage
[OAK-7298] - Remove debug logging to the console during tests
[OAK-7310] - Empty package-info.java causes unnecessary rebuild
[OAK-7316] - Greedy ClusterNodeInfo
[OAK-7323] - Log when trying to add "everyone" as member to other
groups or add user/groups to "everyone"
[OAK-7326] - Add a way to disable the SegmentCache
[OAK-7334] - Transform CacheWeightEstimator into a unit test
[OAK-7340] - Remove SecurityProviderImpl usage from tests
[OAK-7343] - Improvements to PermissionEntryProviderImpl
[OAK-7353] - oak-run tika extraction should support getting
assistance from stored indexed data from a lucene index
[OAK-7367] - Unify mockito versions and update to latest
[OAK-7377] - FileStore should allow multiple implementations of
GarbageCollector
[OAK-7379] - Lucene Index: per-column selectivity, assume 5 unique
entries
[OAK-7384] - SegmentNodeStoreStats should expose stats for
previous minute per thread group
[OAK-7388] - MergingNodeStateDiff may recreate nodes that were
previously removed to resolve conflicts
[OAK-7402] - Expose UI for collecting IO traces
[OAK-7403] - AzureSegmentArchiveReader should get the metadata
from listBlobs() operation
[OAK-7416] - Contribute a 'proc' subtree for the Segment Node
Store
[OAK-7418] - SecurityProviderBuilder ignores configuration option
authorizationCompositionType
[OAK-7420] - Introduce SegmentNodeStoreMonitorService for exposing
writerGroups as an OSGi config property
[OAK-7424] - SecurityProviderBuilder expects
CompositeConfiguration
[OAK-7433] - SecurityProviderHelper should be final and have
private constructor
[OAK-7434] - Refactor compactor implementations in independent
components
[OAK-7436] - Refactor cleanup implementation in its own component
[OAK-7437] - SimpleExcerptProvider highlighting should be case
insensitive
[OAK-7440] - Refactor the estimation code to its own components
[OAK-7442] - Remove dependency to commons-codec
[OAK-7445] - Introduce a cleanup-first compaction strategy
[OAK-7459] - oak-run compact should support Azure Segment Store
[OAK-7464] - Allow to choose which instance should initialize the
default mount
[OAK-7465] - It should be possible for an Azure Segment Store to
wait until the lease if released
[OAK-7468] - RootProvider and TreeProvider should be marked as
provider type
[OAK-7469] - User membership synchronization could skip updating
groups the user is already part of
[OAK-7470] - Remove Usage of ImmutableTree and AbstractTree in
Security Code
[OAK-7488] - VersionablePathHook should be located with
authorization code
[OAK-7506] - Prevent user enumeration by exploiting time delay
vulnerability
[OAK-7510] - Run repository initializers with hooks
[OAK-7530] - PrivilegeInitializer should not attempt to create
jcr:system node
[OAK-7550] - Make running cleanup before compaction the default
strategy
[OAK-7561] - Don't migrate the checkpoints in oak-store-composite
seed initialization
[OAK-7584] - Add stats for DataStore GC performance
[OAK-7601] - Exclude org.apache.jackrabbit.oak.plugins.value.jcr
from baseline check
[OAK-7615] - Speed up site generation
[OAK-7621] - Metric for background read lag
[OAK-7627] - Update the dependency on biz.aQute.bndlib
[OAK-7629] - Lucene index: hide the settings COR and COW
[OAK-7639] - Surface more DSGC operation stats
[OAK-7640] - Prevent commits in the past
[OAK-7645] - Update to MongoDB Java driver 3.8
[OAK-7647] - Replace usage of deprecated junit.framework.Assert
[OAK-7672] - Introduce oak-run segment-copy for moving around
segments in different storages
[OAK-7688] - Replace usage of static ValueFactoryImpl methods
[OAK-7699] - Active blob deletion fails on composite setups
(follow up of OAK-7610)
[OAK-7706] - Update to MongoDB Java driver 3.6.4
[OAK-7709] - DocumentNodeStore dispose aborts when store was
disposed due to LeaseUpdate error
[OAK-7716] - Enable datastore command for Azure segment store
[OAK-7720] - Log hex dump of too big segments
[OAK-7722] - Support collectBlobReferences in ReadOnlyFileStore
[OAK-7727] - Aggregate references from repositories with same
repositoryId
[OAK-7733] - Skip setup when DocumentStorePerformanceTest is not
enabled
[OAK-7739] - Use an index only if a certain node or property
exists
[OAK-7741] - Token LoginModule flag to skip refreshing the token
expiration
[OAK-7753] - Enable collection of stats for DataStore
checkConsistency operation
[OAK-7757] - CompositeNodeStore fixture on MongoDB
[OAK-7758] - Non-blocking CompositeNodeStore merges
[OAK-7760] - Use NIO in the implementation of
FileAccess.Mapped#read
[OAK-7768] - Ability to deprecate an index
[OAK-7782] - Clarify error on aggregate privilege registration
with non existing privileges
[OAK-7786] - Make the NamespaceEditor less strict when enforcing
changes to rep:nsdata node
[OAK-7788] - Measure read rate for the Segment Store
[OAK-7796] - Remove the incomplete support for the writeable
partial stores
[OAK-7813] - PrivilegeBits should also cache default privilege as
long values
[OAK-7815] - Obscure error message if AZURE_SECRET_KEY env
variable is not set for Azure persistence
[OAK-7820] - Make internal group principal impl classes static
[OAK-7821] - Revisit the need to download Mongo for running IT
tests
[OAK-7822] - More aggressive internal state cleanup of login
modules
[OAK-7824] - Improve search by similar feature vectors with brute
force nearest neighbour
[OAK-7832] - oak-run console export should handle exceptions such
as missing segments
[OAK-7850] - Indexes that don't support facets being queried
should not participate in execution plan
[OAK-7854] - Add liveliness monitoring for FileStore background
operations
[OAK-7860] - Make PermissionEntryCache more resilient against OOME
[OAK-7870] - Reduce permission store lookups for empty principal
sets
[OAK-7872] - Make LoggingHook private to o.a.j.o.segment
[OAK-7873] - Delete o.a.j.o.segment.util.RoleUtils
[OAK-7874] - Upgrade docker-junit-rule to version 2.2.2
[OAK-7910] - Composite node store: Creating a new Lucene index;
reindex
[OAK-7918] - Extract checking logic from ConsistencyChecker
[OAK-7925] - OakUpgrade for RDBMK: user name and password must
match
[OAK-7928] - Avoid reference resolution for user query with scope
and declaredMembersOnly
[OAK-7940] - Index importer should warn if there is no index to
import
[OAK-7944] - Minor improvements to oak security code base
Test
[OAK-6517] -
ActiveDeletedBlobCollectionIT.simpleAsyncIndexUpdateBasedBlobCollection
failing intermittently
[OAK-7107] - Ability to run AbstractJCRTest derived tests with
different fixtures
[OAK-7133] - DocumentNodeStore resilience test on MongoDB
[OAK-7145] - Share initialized NodeStore for read-only repository
tests
[OAK-7238] - Benchmark : random read for different sets of
principals
[OAK-7516] - DocumentMKBuilderProvider may try to dispose an
uninitialised store
[OAK-7620] - Update to Mockito 2.x
[OAK-7646] - UploadStagingCacheTest#testConcurrentSameAddRequest
fails intermittently
[OAK-7878] - Add unit test for LoggingHook
Task
[OAK-5922] - Utils.abortingIterable should implement Closeable
[OAK-6433] - Remove baseline plugin configuration referring to
oak-core after 1.8 release
[OAK-7024] - java.security.acl deprecated in Java 10, marked for
removal in Java 12
[OAK-7075] - Document oak-run compact arguments and system
properties
[OAK-7126] - make RDBCacheConsistency2Test store-agnostic
[OAK-7130] - Update README.md with Java 8 requirement
[OAK-7143] - Run oak-jcr tests and ITs in parallel on travis-ci
[OAK-7156] - CacheChangesTracker should implement Closeable
[OAK-7160] - Update commons-codec dependency to 1.11
[OAK-7161] - LengthCachingDataStore's use of LineIterator.close()
[OAK-7163] - Upgrade commons-io dependency to 2.6
[OAK-7165] - Update baseline comparison version to latest stable
1.8.0
[OAK-7172] - Document TarMK specific MBeans
[OAK-7173] - Update documentation for oak-run check
[OAK-7189] - Improve code coverage for InitialContentMigrator
[OAK-7191] - update to surefire version compatible with jdk 10
[OAK-7216] - Remove support for binaries and documents in
persistent cache
[OAK-7219] - Update Logback version to >= 1.2.0, SLF4J accordingly
[OAK-7220] - add benchmark focused on string write performance
[OAK-7240] - create announcement mail template for releases
[OAK-7249] - segment store: create charset encoding utility that
detects malformed input
[OAK-7255] - Upgrade jackson dependencies to version 2.9.4
[OAK-7257] - oak-examples: update Tomcat dependency
[OAK-7268] - document store: create charset encoding utility that
detects malformed input
[OAK-7272] - improve BackgroundLeaseUpdate warning messages
[OAK-7273] - ValidNamesTest for unpaired surrogates and NUL fails
for PostgreSQL
[OAK-7275] - Update easymock test dependency to 3.4
[OAK-7282] - RDB: enable default continuous revision GC
[OAK-7286] - DocumentNodeStoreBranch handling of non-recoverable
DocumentStoreExceptions
[OAK-7295] - Print path of files with unapproved licences
[OAK-7297] - New fixture for the Azure Segment Store
[OAK-7304] - Deploy oak-pojosr as part of standard deployment
[OAK-7314] - RDB*Store: use SDMAXREV column in RevisionGC query
[OAK-7315] - Remove redundant JavaDoc link to Java 7 API
[OAK-7320] - Upgrade surefire and failsafe plugins to 2.21.0
[OAK-7322] - Mention SHA512 checksums in release notes
[OAK-7324] - RDBDocumentStore: Refactor exception handling
[OAK-7325] - restore line wrapping in release notes
[OAK-7332] - Benchmarks failure on Oak-Segment-* fixtures due to
concurrentlinkedhashmap version conflict
[OAK-7335] - oak-upgrade long name filter should consider the path
length
[OAK-7336] - stop advertising MD5 checksums
[OAK-7338] - Javadocs for the
org.apache.jackrabbit.oak.segment.spi
[OAK-7347] - Incorrect link to KEYS in release notes
[OAK-7350] - stop creating MD5 checksums for releases
[OAK-7355] - Move the pluggable storage interfaces to the SPI
package
[OAK-7364] - code coverage checks fail on Java 10
[OAK-7366] - update to mockito version compatible with jdk 10
[OAK-7368] - update to findbugs version compatible with jdk 10
[OAK-7407] - oak-solr-core test failures with java 10
[OAK-7421] - link Guava javadoc
[OAK-7422] - Update jackson dependencies to 2.9.5
[OAK-7426] - RDB*Store: update Tomcat JDBC pool dependency to
8.5.30
[OAK-7435] - Run travis build on MongoDB 3.6
[OAK-7443] - remove jdk 1.6 specific findbugs profile from pom
[OAK-7451] - Upgrade tika-parsers dependency to 2.18
[OAK-7452] - fix broken line ends in repo
[OAK-7462] - Benchmark for SynchronizationMBean#syncAllUsers
[OAK-7482] - update maven-javadoc-plugin to 3.0.0
[OAK-7483] - add "javadoc" profile for Jenkins matrix builds
[OAK-7493] - RDB*Store: update Derby dependency to 10.14.2.0
[OAK-7511] - get rid of JSR 305 dependency - use jetbrains
nullability annotations instead
[OAK-7512] - RestoreTest.testRestoreNameJcr2 occasionally failing
[OAK-7518] - TCKBase: make repository fixture more prominent
[OAK-7536] - Update aws java sdk version to 1.11.330
[OAK-7556] - Update failsafe and surefire plugin versions to
2.22.0
[OAK-7563] - Set baseline plugin comparison for trunk to latest
stable version (1.8.4)
[OAK-7577] - Update maven plugins from org.apache.maven.plugins
[OAK-7578] - Update spotbugs plugin to 3.1.5
[OAK-7579] - remove obsolete findbugs reference from reactor pom
[OAK-7581] - oak-examples: remove special case for failsafe plugin
[OAK-7582] - Make the MountInfo constructor public
[OAK-7583] - oak-examples/webapp: update jetty-maven-plugin
dependency
[OAK-7585] - oak-examples/standalone: update spring boot version
[OAK-7586] - Update bundle plugin to 3.5.0
[OAK-7596] - define jackson version globally
[OAK-7607] - Update 7.0.* Tomcat dependencies once 7.0.90 is
released
[OAK-7609] - Update jackson dependencies to 2.9.6
[OAK-7622] - Update httpcomponent dependencies to 4.4.10/4.5.6
(and declare the versions globally)
[OAK-7624] - Add "org.apache.jackrabbit.oak.plugins.document.spi"
to package export filter
[OAK-7641] - various internal APIs missing in package export
filter
[OAK-7644] - Remove strategy to optimize secondary reads
[OAK-7650] - upgrade to mockito version compatible with java 11
[OAK-7651] - oak-solr-core test failures with java 11
[OAK-7653] - upgrade to Jacoco version compatible with Java 11
[OAK-7658] - Allow to decide whether the composite node store
checks should be enabled
[OAK-7667] - Update Oak 1.8 to Jackrabbit 2.16.3
[OAK-7674] - Allow to specify the connection string for
AzureBlobStore
[OAK-7675] - oak-pojosr: replace mockito-all by mockito-core
[OAK-7677] - Announcement mail template lacks line feeds in front
of release notes
[OAK-7678] - Update to default mockito version (defined in
oak-parent)
[OAK-7679] - oak-core: update Mockito version and fix test case to
be compatible with it
[OAK-7681] - enable baseline check for oak-search-mt
[OAK-7682] - fix comparisonVersion for baseline check
[OAK-7685] - Update easymock dependency to 3.6
[OAK-7689] - Update maven plugins from org.apache.maven.plugins
[OAK-7734] - fix formatting in release notes
[OAK-7736] - fix comparisonVersion for baseline check
[OAK-7745] - Clarify update semantics on deleted nodes
[OAK-7767] - Update tika dependency to 1.19
[OAK-7787] - oak-it: NoClassDefFoundError in log with Java 11
[OAK-7790] - fix Javadoc (11) errors
[OAK-7795] - Log a debug message when two or more indices have
same or very close cost amounts
[OAK-7814] - Update tika dependency to 1.19.1
[OAK-7823] - examples: use project-wide logback version 1.2.3
instead of 1.1.7
[OAK-7826] - examples: remove unused slf4f related vars from pom
[OAK-7827] - examples: update Spring dependencies to
1.5.16.RELEASE
[OAK-7828] - Log off heap access for segments when creating
FileStore
[OAK-7829] - oak-examples: update Tomcat dependency to 7.0.91
[OAK-7831] - examples: update htmlunit dependency to 2.33
[OAK-7833] - oak-examples/webapp: update groovy dependency
[OAK-7836] - Update jackson dependencies to 2.9.7
[OAK-7839] - Evaluate exporting of index corruption metrics with
Sling Metrics / DropWizard
[OAK-7842] - solr: suppress problematic commons-fileupload
dependency
[OAK-7844] - oak-solr-core test failures with java 12
[OAK-7848] - update maven-bundle-plugin to 3.5.1
[OAK-7892] - LogCustomizer should support slf4j log levels
[OAK-7893] - Export DW Metrics for Lucene index size and document
counts
[OAK-7913] - Update failsafe and surefire versions to 2.22.1
[OAK-7931] - Don't allow for weak references between mounts
[OAK-7943] - Update Oak trunk to Jackrabbit 2.18.0
[OAK-7948] - Make it possible to use StatisticsProvider to
register metrics for QueryEngine
[OAK-7954] - Record when no index is used for a certain query
[OAK-7962] - FV reranking should be enabled by default
[OAK-7969] - Update tika dependency to 1.20
Documentation
[OAK-5089] - Document illegal item names in Oak
[OAK-5473] - Document fulltext search grammer ("contains")
[OAK-5520] - Improve index and query documentation
[OAK-5923] - Document S3 datastore
[OAK-6898] - Query: grammar documentation / annotated railroad
diagrams
[OAK-6964] - Document tail compaction
[OAK-7112] - Update documentation for cold standby
[OAK-7148] - Document excerpt support (specially excerpts for
properties)
[OAK-7233] - Improve rep:glob documentation
[OAK-7242] - OAK API overview documentation links NodeState from
spi
[OAK-7616] - Document metrics
[OAK-7705] - Document the requirement to reset repository id for
cloned systems
[OAK-7895] - RELEASE-NOTES: minor typo
[OAK-7945] - Document the recover-journal command
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 a SHA512 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
https://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/