转载

Apache Jackrabbit Oak 1.2.0 发布

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 实现之间无缝地切换。

Apache Jackrabbit Oak 1.2.0 发布

正文到此结束
Loading...