4月18日 武汉 源创会开始报名,送华为开发板
Apache Jackrabbit Oak 1.2.0 发布,此版本现已提供下载: http://jackrabbit.apache.org/downloads.html 。
Apache Jackrabbit Oak 1.2.0 增长性版本,基于并兼容 Jackrabbit Oak 1.x 版本,Jackrabbit Oak 1.2.x 被认为是稳定版本,可以用于生产环境。
Jackrabbit Oak 相比 Oak 1.0.0 的改进内容
-----------------------
新特性
[OAK-1323] CLONE - XPath queries currently require @ in front of
property names
[OAK-1522] Provide PojoSR based RepositoryFactory implementation
[OAK-1529] The storage backends should have an estimate on the
number of nodes below a given path
[OAK-1658] Similar (rep:similar) support for Solr
[OAK-1804] TarMK compaction
[OAK-1805] Debugging console
[OAK-1849] DataStore GC support for heterogeneous deployments using
a shared datastore
[OAK-1893] MBean to dump Lucene Index content and related stats
[OAK-1906] Adding information to a Standard MBean interface using annotations
[OAK-1915] TarMK Cold Standby
[OAK-1922] Introduce Password Expiry With Max Password Age and On First Login
[OAK-1978] Add path exclusion to JackrabbitEventFilter
[OAK-1990] Utility js methods to manage Oak data in Mongo
[OAK-1993] Add command to dump Lucene index in Oak Console
[OAK-2005] Use separate Lucene index for performing property related queries
[OAK-2074] _lastRev recovery tool
[OAK-2138] Alternative implementation of AuthorizableNodeName interface
[OAK-2191] Persistent cache for the DocumentNodeStore
[OAK-2220] Support for atomic counters (non-clustered)
[OAK-2261] Enable support for NodeType based indexing rules
[OAK-2267] Expose checkpoints through JMX
[OAK-2268] Support index time Aggregation of repository nodes
[OAK-2278] Same Lucene index to support both property restrictions
and fulltext constraints
[OAK-2323] SegmentMK consistency check
[OAK-2371] Helper class for CI configurations
[OAK-2399] Custom scorer for modifying score per documents
[OAK-2504] oak-run debug should list a breakdown of space usage per
record type
[OAK-2517] Support IS NULL based property restrictions in LucenePropertyIndex
[OAK-2530] Support IS NULL based property restrictions in the query engine
[OAK-2721] LogDumper rule to dump logs as part of system out in case
of test failure
改进
[OAK-672] Avoid JCR APIs calling other JCR APIs
[OAK-1447] Offline tool to repair MongoMK documents
[OAK-1452] Expose query plans
[OAK-1478] allow selecting a nodestore fixture for tests
[OAK-1500] Verify restore to revision on MongoNS
[OAK-1561] Implement optimised range queries
[OAK-1570] Improve perfomances of the OrderedIndex while insert
[OAK-1609] Configurable property exclusions for SolrIndexEditor and
SolrQueryIndex
[OAK-1618] Implement noInternal from JackrabbitEventFilter
[OAK-1645] Route find queries to Mongo secondary in MongoDocumentStore
[OAK-1666] FileDataStore inUse map causes contention in concurrent env
[OAK-1669] JCR Event Info should contain NodeType for all Events
[OAK-1673] FulltextQueryTest coverage for Solr indexer
[OAK-1681] Clarify contract of NodeBuilder.isReplaced()
[OAK-1683] Remove dependency of DocumentStore to MicroKernelException
[OAK-1685] BlobStore: improve code readability
[OAK-1691] Use in-memory DB for DOCUMENT_JDBC fixture
[OAK-1694] Use known.issues instead of commented tests
[OAK-1706] Add RestrictionProvider#getPattern(String,Set<Restriction>)
[OAK-1716] Enable passing of a execution context to runTest in multi
threaded runs
[OAK-1718] Avoid expanding empty property restrictions if not needed
[OAK-1721] register ContentRepository to whiteboard
[OAK-1723] Text content should not be stored as part of Index data
[OAK-1724] Enable copying of Lucene index to local file system for
read queries
[OAK-1725] Improved SolrCursor support for paged results
[OAK-1733] Consolidate Mongo client connection creation logic
[OAK-1745] OrderedIndex should serve range queries regardless of direction
[OAK-1754] add docu how to connect to Mongo w/ credentials
[OAK-1771] Avoid lock contention in Tracker.getServices()
[OAK-1775] Avoid lock contention in IndexTracker.getIndexNode()
[OAK-1790] Import of compressed wikipedia dump
[OAK-1791] Clean up dangling references to previous documents
[OAK-1794] Keep commit info for local changes in main document
[OAK-1796] Update Mongo Java Driver version to 2.12
[OAK-1800] Configurable number of rows in SolrQueryIndex
[OAK-1815] Don't create default (Scheduled)Executor when respective
instance is supplied
[OAK-1820] Set _lastRev on insert when new node is also commit root
[OAK-1821] Full text expression with * as 'field' should expand to
the 'catch all' field
[OAK-1830] DocumentNodeStore code robustness when persistence inconsistent
[OAK-1835] Solr index support for relative properties
[OAK-1847] Use SegmentMK for testing where possible
[OAK-1850] Dump help details for various command supported by oak-run
[OAK-1852] DocumentStore API: improve documentation of keys
[OAK-1857] Support collection object conversion to String[] in
ConfigurationParameters
[OAK-1858] Segment Explorer
[OAK-1861] Limit memory usage of DocumentNodeStore.readChildren()
[OAK-1862] Checkpoints release method
[OAK-1863] Generic operation tasks should be able to return specific results
[OAK-1867] Optimize SegmentWriter.prepare()
[OAK-1875] Configurable filter restrictions to be used in SolrQueryIndex
[OAK-1876] oak-run option to do diffs between TarMK revisions
[OAK-1880] Omit Configuration Retrieval for PreAuthContext
[OAK-1882] Use config parameters to write token property
[OAK-1907] Better cost estimates for traversal, property, and ordered indexes
[OAK-1919] Use 127.0.0.1 as default for MongoDB host
[OAK-1928] Cleanup test and execution fixtures
[OAK-1929] MicroKernelServer not usable with user specified
MicroKernel implementation
[OAK-1934] Optimize MutableTree.orderBefore for the common case
[OAK-1937] Add progress logs to MarkSweepGarbageCollector
[OAK-1942] UserAuthentication: enhance login states with relevant exceptions
[OAK-1945] Unclear NodeStore.merge() contract
[OAK-1950] Add GlobalNameMapper(NodeState) constructor
[OAK-1955] oak-run main method should print available run modes
[OAK-1961] Introduce DocumentStoreException
[OAK-1965] Support for constraints like: foo = 'X' OR bar = 'Y'
[OAK-1966] Add Hint for selecting more performant index in
MongoDocumentStore#query
[OAK-1967] Avoid collision marker update when already present
[OAK-1983] Query: reduce debug log output
[OAK-1986] Log index names for which AsyncIndexUpdate would trigger
a full reindex
[OAK-1987] LuceneIndex should access Lucene Directory if query
involves FullTextSearch for cost calculation
[OAK-1994] Limit no of children listed with ls command in Oak Console
[OAK-1997] Improve the message in UniquenessConstraintViolation
exception to provide more details
[OAK-1999] Query engine is slow when using many "or" constraints
[OAK-2003] Avoid <p/> in javadoc
[OAK-2004] Add a way to pause the background async indexer
[OAK-2007] MongoBlobStore improvements
[OAK-2009] Add a utility method to create Solr synonym file for node
type expansions
[OAK-2011] Log read and write operations to different loggers
[OAK-2013] Add utility class for tracking time spent in the code
[OAK-2017] Add checkpoint management to oak-run
[OAK-2018] Query: before throwing "traversed more than x nodes"
exception, log it
[OAK-2019] Compact only if needed
[OAK-2025] Make the cache size in MongoBlobStore configurable
[OAK-2030] Remove ContentRepositoryImpl#getNodeStore
[OAK-2031] MemoryNodeBuilder#set only works on root builders
[OAK-2040] Tar compaction: log a warning if there is more than one checkpoint
[OAK-2041] Checkpoint list command should also provide the checkpoint lifetime
[OAK-2044] DocumentSplit should allow properties added by persistence
[OAK-2050] Query engine: disable or restrict built-in full-text engine
[OAK-2051] Provide option to use Configuration SPI in JAAS
authentication when running within AppServer
[OAK-2057] Add timing to OrderedIndex
[OAK-2060] MBean to provide consolidated cache stats
[OAK-2061] Oak run debug option to list content from a tar file
[OAK-2069] Log details of _lastRev recovery
[OAK-2083] Add metatype info for Document and Segment services
[OAK-2087] Record time when checpoint is created in SegmentNodeStore
[OAK-2090] Improve logging in compaction and cleanup operation in SegmentMK
[OAK-2091] Improve logging in MongoDocumentStore
[OAK-2094] Oak Upgrade should depend on oak-jcr with a 'test' scope
[OAK-2100] Change NodeStore#release method to return a boolean
[OAK-2101] Add test for observation events when renaming a node
[OAK-2104] IndexStatsMBean should expose the time upto which the
repository state has been indexed
[OAK-2105] Review padding for blobs collection
[OAK-2112] DocumentNodeStore: Error calculating the machine id
[OAK-2115] Turn async indexer checkpoint warning log to debug
[OAK-2116] Explorer should display the template Id and use it in the
reference tracking report
[OAK-2119] AggregateIndex should support AdvanceQueryIndex
[OAK-2120] Simplify BranchStates
[OAK-2125] Integrate Lucene logging with Slf4j
[OAK-2128] Scalability benchmarks for search
[OAK-2131] Reduce usage of _lastRev
[OAK-2133] Lucene: improved batching and logging
[OAK-2134] Lucene: not using the path restriction can speed up queries
[OAK-2143] NodeObservor should catch exception in case event processing
[OAK-2156] UserAuthentication: Allow Password Change Via
SimpleCredentials Attribute
[OAK-2158] Fail for ACEs created for the admin principal
[OAK-2160] mk.getRevisionHistory: clarify since parameter
[OAK-2161] MicroKernelIT: clean test content
[OAK-2169] Pluggability of UserAuthenticationFactory
[OAK-2173] Allow specifying custom attributes in IndexPlan
[OAK-2175] Support for rep:spellcheck
[OAK-2176] Support for using query engine for search suggestions
[OAK-2177] Configurable Analyzer in Lucene index
[OAK-2178] Lucene index boosting on certain fields
[OAK-2179] Rep:similar support in Lucene index
[OAK-2180] Solr default rows number is too high
[OAK-2181] Create whitelist / blacklist of properties to be indexed
/ filtered for Solr index
[OAK-2189] TarMK cold standby: update OSGi config example files
[OAK-2190] Support for like query for string
[OAK-2194] Print tar file graph in segment explorer
[OAK-2201] Make blobSize in OakDirectory configurable
[OAK-2205] Allow native query to be run against specifc property index
[OAK-2212] Add configuration options for ldap connection pools
[OAK-2213] The unbound connection pool does not verify if the
connection is still alive
[OAK-2215] Create default repository in OakRepositoryFactory
[OAK-2216] LIRS cache: improved concurrency when using the cache loader
[OAK-2217] Use daemon threads for scheduled executor service in RepositoryImpl
[OAK-2218] Allow SegmentNodeBuilder to provide child builders of the same type
[OAK-2221] Log path for text extraction error on the Lucene index
[OAK-2228] Changing the query traversal limit should affect already
started queries
[OAK-2229] Provide a way for Index implementation to determine reindex mode
[OAK-2230] Execution Stats for async indexing
[OAK-2233] Add UserIdCredentials to Oak user management extension
[OAK-2234] Support property existence query (for Lucene)
[OAK-2241] Support native queries for non-full-text indexes
[OAK-2245] UserImporter should always set the rep:authorizableID
[OAK-2252] make generic VersionGCSupport perform better
[OAK-2253] Index node only if configured property changed
[OAK-2262] Add metadata about the changed value to a
PROPERTY_CHANGED event on a multivalued property
[OAK-2274] XD Logo for Oak Apache
[OAK-2287] ConflictHandler for merging jcr:lastModified
[OAK-2291] Associate user defined values with checkpoint
[OAK-2292] Use ConcurrentUpdateSolrServer for remote updates
[OAK-2293] Add checkpoint management for MongoMK
[OAK-2296] Update sql2.txt test to account for name property
presence in non test nodes
[OAK-2302] Simplify query debugging with MDC
[OAK-2303] Add jsr305 annotations to Solr index code
[OAK-2304] Not log very common queries
[OAK-2306] Path restriction evaluation support within LucenIndex
[OAK-2307] Provide API to create Tree from NodeState
[OAK-2309] Persistent cache: config option for autoCompact
[OAK-2313] Better handling for external binaries in the segment explorer
[OAK-2314] Mark checkpoints with relevant metadata
[OAK-2321] Provide details in log when reindexing is completed by
AsyncIndexUpdate
[OAK-2324] Remove dependency to MapDB
[OAK-2325] Remove option to disable background operations
[OAK-2326] Debug logging for merge failures
[OAK-2333] SegmentMK startup slow with large journals
[OAK-2334] Inspect any revision with SegmentMK explorer
[OAK-2340] LucenePropertyIndex should support pure nodeType based query
[OAK-2341] Use approx counters property index costs even when path
restriction is available
[OAK-2342] Clean up collision markers
[OAK-2344] Permission validation with Node.setPrimaryType
[OAK-2348] Pass over name and definitions to StoreStrategy.update
[OAK-2350] Improve performance of user query with scope set
[OAK-2351] Property name regex should only be applied on property name
[OAK-2361] MBean to expose DocumentNodeStore runtime state
[OAK-2362] Remove entryCount from NodeType Index
[OAK-2365] Refactor node store tests
[OAK-2372] TARMK Cold Standby improve test cases for FSDS mirroring
[OAK-2373] Move FixturesHelper into common
[OAK-2378] add a oak-run command to delete the index data in case of
inconsistencies
[OAK-2385] Abstract over repository creating in tests
[OAK-2387] Simplify injection of conflict handlers
[OAK-2390] Replace usages of Immutable* with factory calls
[OAK-2391] Provide API to create Tree from NodeBuilder
[OAK-2393] Change default blob size to around 1 MB in OakDirectory
[OAK-2398] TarMk Cold Standby add metatype info for
'standby.readtimeout' property
[OAK-2406] Add RootFactory.createSystemRoot
[OAK-2407] Auto-refresh sessions on revision gc
[OAK-2413] Clarify Editor.childNodeChanged()
[OAK-2415] Improve logging in repository migration in upgrade
[OAK-2422] Improve logging in Lucene indexer
[OAK-2432] Allow querying on jcr:primaryType property if that
property is indexed
[OAK-2444] Enable the persistent cache by default
[OAK-2448] Do not create nodeChildren cache entry for leaf
[OAK-2451] Avoid clean up in XmlImportTest benchmark
[OAK-2452] Avoid lookup of conflicting node with
ImportUUIDBehavior.IMPORT_UUID_CREATE_NEW
[OAK-2453] Move MongoDiffCache to mongo package
[OAK-2454] Upgrade: reduce implementation dependency
[OAK-2459] Pre-populate version storage with intermediate nodes
[OAK-2462] reduce code duplication between
Utils.getSelectedDocuments and MissingLastRevCandidateIterator
[OAK-2463] Provide support for providing custom Tika config
[OAK-2464] Optimize read of known non-existing children
[OAK-2468] Index binary only if some Tika parser can support the
binaries mimeType
[OAK-2469] Restrict the maximum number of terms that will be indexed
for a single field
[OAK-2470] Support for maxExtractLength while parsing binaries with Tika
[OAK-2471] Include index name in the log from LuceneIndexEditor
[OAK-2483] Avoid building suggest/spellcheck dictionary at query time
[OAK-2485] Add validating commit hook for login tokens
[OAK-2487] DataStoreBlobStore: Merge test
MongoDataStoreBlobStoreTest into DataStoreBlobStoreTest
[OAK-2490] Make it possible to use the PermissionProvider from
within query indexes
[OAK-2491] Improve OAK-2465 avoiding ArithmeticException altogether
[OAK-2499] Expose mongo and db versions for reporting purposes
[OAK-2500] checkDeepHistory/fixDeepHistory/prepareDeepHistory for oak-mongo.js
[OAK-2501] add more trace-logging to mongoMk to debug performance issues
[OAK-2516] Add user information in audit events in oak
[OAK-2519] remove CachingDocumentStore interface
[OAK-2523] Provide a default Tika Config similar to JR2 config
[OAK-2527] Update SegmentMK header format definition
[OAK-2529] Index usage for "not equals" conditions
[OAK-2534] Add missing Apache Jackrabbit qualifiers to OSGi services metatype
[OAK-2537] Support using Solr index for sorted queries
[OAK-2542] Update RecordUsageAnalyser to reflect changes in segment format
[OAK-2546] allow configuring subcaches of documentnodestore individually
[OAK-2548] Spellcheck/suggest queries should return no results if no
index can handle them
[OAK-2553] Add builder to file store
[OAK-2554] Make AbstractServiceTracker.stop() idempotent
[OAK-2561] Add option to oak-run check runmode to check consistency
of binary properties
[OAK-2563] Cleanup and document security related error codes
[OAK-2570] Open indexes in IndexTracker non blocking way
[OAK-2571] Protect the persistent cache against Thread.interrupt
[OAK-2572] Include cache invalidation stats in logs related to
background operations
[OAK-2574] Update mongo-java-driver to 2.13.0
[OAK-2579] RepositoryManager must not register WhiteboardExecutor with Oak
[OAK-2585] Set pauseCompaction default to false
[OAK-2587] observation processing too eager/unfair under load
[OAK-2589] Provide progress indication when reindexing is being peformed
[OAK-2590] IndexCopier Error occurred while removing deleted files from Local
[OAK-2591] Invoke indexUpdate only when new Document are added in
LuceneIndexEditor
[OAK-2595] High memory consumption of CompactionGainEstimate
[OAK-2596] more (jmx) instrumentation for observation queue
[OAK-2597] expose mongo's clusterNodes info more prominently
[OAK-2601] PerfLogger for NodeObserver.contentChanged()
[OAK-2602] [Solr] Cost calculation takes time with solr pings even
when not fulfilling query
[OAK-2608] Avoid indexing user/group/uuid props by default
[OAK-2614] Timeout for MongoDB query
[OAK-2624] Move out non essential task processing from
DocumentNodeStore background thread
[OAK-2633] Log document as debug message on conflict
[OAK-2638] Use message from causing exception in
DocumentStoreException.convert()
[OAK-2645] Remove DOCUMENT_MK fixture (and related)
[OAK-2654] SegmentIdTable too eager to refresh
[OAK-2668] Ability to disable index hints for MongoDB
[OAK-2669] Use Consolidated diff for local changes with persistent
cache to avoid calculating diff again
[OAK-2671] Persistent cache: use different files in tests
[OAK-2680] Report a full observation queue situation to the logfile
[OAK-2692] Add description annotation to
RepositoryManagementMBean#startDataStoreGC
[OAK-2708] Enable CopyOnRead feature for Lucene indexes by default
Bug 修复
[OAK-203] Basic same name sibling support
[OAK-1267] Failure in ObservationRefreshTest
[OAK-1385] Occasional ConcurrentFileOperationsTest failure
[OAK-1414] Copying a large subtrees does not scale as expected in
the number of copied nodes on document node stores
[OAK-1462] Aggregate Index isn't usable in an osgi environment
[OAK-1472] ConcurrentAddReferenceTest#addReferences still fails
[OAK-1488] ConcurrentAddRemoveIT, ConcurrentAddIT test failures
[OAK-1491] ObservationTest failure on Windows
[OAK-1589] MongoDocumentStore fails to report error for keys that are too long
[OAK-1626] RDBBlobStoreTest fails occasionally
[OAK-1641] Mongo: Un-/CheckedExecutionException on replica-primary crash
[OAK-1674] Node isNew() is false in case the node is removed and
added in same commit
[OAK-1676] NodeStoreServices nondeterministic with customBlobStore
[OAK-1677] Add ConflictHandler/Validator to AbstractSecurityTest
[OAK-1686] failing test
org.apache.jackrabbit.core.query.VersionStoreQueryTest.testCheckin
[OAK-1688] document atomicity of DS.update(collection, keys, update)
[OAK-1690] OrderableNodesTest fails with Document_JDBC
[OAK-1693] "like '%'" does not use an index
[OAK-1697] Unresolved conflicts in TokenProviderImpl#createToken()
[OAK-1703] Improve warning logged on concurrent Session access
[OAK-1707] RestrictionProviderImpl returns empty pattern if all
supported restrictions are set
[OAK-1709] Diff cache entry too large
[OAK-1727] Cross foreign cluster revision comparison may be wrong
[OAK-1747] SolrIndexInitializer async parameter should be boolean
[OAK-1759] Sporadic IllegalStateException in
AbstractServiceTracker.getServices
[OAK-1766] Remote Solr server should explicitly handle failures in
connecting to ZK
[OAK-1768] DocumentNodeBuilder.setChildNode() runs OOM with large tree
[OAK-1777] Stats for the async indexing don't report 'done' status
when there are no changes
[OAK-1778] Ordered index: explain plan not implemented
[OAK-1782] DiffCache not populated after cache miss
[OAK-1788] ConcurrentConflictTest fails occasionally
[OAK-1792] Sample descendant field configuration not working for root
[OAK-1799] Create a benchmark for Full text search with Solr
[OAK-1810] Incorrect TarMK graph metadata validation
[OAK-1813] LastRevSingleNodeRecoveryTest fails with Mongo
[OAK-1814] RevisionComparator my incorrectly report a revision as FUTURE
[OAK-1816] Oak#createContentRepository never unregisters some of its services
[OAK-1817] NPE in MarkSweepGarbageCollector.saveBatchToFile during
Datastore GC with FileDataStore
[OAK-1822] NodeDocument _modified may go back in time
[OAK-1824] DocumentNodeStore "lease update thread" is not a daemon thread
[OAK-1826] Empty directories not cleaned up when gc run on FileDataStore
[OAK-1827] ClassCastException in NodeDocument.split() when collisions detected
[OAK-1829] IllegalStateException when using "lowerCase"/"lower" on a
array property
[OAK-1833] Logging in and out many sessions leads to high memory consumption
[OAK-1840] Failure when setting up DocumentNS fixture
[OAK-1848] Default sync handler property mapping does not allow
constant properties
[OAK-1853] Potential NPE in RDBDocumentStore
[OAK-1855] Travis builds time out
[OAK-1865] Blob garbage collector deletes referenced blobs for
Jackrabbit 2.x DataStores
[OAK-1866] SegmentMK: Inefficient flat node comparisons
[OAK-1869] TarMK: Incorrect tar entry verification in recovery mode
[OAK-1870] Lucene blob size different in trunk and 1.0 branch
[OAK-1874] Indexes: re-index automatically when adding an index
[OAK-1877] Hourly async reindexing on an idle instance
[OAK-1883] Unnecessary invocations of LastRevRecovery when recovery
already done.
[OAK-1885] Add restore option for oak-run
[OAK-1886] OOM in
org.apache.jackrabbit.oak.jcr.OrderedIndexConcurrentClusterIT::deleteConcurrently()
[OAK-1887] Expose security related configuration options as
component properties
[OAK-1889] Incomplete component declaration with default action provider
[OAK-1890] Concurrent System Login: slowdown for high concurrency levels
[OAK-1892] OrderedIndexConcurrentClusterIT takes too long
[OAK-1894] PropertyIndex only considers the cost of a single indexed property
[OAK-1895] ClassCastException can occur if the TraversalIndex is
cheaper than an OrderedIndex (or a different AdvancedQueryIndex impl)
[OAK-1897] Stale documents in MongoDocumentStore cache
[OAK-1898] Query: Incorrect cost calculation for traversal
[OAK-1899] Ordered index fails with old index content
[OAK-1902] NodeTypeIndex is not conversative enough about its cost
[OAK-1916] NodeStoreKernel doesn't handle array properties correctly
[OAK-1917] FileNotFoundException during TarMK GC
[OAK-1921] Backup: "Attempt to read external blob" error
[OAK-1926] UnmergedBranch state growing with empty BranchCommit
leading to performance degradation
[OAK-1927] TarMK compaction delays journal updates
[OAK-1931] MicroKernel.read() returns negative value
[OAK-1932] TarMK compaction can create mixed segments
[OAK-1933] Query: UnsupportedOperationException for some
combinations of "or" and "and" conditions
[OAK-1935] MAX_QUEUED_CONTINUATIONS feature not working in
EventGenerator class
[OAK-1936] TarMK compaction map check should switch comparison sides
[OAK-1943] UserImporter doesn't import protected rep:passwordLastModified
[OAK-1946] Restore: "Attempt to read external blob" error
[OAK-1949] UserContext needs to be adjusted to reflect changes made
with OAK-1922
[OAK-1951] UserContext doesn't reflect new group-member structure
[OAK-1953] Oak console on MongoMK fails with NPE
[OAK-1958] Session.logout performance poor
[OAK-1959] AsyncIndexUpdate unable to cope with missing checkpoint ref
[OAK-1960] Console in Oak Run does not close the NodeStore upon exit
[OAK-1964] Performance degradation due to SessionDelegate.WarningLock
[OAK-1968] Wrong time unit for async index lease time
[OAK-1969] Duplicate observation events when using JackrabbitEventFilter
[OAK-1972] Async property index update may fail on DocumentMK with
more than 100 index changes
[OAK-1973] IndexUpdate traverses the data nodes under index nodes
[OAK-1975] Wrong values reported for OBSERVATION_EVENT_DURATION
[OAK-1976] SecurityProvider is not able to add Custom
PrincipalConfiguration in CompositePrincipalConfiguration in OSGI Mode
[OAK-1977] ContentMirrorStoreStrategy should utilize path
restriction when available
[OAK-1982] Ordered index must ignore full-text queries
[OAK-1985] TokenLoginModule can't handle case insensitive userids
[OAK-1988] Confusing debug message about old revision access
[OAK-1991] Optimize access to OrderedPropertyIndex
[OAK-1998] Accessible tree below a non-accessible parent are HiddenTree
[OAK-2000] Observation events accessibility not checked correctly
[OAK-2001] TarMk compaction can still cause repository growth
[OAK-2002] TarMK: FileStore constructor loads all entries in the journal.log
[OAK-2010] BlobGcMaxAgeInSecs is set to high for MongoBlobStore
[OAK-2012] oak run benchmark has bad imports
[OAK-2014] oak-run build fails on windows
[OAK-2015] PermissionStore doesn't reflect dynamic nature of jcr:all
[OAK-2020] NodeState view at given version is not stable with
DocumentNodeStore
[OAK-2021] XPath queries with certain combinations of "or"
conditions don't use an index
[OAK-2022] XPath queries with "order by" are never converted to "union"
[OAK-2024] Error when accessing /oak:index/rep:policy/reindex property via JCR
[OAK-2026] Incompatibility with
PropertyDefinitionImpl#getValueConstraints potentially returning null
values.
[OAK-2027] SessionMBean fails to render due to NPE in getSessionAttributes
[OAK-2029] Oak Lucene index doesn't get notified about updates when
index is stored on the file system
[OAK-2032] Setting a MV Name property does not validate the namespaces
[OAK-2033] Setting a path property with a value that contains a
unregistered namespace does not fail
[OAK-2036] getPlan() output for NodeTypeIndex doesn't indicate the
index type used
[OAK-2038] Invalid type error while importing DocView xml data
[OAK-2039] SegmentNodeStore might not create a checkpoint
[OAK-2042] TarMK CompactionMap should include more nodes
[OAK-2047] Missing privileges after repository upgrade
[OAK-2048] oak-solr-osgi uses wrong version of spatial4j
[OAK-2049] ArrayIndexOutOfBoundsException in Segment.getRefId()
[OAK-2052] Node.setProperty(String, Value) fails for binary non ValueImpls
[OAK-2053] Excessive memory usage with Oracle Java 6
[OAK-2056] Optimize orderings by date fields
[OAK-2058] Hard-coded write concern
[OAK-2059] Reindexing can include hidden nodes in the index
[OAK-2062] Range queries and relative properties resultset should be
consistent with JR2
[OAK-2070] Segment corruption
[OAK-2071] ImporterImpl does not convert JCR paths to Oak paths
[OAK-2073] Prevent against integer overflow in compaction check
[OAK-2077] Improve the resilence of the OrderedIndex for dangling links
[OAK-2078] Prevent null/empty passwords in ldap provider
[OAK-2080] BlobSize in OakDirectory differs between trunk and 1.0 branch
[OAK-2084] The query engine should not return hidden nodes
[OAK-2088] AsyncIndexUpdate can leave orphaned checkpoint in case of
abrupt shutdown
[OAK-2093] RDBBlobStore failure because of missing lastmod column on
datastore_data table
[OAK-2095] ClassCastException in NodeDocument
[OAK-2099] AIOOBE in Segment#toString
[OAK-2102] Oak-run add option to remove all unreferenced checkpoints
[OAK-2107] Remove the MongoGridFSBlobStore implementation
[OAK-2111] Rename FileStoreCorruptException to
SegmentNotFoundException and update the NodeStore contract
[OAK-2117] Reindex removes all nodes under index definition node
[OAK-2118] Aggregation cursor introduces doubles in the result set
[OAK-2123] Tests do not tear down repository completely
[OAK-2127] Long running merge may block other commits
[OAK-2132] BackgroundWriteTest uses relative paths
[OAK-2139] SegmentExplorer better binary display
[OAK-2140] Segment Compactor will not compact binaries > 16k
[OAK-2142] Possibility of numeric overflow in blobCacheSize in DocumentMK
[OAK-2144] Intermittent Node not found at given revision with
DocumentNodeStore
[OAK-2145] TarMK cold standby: file handle leak
[OAK-2146] empty resultset for PropertyIndex and multi-value
properties with mixed OR+AND
[OAK-2147] [Ordered Index] Indexing on large content is slow
[OAK-2148] SegmentExplorer display in memory references to tar files
[OAK-2150] TarMK cold standby: logs are too verbose
[OAK-2151] DocumentNodeStore does not detect hierarchy conflict
[OAK-2152] Ignore maven-javadoc-plugin -Xdoclint:none option
[OAK-2153] Disable TokenAuthenticationTest#tokenCreationWithPreAuth
[OAK-2157] Better error message for getPrimaryItem
[OAK-2163] Oak-run "checkpoint" and "backup" don't use memory mapped files
[OAK-2164] Only enforce uniqueness of jcr:uuid for referenceable nodes
[OAK-2166] CacheConsistencyTest may fail with IllegalStateException
[OAK-2167] Last revision recover incomplete
[OAK-2174] Non-blocking reindexing doesn't finish properly
[OAK-2186] Change Password On First Login: Wrong Config Property Description
[OAK-2188] Add/remove version label fails with restricted access on
/jcr:system
[OAK-2192] Concurrent commit during compaction results in mixed segments
[OAK-2195] Repository upgrade does not correctly update jcr:all
aggregate privileges and bits
[OAK-2197] Node.getReferences throws IllegalArgumentException
[OAK-2202] OrderedIndex should not return the whole index on
property=$value statement
[OAK-2203] Full reindexing is triggered when the IndexEditor is missing
[OAK-2219] Ordered index does not return relative properties for
un-restricted indexes
[OAK-2224] Increase the threshold for warning in PathIterator
[OAK-2225] MultipleMoveTest doesn't restore ACEs properly causing
later tests to fail
[OAK-2226] Aggregate Lucene no results for multiple jcr:contains
[OAK-2227] Increase package export on
org.apache.jackrabbit.oak.plugins.segment
[OAK-2232] External events incomplete
[OAK-2235] Lucene index not created if no node is indexed
[OAK-2237] NodeStoreKernel.getNodes throws when passing filter=""
[OAK-2238] Session.getItem violates JCR Spec
[OAK-2243] User Query: Condition 'nameMatches' ignores authorizable id
[OAK-2246] UUID collision check is not does not work in transient space
[OAK-2248] IndexOutOfBoundsException in
o.a.j.o.scalability.ScalabilityNodeRelationshipSuite
[OAK-2249] Query with mixed full-text, "and", "or" conditions fails
[OAK-2250] Lucene Index property definition is ignored if its not in
includePropertyNames config
[OAK-2254] Observation events accessibility check should respect
session refresh settings
[OAK-2255] PermissionStoreImpl refresh root on flush
[OAK-2256] MemoryNodeBuilder NPE on base() following root refresh
[OAK-2259] SegmentBlob equals check should verify compaction in both
directions
[OAK-2260] TarMK Cold Standby can corrupt bulk segments
[OAK-2266] UserQueryManager: Sort Ignore Case Reversed
[OAK-2271] Compaction estimation time should not depend on number of
checkpoints
[OAK-2275] mvn site and site-deploy does not work as expected
[OAK-2285] Builder does not exist error during async index update
[OAK-2288] DocumentNS may expose branch commit on earlier revision
[OAK-2289] Async indexer checkpoints not cleaned up under heavy load
[OAK-2294] Corrupt repository after concurrent version operations
[OAK-2295] Using "order by jcr:score" slows down queries by a few
orders of magnitude
[OAK-2297] Update for absent document may throw NPE
[OAK-2299] oak.removeDescendantsAndSelf() does not remove
descendants with long paths
[OAK-2301] QueryEngine should not tokenize fulltext expression by default
[OAK-2308] Incorrect recovery of _lastRev for branch commit
[OAK-2311] Released checkpoint can still be retrieved
[OAK-2312] NodeStoreTest.moveToDescendant fails on MemoryNodeStore
[OAK-2315] Index cost is sometimes negative
[OAK-2317] UserValidator: Detect nested authorizables introduced by
change of primary type
[OAK-2318] DocumentNodeStore.diffManyChildren() reads too many nodes
[OAK-2319] UserProvider does not install autocreated items
[OAK-2320] Wrong optimization for joins with ISDESCENDANTNODE conditions
[OAK-2322] Compaction estimation includes all data segments
[OAK-2327] DataStoreBlobStore should log exception thrown while
reading inputstream
[OAK-2328] add logging in OrderedContentMirrorStorateStrategy for
better investigation
[OAK-2330] Field boost not working if the property for indexing is
picked using aggregate index rules
[OAK-2332] LIRS cache: deadlock if a value loader access the cache
[OAK-2335] IndexPlanner does not return plan for mixin based queries
[OAK-2336] NodeDocument.getNodeAtRevision() may read too many revisions
[OAK-2343] Wrong handling of InterruptedException in BackgroundThread
[OAK-2345] Diff reads too many nodes
[OAK-2346] InitializerTest.testInitializerMongoWithoutInitialContent() fails
[OAK-2347] TarMK Cold Standby FSDS mirroring
[OAK-2354] Support comments anywhere in a SQL-2 statement
[OAK-2355] TarMK Cold Standby expose standby read timeout value
[OAK-2356] Logic for writing properties in SegmentWriter.writeNode looks off
[OAK-2359] read is inefficient when there are many split documents
[OAK-2363] NPE in DocumentNodeStore#retrieve for non existing checkpoint
[OAK-2366] Cleanup org.apache.jackrabbit.oak.kernel package
[OAK-2367] Importing a group with random node name and members fails.
[OAK-2368] Property index: setting declaringNodeTypes to an empty
array can break queries
[OAK-2369] DataStoreWrapperBackend not updated to latest extensions
added to Backend interface
[OAK-2370] o.a.j.o.plugins.segment.HeavyWriteIT fails on travis
(exit code 137)
[OAK-2375] Sporadic test failure of HeavyWriteIT.heavyWrite on Travis
[OAK-2380] SegmentReferenceLimitTestIT does not close FileStore
[OAK-2383] ConcurrentAddNodesClusterIT does not close sessions
[OAK-2384] SegmentNotFoundException when keeping JCR Value references
[OAK-2386] AnnotatingConflictHandler: jcr:primaryType must be of type Name
[OAK-2388] Possibility of overflow in file length calculation
[OAK-2389] issues with JsopBuilder.encode and .escape
[OAK-2394] Clarify handling of hidden items in ImmutableTree
[OAK-2396] TarMk Cold Standby reduce verbosity of server errors on
client timeouts
[OAK-2402] oak-lucene fails to start in OSGi
[OAK-2409] Invalid cast being performed in BlobStoreFixture
[OAK-2411] Upgrade may fail with constraint exception
[OAK-2418] int overflow with orderby causing huge slowdown
[OAK-2420] DocumentNodeStore revision GC may lead to NPE
[OAK-2425] DefaultSolrServerProvider should use ConcurrentUpdateSS
for indexing
[OAK-2426] [LucenePropertyIndex] full-text search on first level
relative node returns no result
[OAK-2427] XPath to SQL-2 conversion fails due to escaping error
[OAK-2429] MissingIndexProviderStrategy too eager to set the reindex flag
[OAK-2430] TARMK Cold Standby size increase due to checkpoints copy
[OAK-2433] IllegalStateException for ValueMap on _revisions
[OAK-2434] Lucene AND query with a complex OR phrase returns incorrect result
[OAK-2435] UpdateOp.Key.equals() incorrect
[OAK-2436] LucenePropertyIndex throws IllegalStateException: No
query created for filter when using order by jcr:score
[OAK-2439] IndexPlanner returning plan for queries involving jcr:score
[OAK-2441] Regression with Node.getPrimaryNodeType and
getMixinNodeTypes wrt Jackrabbit 2.x
[OAK-2442] NoSuchElementException thrown by NodeDocument
[OAK-2449] offline compaction (via oak-run) broken
[OAK-2450] MongoDocumentStore fails for DELETED_ONCE indexed property
[OAK-2465] Long overflow in PermissionEntryProviderImpl
[OAK-2475] Query Filter looses property constraints for multiple and
conditions for same property
[OAK-2482] oak-mongo.js does not escape special characters for
regular expressions
[OAK-2486] TokenProviderImpl.createToken should always create valid node
[OAK-2488] Node.getMixinNodeTypes can revive deleted node mixins
[OAK-2489] Remove useless configPath in embedded SolrServer provider
[OAK-2493] DataStore GC: Fix incorrect tests
[OAK-2497] Range query with incorrectly formatted date
[OAK-2503] DataStore: Cleanup tests
[OAK-2508] ACL filtering on spellchecks
[OAK-2513] algorithm with O(n!) in mongoMk rebase - not finishing in years
[OAK-2515] SolrQueryIndex blindly executes a 2nd query to check
there are no more results
[OAK-2521] SegmentDataStoreBlobGCTest failing at some places
[OAK-2524] Error while configuring analyzer by composition
[OAK-2525] SharedDataStoreUtilsTest failing on travis
[OAK-2528] Entries in _commitRoot not purged
[OAK-2531] Suggest field doesn't get stored if it has only one value
[OAK-2535] TARMK Cold Standby allow cleanup on standby instance
[OAK-2536] OakSolrConfigurationProviderService used.properties
initialization fails
[OAK-2540] Session operations null check
[OAK-2541] TARMK Cold Standby marks the sync as stopped on first error
[OAK-2549] Persistent Cache: support append-only mode
[OAK-2557] VersionGC uses way too much memory if there is a large
pile of garbage
[OAK-2558] Wrong interpretation of SegmentNodeStoreService
configuration values
[OAK-2559] Lucene index rules should be case insensitive
[OAK-2562] DiffCache is inefficient
[OAK-2566] PropertyRestriction.isNotNullRestriction does not take
"list" into account
[OAK-2567] AsyncIndex should update the run status after the merge
has completed
[OAK-2576] ServiceEvent on each session login/logout
[OAK-2577] LuceneSupportTest fails
[OAK-2582] RDB: improve memory cache handling
[OAK-2584] Row estimator should have a threshold
[OAK-2588] MultiDocumentStoreTest.testInvalidateCache failing for Mongo
[OAK-2603] Failure in one of the batch in VersionGC might lead to
orphaned nodes
[OAK-2605] Support for additional encodings needed in ReversedLinesFileReader
[OAK-2607] OakSolrConfigurationProviderService wrongly uses
ignoredProperties for usedProperties
[OAK-2611] Lucene suggester should only be updated if the index is
used for suggestions
[OAK-2612] Findbugs plugin version should depend on JDK version
[OAK-2615] oak-pojosr tests fail
[OAK-2616] GCMonitorMBean#getRepositorySize reports incorrect values
[OAK-2639] Incorrect check for log level in PerfLogger
[OAK-2640] export org.apache.jackrabbit.oak.plugins.atomic
[OAK-2642] DocumentNodeStore.dispose() may leave repository in an
inconsistent state
[OAK-2648] ObservationTest.observationDispose() restarts repository
after test finished
[OAK-2649] IndexCopier might create empty files in case of error
occuring while copying
[OAK-2658] Test failures in TarMK standby: Address already in use
[OAK-2659] Failed expectations in TarMK standby tests
[OAK-2661] Glob restriction test failures on Jenkins
[OAK-2666] LMSEstimator update resetting weights
[OAK-2670] Online Backup of segment store fails on Windows because
the journal file is locked exclusively.
[OAK-2672] Possible null pointer dereferences in ExternalLoginModule
[OAK-2691] Blob GC throws NPE
[OAK-2694] Avoid unneeded unboxing in PropertiesUtil
[OAK-2695] DocumentNodeStore.dispatch() may pass null to NodeStateDiff
[OAK-2704] ConcurrentAddIT occasionally fail with OakMerge0001
[OAK-2709] Misleading log message from IndexCopier
[OAK-2715] ObservationTest benchmark logs warnings about IllegalStateException
[OAK-2716] Background operation lock not released when
DocumentNodeStore is closed
[OAK-2718] NodeStateSolrServersObserver performs complete diff
synchronously causing slowness in dispatch
[OAK-2720] Misleading traversal warning message while performing query
[OAK-2725] Wrong indexed query estimates exceed more than double the
actual index entries
Tasks
[OAK-1455] document oak:unstructured performance advantages
[OAK-1533] RdbDocumentStore should use a connection pool
[OAK-1536] Add configuration for baselining-maven-plugin
[OAK-1678] document atomicity of DS.remove(collection, keys)
[OAK-1702] Create a benchmark for Full text search
[OAK-1785] Upgrade HttClient version in oak-solr-osgi
[OAK-1803] Drop oak-mk-perf
[OAK-1896] Move JR2 specific logic from oak-run to separate module
[OAK-2034] Update parent pom.xml to latest 2.9 release
[OAK-2054] MissingLastRevSeeker optimized only for MongoDS
[OAK-2079] Refactor BlobStore creation logic in a BlobStoreFixture
[OAK-2082] Analyze repository growth with Lucene index on SegmentMk
[OAK-2085] Move CacheStats humanReadableByteCount to Oak Commons IOUtils
[OAK-2168] Make SolrIndex implement AdvanceQueryIndex
[OAK-2170] Oak 1.1.x : Document new features in security area
[OAK-2184] Release 1.1.1
[OAK-2208] MissingLastRevSeeker non MongoDS may fail with OOM
[OAK-2352] Release oak-run as part of Oak release
[OAK-2431] Avoid wrapping of LuceneIndexProvider with
AggregateIndexProvider in tests
[OAK-2438] Evaluate support for must(must_not(x)) query with Lucene
[OAK-2578] Add Sling OSGi Mocks to parent pom
[OAK-2583] Use PerfLogger in DocumentNodeStoreBranch
[OAK-2625] Copy Jackrabbit 2 S3 related classes
[OAK-2632] Upgrade Jackrabbit dependency to 2.10.0
[OAK-2653] Deprecate ordered index
[OAK-2664] Move ProgressNotificationEditor from upgrade module to core
[OAK-2693] Retire oak-mk-remote
详细 issues 列表: https://issues.apache.org/jira/browse/OAK
更多内容请看 发行说明 。
Apache Jackrabbit 是由 Apache Foundation 提供的 JSR-170 的开放源码实现..
随着内容管理应用程序的日益普及,对用于内容仓库的普通、标准化 API 的需求已凸现出来。Content Repository for Java Technology API (JSR-170) 的目标就是提供这样一个接口。JSR-170 的一个主要优点是,它不绑定到任何特定的底层架构。例如,JSR-170 实现的后端数据存储可以是文件系统、WebDAV 仓库、支持 XML 的系统,甚至还可以是 SQL 数据库。此外,JSR-170 的导出和导入功能允许一个集成器在内容后端与 JCR 实现之间无缝地切换。