Apache Jackrabbit Oak 1.2.3 发布
欢迎加入运维网交流群:263444886Apache Jackrabbit Oak 1.2.3 发布,此版本现已提供下载:
http://jackrabbit.apache.org/downloads.html
Oak 1.2.3 更新内容
--------------------
子任务
- Some statements not being closed in
RDBDocumentStore
- Admin cannot create versions on a locked page by
itself
- Refactor ListeneableFutureTask to commons
- Flag states from revision of an external change
- improve RDB diagnostics
- RDBBlobStoreTest should be able to run against
multiple DB types
- add (experimental) support for Apache Derby
- RDBDocumentStore: use of "GREATEST" in SQL apparently
doesn't have test coverage in unit tests
- RDBConnectionHandler: handle failure on setReadOnly()
gracefully
- RDB/DB2: change minimal supported version from 10.5
to 10.1, also log decimal version numbers as well
- RDBBlob/DocumentStore throws NPE when used after
being closed
- RDBDocumentStore: mitigate effects of large query
result sets
- Estimation of required memory for compaction is off
- RDBDocumentStore: "set" operation on _modified
appears to be implemented as "max"
- RDBDocumentStore: no custom SQL needed for GREATEST
- RDBDocumentStore: conditional fetch logic is reversed
- RDBConnectionHandler: log failures on setReadOnly()
only once
- Implement text extractor as part of oak-run
- JDBC config for document store tests should be
overridable
- BasicDocumentStoreTest: separate actual unit tests
from performance tests
- RDBDocumentStore: more diagnostics for long-running
queries
- RDBDocumentStore: try PreparedStatement batching
- RDB*Store: check transaction isolation level
- Optimize docCache and docChildrenCache invalidation
by filtering using journal
- RDBDocumentStore: add support for optional additional
index
- RDBDocumentStore: remove hardwired "id-is-binary"
flag
- RDBDocumentStore: improve diagnostics for failed
batch inserts
- RDBDocumentStore: improve diagnostics for failed
inserts/updates caused by long data
- RDBDocumentStore: add BDATA DDL information to
startup diagnostics
Bug 修复
- SegmentNodeStoreService prone to deadlocks
- Unique property index can trigger OOM during upgrade
of large repository
- DocumentNodeState is null for revision rx-x-x
- OakIndexInput cloned instances are not closed
- TARMK Cold Standby cleanup removes too many binary
segments
- Test failure: DefaultAnalyzersConfigurationTest
- Test failure: OSGiIT
- Memory leak in ObserverTracker#removedService
- CopyOnReadDirectory mode might delete a valid local
file upon close
- RDBBlobStore: seen insert failures due to duplicate
keys
- No matching result found with use of relative
property names in fulltext search in some cases
- CommitQueue.done() may fail to remove commit
- Performance problems with many "or" conditions
- enable listUsers to work for more than 1000
external users
- SegmentBlob does not return blobId for
contentIdentity
- Test failures: ldap tests fail on Jenkins
- test failures for oak-auth-ldap on Windows
- TokenLoginModule should clear state in case of a
login exception
- AccessDenied when modifying transiently moved item
with too many ACEs
- Certain searches cause lucene index to hit
OutOfMemoryError
- Regression: SSL errors with latest ldap client
- SegmentNodeStoreService doesn't fully implement a
@Modified method
- Async index fails with OakState0001: Unresolved
conflicts in /:async
- : Undeleted blobs also being logged in
deleted count
- DocumentNodeStoreService doesn't fully implement a
@Modified method
- DocumentNodeStore gets initialized multiple time with
RDB persistence
- Index updation fails on updating multivalued property
- SimpleExcerptProvider causes OOM for some wildcard
expressions
- SQL2 query with union, limit and offset can return
invalid results
- VersionablePathHook must not process hidden nodes
- Async Update fails after IllegalArgumentException
- UserValidator and AccessControlValidator must not
process hidden nodes
- Long running MongoDB query may block other threads
- test failures for oak-auth-ldap on Windows
- Hierarchy conflict detection broken
- EmbeddedSolrServerProvider should check if core is /
can be loaded
- ReferenceEditor reindex detection broken
- Locking issues seen with CopyOnWrite mode enabled
- oak-authorization-cug uses wrong parent pom
- VersionGC failing on Mongo with
CursorNotFoundException
- Lucene IndexCopier should increase
readerRemoteReadCount for new files
- SplitOperations may undo committed changes
- Commit.applyToDocumentStore(Revision) may rollback
committed changes
- LIRS cache: zero size cache causes
IllegalArgumentException
- Remove duplicate logback-classic dependency entry
from oak-lucene pom
- CopyOnWrite might block Async indexer thread
indefinitely
- Revision GC fails when split documents with very long
paths are present
- wrong use of jcr:score in Solr when sorting
- Stale document in MongoDocumentStore cache
- SegmentWriter doesn't properly check the length of
external blob IDs
- DocumentStorePerformanceTest collects duplicate ids
to remove
- AsyncIndexer fails due to FileNotFoundException
thrown by CopyOnWrite logic
改进
- Optimize the diff logic for large number of children
case
- Make blob gc max age configurable in
SegmentNodeStoreService
- Release merge lock before branch is reset
- Optimize equals in AbstractBlob
- Repository Upgrade could shut down the source
repository early
- Track root state revision when reading the tree
- Remove ChangeDispatcher in DocumentNodeStoreBranch
- Make LDAP connection pool 'testOnBorrow' configurable
- Conditional remove on DocumentStore
- Save Lucene directory listing as array property
- Refactor the optimize logic regarding path include
and exclude to avoid duplication
- Release merge lock in retry loop
- Change default for oak.maxLockTryTimeMultiplier
- Comparing node states for external changes is too
slow
- LIRS cache: avoid concurrent loading of the same
entry if loading is slow
- Persistent cache: avoid repeated log message after
closing
- Log NodePropBundle id for which no bundle is found
- TARMK Cold Standby better binary decoding
- Log stats around time spent in extracting text from
binaries
- Bypass CommitQueue for branch commits
- Enable saveDirListing by default
- Exclude image/tiff from text extraction
- Ignore "order by jcr:score desc" in the query engine
(for "union" queries)
- RepositoryUpgrade.copy() should optionally continue
on errors.
- Avoid accessing binary content if the mimeType is
excluded from indexing
- Regression - lookupOnValidate does not work
- DataStoreBlobStore should expose a buffer input
stream for getInputStream call
- Clear the modified and deleted map in PermissionHook
after processing is complete
- ReferenceEditor newIds consuming lots of memory
during migration
- LIRS cache: config options for segment count and
stack move distance
- DocumentNodeStore thread names should carry the
clusterNodeId
- Add name of lucene-property index to cost debug log
- Log message when a branch is created
- NodeStoreFixture: add "getName()" for diagnostics,
allow config of RDB JDBC connection
- add test case simulating batched import of nodes
- Provide item path with InvalidItemStateException
- Simplify debugging conflict related errors
- Provide option to eagerly copy the new index files in
CopyOnRead
- Compaction should trace log the current processed
path
- Add timestamp property to journal entries
- IndexUpdate reports at debug level quite verbose
- SegmentWriter should be able to store blob IDs longer
than 4096 bytes
新特性
- CopyOnWriteDirectory implementation for Lucene for
use in indexing
- Allow excluding certain paths from getting indexed
for particular index
- Support migration without access to DataStore
- Speed up lucene indexing post migration by pre
extracting the text content from binaries
- Fast result size estimate
- Fast result size estimate in Solr index
任务
- Merge missing fixes to 1.2 branch which were made to
1.0 branch
- PojoSR should use Felix Connect API instead of pojosr
- Merge OAK-2800, OAK-2801, OAK-2692, OAK-2713
- Baseline plugin suggests version increase for
unmodified class
- Backport OAK-2945 to 1.2 branch
- Backport OAK-2872 to 1.0 and 1.2 branches
完整 issues 列表:https://issues.apache.org/jira/browse/OAK
Apache Jackrabbit 是由 Apache Foundation 提供的 JSR-170 的开放源码实现..
随着内容管理应用程序的日益普及,对用于内容仓库的普通、标准化 API 的需求已凸现出来。Content Repository forJava Technology API (JSR-170) 的目标就是提供这样一个接口。JSR-170的一个主要优点是,它不绑定到任何特定的底层架构。例如,JSR-170 实现的后端数据存储可以是文件系统、WebDAV 仓库、支持 XML的系统,甚至还可以是 SQL 数据库。此外,JSR-170 的导出和导入功能允许一个集成器在内容后端与 JCR 实现之间无缝地切换。
页:
[1]