腾讯SNG夏日招聘集结号:200个空缺岗位,JAVA、C++、云计算、Android……
Apache Jackrabbit Oak 1.3.0 发布了,该版本包含众多改进和 bug 修复,完整列表如下:
Sub-task
[OAK-1860] - unit tests for concurrent DocumentStore access
[OAK-2630] - Cleanup Oak jobs on buildbot
[OAK-2700] - Cleanup usages of mk-api
[OAK-2701] - Move oak-mk-api to attic
[OAK-2702] - Move oak-mk to attic
[OAK-2713] - High memory usage of CompactionMap
[OAK-2734] - Compaction does not finish on repository with
continuous writes
[OAK-2756] - Move mk-package of oak-commons to attic
[OAK-2770] - Configurable mode for backgroundOperationLock
[OAK-2781] - log node type changes and the time needed to traverse
the repository
[OAK-2800] - Make contributions to reference graph from TarWriter
less conservative
[OAK-2801] - Clear excess references before cleanup
[OAK-2813] - Create a benchmark for measuring the lag of async
index
[OAK-2826] - Refactor ListeneableFutureTask to commons
[OAK-2850] - Flag states from revision of an external change
[OAK-2856] - improve RDB diagnostics
[OAK-2862] - CompactionMap#compress() inefficient for large
compaction maps
[OAK-2901] - RDBBlobStoreTest should be able to run against
multiple DB types
[OAK-2915] - add (experimental) support for Apache Derby
[OAK-2916] - RDBDocumentStore: use of "GREATEST" in SQL apparently
doesn't have test coverage in unit tests
[OAK-2918] - RDBConnectionHandler: handle failure on setReadOnly()
gracefully
[OAK-2923] - RDB/DB2: change minimal supported version from 10.5
to 10.1, also log decimal version numbers as well
[OAK-2930] - RDBBlob/DocumentStore throws NPE when used after
being closed
[OAK-2931] - RDBDocumentStore: mitigate effects of large query
result sets
[OAK-2938] - Estimation of required memory for compaction is off
[OAK-2945] - Sampling rate feature CompactionGainEstimate is not
efficient
[OAK-2946] - Sampling rate feature CompactionGainEstimate is not
efficient
[OAK-2949] - RDBDocumentStore: no custom SQL needed for GREATEST
[OAK-2950] - RDBDocumentStore: conditional fetch logic is reversed
[OAK-2952] - RDBConnectionHandler: log failures on setReadOnly()
only once
[OAK-2954] - Add MBean to enforce session refresh on all open
sessions
Bug
[OAK-1763] - OrderedIndex does not comply with JCR's compareTo
semantics
[OAK-2165] - Observation tests sporadically failing
[OAK-2374] - Sporadic test failure of OSGiIT.listBundles on
Buildbot
[OAK-2379] - Regular CI failures for DOCUMENT_RDB on buildbot
[OAK-2569] - LuceneIndex#loadDocs can throw
IllegalArgumentException
[OAK-2636] - Issues with Maximum node name size and path size
[OAK-2641] - FilterImpl violates nullability contract
[OAK-2662] - SegmentOverflowException in HeavyWriteIT on Jenkins
[OAK-2663] - Unique property index can trigger OOM during upgrade
of large repository
[OAK-2712] - Possible null-dereference when calling
ItemImpl#perform
[OAK-2723] - FileStore does not scale because of precomputed graph
on TarReader
[OAK-2732] - NPE in lucene search
[OAK-2740] - TreeTypeProvider treates optimized node type
definition info as Ac-Content
[OAK-2750] - Indexing for sorting can fail if value is too long
[OAK-2752] - SegmentIdTable can sometimes hang when calling
getSegmentId(msb, lsb)
[OAK-2759] - Empty commit causes deserialization issue in
LocalDiffCache leading to cache corruption
[OAK-2765] - Fix high priority FindBugs reports for oak-solr
[OAK-2778] - DocumentNodeState is null for revision rx-x-x
[OAK-2780] - DocumentMK.commit() does not check if node exists on
property patch
[OAK-2782] - Tika not able to load class in case of custom config
[OAK-2784] - Remove Nullable annotation in Predicates of
BackgroundObserver
[OAK-2796] - Persistent cache: old files not removed sometimes
[OAK-2798] - OakIndexInput should unset OakIndexFile's byte[] upon
close
[OAK-2799] - OakIndexInput cloned instances are not closed
[OAK-2803] - RepositoryUpgrade.copy() doesn't create correct
templates for residual item definitions
[OAK-2811] - Oak + data store: NPE in
SegmentNodeStoreService.deactivate() leads to data store not
shutting down properly
[OAK-2815] - Persistent cache may block commit
[OAK-2817] - TARMK Cold Standby cleanup removes too many binary
segments
[OAK-2820] - SolrServerProviderService should leverage
OakSolrServer
[OAK-2827] - [oak-blob-cloud] Test Failures: Add joda-time
dependency explicitly with definite version range
[OAK-2831] - Test classes extending AbstractImportTest do not
always shut down repository instances properly
[OAK-2832] - Test failure: DefaultAnalyzersConfigurationTest
[OAK-2838] - Test failure: OSGiIT
[OAK-2840] - Login Benchmark Test broken due to OAK-2128
[OAK-2845] - Memory leak in ObserverTracker#removedService
[OAK-2855] - CopyOnReadDirectory mode might delete a valid local
file upon close
[OAK-2863] - No matching result found with use of relative
property names in fulltext search in some cases
[OAK-2867] - CommitQueue.done() may fail to remove commit
[OAK-2869] - RepositorySidegrade: AsyncIndexUpdate throws a
IllegalArgumentException after migrating from segment to document
store
[OAK-2872] - ExternalLoginModule should clear state when login was
not successful
[OAK-2873] - Performance problems with many "or" conditions
[OAK-2880] - NPE in SegmentWriter.writeMap
[OAK-2890] - SegmentBlob does not return blobId for
contentIdentity
[OAK-2900] - Trying to remove a non existing element from a map
might cause NPE
[OAK-2913] - TokenLoginModule should clear state in case of a
login exception
[OAK-2933] - AccessDenied when modifying transiently moved item
with too many ACEs
Improvement
[OAK-1970] - Optimize the diff logic for large number of children
case
[OAK-2006] - Verify the maven baseline output and fix the warnings
[OAK-2016] - Make blob gc max age configurable in
SegmentNodeStoreService
[OAK-2627] - Optimize equals in AbstractBlob
[OAK-2657] - Repository Upgrade could shut down the source
repository early
[OAK-2685] - Track root state revision when reading the tree
[OAK-2690] - Add optional
UserConfiguration#getUserPrincipalProvider()
[OAK-2711] - Troublesome AbstractTree.toString
[OAK-2737] - RepositoryUpgrade.copy() should allow custom commit
hooks
[OAK-2738] - Possible StackOverflowException with many "or"
conditions
[OAK-2743] - Log time taken in couple of places in indexing
[OAK-2748] - Oak Implementation for JCR-3836 and JCR-3837 (getting
authorizable by type)
[OAK-2749] - Provide a "different lane" for slow indexers in async
indexing
[OAK-2753] - Use increasing batch size for sorted queries in
LucenePropertyIndex
[OAK-2754] - Use non unique PathCursor in LucenePropertyIndex
[OAK-2755] - Consolidated JMX view of all EventListener related
statistics
[OAK-2757] - Failed to read from tar file
[OAK-2762] - Configurable maxLockTryTimeMS
[OAK-2763] - Remove ChangeDispatcher in DocumentNodeStoreBranch
[OAK-2766] - Log time to acquire backgroundOperationLock in
background operation tasks
[OAK-2769] - Add progress log to VersionGC in DocumentNodeStore
[OAK-2783] - Make LDAP connection pool 'testOnBorrow' configurable
[OAK-2789] - Enable timeout for MongoDB queries
[OAK-2791] - Change default for
oak.mongo.maxDeltaForModTimeIdxSecs
[OAK-2804] - Conditional remove on DocumentStore
[OAK-2806] - Provide property path in warning log for large multi
value property
[OAK-2809] - Save Lucene directory listing as array property
[OAK-2814] - Refactor the optimize logic regarding path include
and exclude to avoid duplication
[OAK-2818] - Log _lastRev background updates
[OAK-2822] - Release merge lock in retry loop
[OAK-2823] - Change default for oak.maxLockTryTimeMultiplier
[OAK-2830] - LIRS cache: avoid concurrent loading of the same
entry if loading is slow
[OAK-2834] - LIRS cache: allow to disable it when using the
persistent cache
[OAK-2837] - Persistent cache: avoid repeated log message after
closing
[OAK-2839] - Without "counter" index, some queries use traversal
instead of an index
[OAK-2841] - Log NodePropBundle id for which no bundle is found
[OAK-2854] - provide more insight on executors during shutdown
[OAK-2861] - TARMK Cold Standby better binary decoding
[OAK-2865] - Log stats around time spent in extracting text from
binaries
[OAK-2866] - Switch Thread context classloader for default config
parsing also
[OAK-2868] - Bypass CommitQueue for branch commits
[OAK-2870] - Introduce a SegmentNodeStoreBuilder to help wire a
SegmentNodeStore
[OAK-2883] - Tests for SegmentNodeStoreService
[OAK-2886] - Exclude image/tiff from text extraction
[OAK-2887] - Add support for generating mongo export command to
oak-mongo
[OAK-2889] - Ignore "order by jcr:score desc" in the query engine
(for "union" queries)
[OAK-2893] - RepositoryUpgrade.copy() should optionally continue
on errors.
[OAK-2895] - Avoid accessing binary content if the mimeType is
excluded from indexing
[OAK-2898] - DataStoreBlobStore should expose a buffer input
stream for getInputStream call
[OAK-2899] - Update to Jackrabbit 2.10.1
[OAK-2908] - infrastructure for running longevity tests
[OAK-2912] - Clear the modified and deleted map in PermissionHook
after processing is complete
[OAK-2917] - Allow skipping of the baseline check when tests are
skipped
[OAK-2955] - Extend ACL-level principal validation for configured
administrative principals
[OAK-2957] - LIRS cache: config options for segment count and
stack move distance
New Feature
[OAK-104] - HTTP bindings for Oak
[OAK-2247] - CopyOnWriteDirectory implementation for Lucene for
use in indexing
[OAK-2599] - Allow excluding certain paths from getting indexed
for particular index
[OAK-2812] - RevisionGC benchmark
[OAK-2882] - Support migration without access to DataStore
Task
[OAK-1956] - Set correct OSGi package export version
[OAK-2677] - Set ProviderType and ConsumerType annotation on
exported items
[OAK-2678] - Update base version for checking proper package
export versions
[OAK-2697] - Retire oak-mk-api and oak-mk
[OAK-2802] - avoid NodeTypeDefDiff code duplication
[OAK-2925] - Reorganise scalability classes
[OAK-2935] - Update Sling Testing Mocks to 1.3.0
Test
[OAK-2742] - Add UserImport tests that run with a non-admin
session
[OAK-2764] - ExternalSharedStoreIT occasionally fails on travis
[OAK-2790] - Remove ignored tests related to MicroKernel
[OAK-2851] - Missing test dependency to jackrabbit-data tests
artifact