You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by al...@apache.org on 2014/04/03 21:43:04 UTC

svn commit: r1584349 - in /jackrabbit/oak/trunk: RELEASE-NOTES.txt oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/OrderedPropertyIndexEditor.java

Author: alexparvulescu
Date: Thu Apr  3 19:43:03 2014
New Revision: 1584349

URL: http://svn.apache.org/r1584349
Log:
OAK-1675 The OrderedPropertyIndex track WARN and INFO too often
 patch by Davide Giannella


Modified:
    jackrabbit/oak/trunk/RELEASE-NOTES.txt
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/OrderedPropertyIndexEditor.java

Modified: jackrabbit/oak/trunk/RELEASE-NOTES.txt
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/RELEASE-NOTES.txt?rev=1584349&r1=1584348&r2=1584349&view=diff
==============================================================================
--- jackrabbit/oak/trunk/RELEASE-NOTES.txt (original)
+++ jackrabbit/oak/trunk/RELEASE-NOTES.txt Thu Apr  3 19:43:03 2014
@@ -1,4 +1,4 @@
-Release Notes -- Apache Jackrabbit Oak -- Version 0.19
+Release Notes -- Apache Jackrabbit Oak -- Version 0.20.0
 
 Introduction
 ------------
@@ -10,108 +10,148 @@ world-class web sites and  other demandi
 The Oak effort is a part of the Apache Jackrabbit project.
 Apache Jackrabbit is a project of the Apache Software Foundation.
 
-Jackrabbit Oak 0.19 is to alpha-level software. Use at your own risk.
+Jackrabbit Oak 0.20.0 is to alpha-level software. Use at your own risk.
 
-Changes in Oak 0.19
--------------------
+Changes in Oak 0.20.0
+---------------------
 
 New Features
 
-  [OAK-168] Basic JCR VersionManager support
-  [OAK-307] Oak/Solr integration
-  [OAK-516] Create LdapLoginModule based on ExternalLoginModule
-  [OAK-805] Support for existing Jackrabbit 2.x DataStores
-  [OAK-867] Oak whiteboard
-  [OAK-1160] Generic interfaces for operation tasks
-  [OAK-1161] Simple failover for TarMK-based installations
-  [OAK-1333] SegmentMK: Support for Blobs in external storage
-  [OAK-1511] S3 DataStore in Oak (including GC)
-  [OAK-1512] Jackrabbit 2.x DataStore GC for SegmentNodeStore
-  [OAK-1539] Implement JackrabbitObservationManager
+  [OAK-382] JMX service to configure auto-cancel or long running queries
+  [OAK-593] Segment-based MK
+  [OAK-631] SegmentMK: Implement garbage collection
+  [OAK-904] Query: support "union" and "union all"
+  [OAK-1341] DocumentNodeStore: Implement revision garbage collection
+  [OAK-1574] AbstractRebaseDiff: Implement refined conflict resolution for addExistingNode conflicts
+  [OAK-1576] SegmentMK: Implement refined conflict resolution for addExistingNode conflicts
+  [OAK-1577] H2MK: Implement refined conflict resolution for addExistingNode conflicts
+  [OAK-1636] Solr index: support "jcr:score"
 
 Improvements
 
-  [OAK-17] Modularisation and configuration concept
-  [OAK-150] Basic JCR LockManager support
-  [OAK-377] Data store garbage collection
-  [OAK-458] Define upgrade from Jackrabbit2.x to Jackrabbit OAK
-  [OAK-650] Move SegmentNodeStoreBranch.RebaseDiff to utility package
-  [OAK-700] Fix OSGi deployment for Oak based SolrServers
-  [OAK-759] MongoMK: read from a secondary member when possible
-  [OAK-850] Degrade gracefully when :childOrder is out of sync
-  [OAK-1013] Node.addNode(name) different behavior from JR if NodeType resolves to an abstract
-  [OAK-1153] Write test to measure throughput on Mongo with multiple reader and writer
-  [OAK-1251] DocumentStore refactoring
-  [OAK-1261] Enable LDAP related tests
-  [OAK-1263] optimize oak index to support 'fast ORDER BY' queries to support sorting & pagination for large set of children
-  [OAK-1355] ResultSet.getSize returns -1 failing QueryResultTest
-  [OAK-1390] Document the migration from Jackrabbit Classic to Oak
-  [OAK-1423] SegmentMK: Add index(es) to tar file backend
-  [OAK-1426] Cleanup options in oak-run
-  [OAK-1434] Cleanup dependencies of oak-core
-  [OAK-1443] Oak Solr indexer should be resilient to Solr failures
-  [OAK-1444] Improve precision of Solr default analyzers
-  [OAK-1454] Warn on huge multi-valued properties
-  [OAK-1475] Make Oak Solr bundle a fragment of Oak Lucene
-  [OAK-1484] additional observation queue jmx attributes
-  [OAK-1497] JackrabbitEvent#isExternal() returns true for internal changes for slow listeners
-  [OAK-1499] SolrIndexEditor should cache indexing requests if Solr is not reachable
-  [OAK-1502] Make DataStores available to NodeStores
-  [OAK-1504] Create benchmark tests to measure effect of mod_count and everyone cache
-  [OAK-1505] Benchmark for Session#hasPermission
-  [OAK-1507] Expose MLT feature for Lucene index
-  [OAK-1508] Binary less transport of content support
-  [OAK-1509] AbstractBlobStore: use a concurrent cache
-  [OAK-1510] MongoDB / DocumentNodeStore DataStore GC performance
-  [OAK-1514] Support for Sling JcrResourceListener
-  [OAK-1518] Relaxed type checking during upgrade
-  [OAK-1519] UserAuthentication: Return false if userId cannot be resolved
-  [OAK-1521] Remove dependency on com.googlecode.json-simple from oak-core
-  [OAK-1527] Remove dependency on commons-beanutils
-  [OAK-1528] Update Slf4j Api dependency to 1.7.6
-  [OAK-1534] Clock improvements
-  [OAK-1538] Create OSGi package for oak-solr indexer
-  [OAK-1540] Switch Jackrabbit dependency to 2.8-SNAPSHOT and back once we have JCR-3745 released
-  [OAK-1547] Simplify management of Solr configuration changes in SolrServerProviderService
-  [OAK-1548] Updated bundled solrconfig.xml to support latest improvements
-  [OAK-1551] EmbeddedSolrServerProvider should not let JettySolrRunner running
-  [OAK-1552] Switch to newest solr.xml file format
-  [OAK-1563] FullTextConstraint support in SolrQueryIndex
-  [OAK-1565] Optimize repository upgrade by loading bundles where possible
-  [OAK-1572] Add checkpoint operation to the filestore jmx api
+  [OAK-262] Query: support pseudo properties like jcr:score() and rep:excerpt()
+  [OAK-319] Similar (rep:similar) support
+  [OAK-321] Deref (jcr:deref) support
+  [OAK-327] XPath 'eq' support and related
+  [OAK-1056] Transient changes contributed by commit hooks are kept in memory
+  [OAK-1295] Recovery for missing _lastRev updates
+  [OAK-1329] Relaxed JCR locking behavior
+  [OAK-1342] Cascading document history
+  [OAK-1446] Offline tool to repair TarMK
+  [OAK-1448] Tool to detect and possibly fix permission store inconsistencies
+  [OAK-1452] Expose query plans
+  [OAK-1453] MongoMK failover support for replica sets (esp. shards)
+  [OAK-1456] Non-blocking reindexing
+  [OAK-1489] ValueImpl should implement JackrabbitValue
+  [OAK-1496] Benchmark for concurrent file writes.
+  [OAK-1500] Verify restore to revision on MongoNS
+  [OAK-1513] Analyze the OSGi configuration PID used by various OSGi components in Oak
+  [OAK-1543] Document the configuration steps for DataStore and BlobStores
+  [OAK-1553] More sophisticated conflict resolution when concurrently adding nodes
+  [OAK-1559] Expose BlobGCMBean for supported NodeStores
+  [OAK-1560] Expose RevisionGCMBean for supported NodeStores
+  [OAK-1561] Implement optimised range queries
+  [OAK-1567] Return Iterator instead of returning List in DocumentStore.query
+  [OAK-1568] Provide flag to not cache documents from queries
+  [OAK-1570] Improve perfomances of the OrderedIndex while insert
+  [OAK-1571] OSGi Configuration for Query Limits
+  [OAK-1573] Document External Login and LDAP specifically
+  [OAK-1578] Configurable size of capped collection used by MongoDiffCache
+  [OAK-1592] Performance of Session#hasPermission
+  [OAK-1593] Guard against NPE in ConfigurationParameters.of(ConfigurationParameters...)
+  [OAK-1601] Log warning on concurrent session access
+  [OAK-1603] Operations tasks api improvements
+  [OAK-1606] Omit warnings about accessing commit related info when external events are excluded
+  [OAK-1607] EmbeddedSolrServerConfigurationProvider should not expose HTTP configuration
+  [OAK-1608] Let oak-solr-osgi start also in containers different than Jetty
+  [OAK-1612] Limit number of wildcards in rep:glob
+  [OAK-1616] Password utility: prevent timing attacks
+  [OAK-1617] Automatically convert "or" queries to "union" for SQL-2
+  [OAK-1627] Use non-orderable child nodes in ObservationRefreshTest
+  [OAK-1637] SolrIndexInitializer should be more configurable
+  [OAK-1638] Add QueryJcrTest suite coverage to Solr indexer
+  [OAK-1640] When modifying node types, revalidate only affected content
+  [OAK-1643] Implement BlobReferenceIterator optimized for Mongo
+  [OAK-1646] MarkSweepGarbageCollector - Improvements in exception handling and initialization
+  [OAK-1647] AsyncIndexUpdateTask creating too many checkpoint
+  [OAK-1651] Fix oak-solr-core pom dependencies
+  [OAK-1656] Provide lazy iterator for FileDataStore.getAllIdentifiers
+  [OAK-1657] Don't expand FT conditions if FT constraints are available
+  [OAK-1659] Improve CommitRateLimiter to delay commits
+  [OAK-1660] SegmentMK: Optimize reading of large binaries
+  [OAK-1661] JCR Event Info should contain NodeType for Events Type Node-Deleted
+  [OAK-1671] Use request handlers instead of search components in Solr native support
+  [OAK-1673] FulltextQueryTest coverage for Solr indexer
 
 Bugs
 
-  [OAK-333] 1000 byte path limit in MongoMK
-  [OAK-622] Improve QueryIndex interface
-  [OAK-771] Correct behavior for strange node and property names
-  [OAK-1166] Warnings on concurrent async index update
-  [OAK-1226] Hidden item handling in VersionEditor
-  [OAK-1291] RandomizedReadTest fails with OutOfMemoryError: PermGen space
-  [OAK-1416] Adding many siblings does not scale as expected in the number of added nodes
-  [OAK-1418] Read performance regression
-  [OAK-1429] Slow event listeners do not scale as expected
-  [OAK-1471] Mod count in permission store requires cluster wide synchronization
-  [OAK-1476] Hardcoded SecurityProvider implementation in oak-jcr Activator
-  [OAK-1516] PhraseQuery fails due to missing posiion info in indexed fields
-  [OAK-1520] Native pass-through queries combined with other conditions might not work
-  [OAK-1523] Remove Bundle Activator which are not required
-  [OAK-1524] NPE in TarMK flush thread
-  [OAK-1525] VersionHistory.getAllVersions must be sorted by date for linear version histories
-  [OAK-1526] Lock contention in SegmentIdFactory
-  [OAK-1530] TarMK thread logs warning
-  [OAK-1531] OrderedPropertyIndex logs many warnings
-  [OAK-1532] ShareableNodesTest.testAddShareableMixin failures
-  [OAK-1535] ClockTest.testClockDrift failures
-  [OAK-1537] Merge oak-solr-* into oak-solr-core
-  [OAK-1545] NPE in SegmentTracker
-  [OAK-1546] Switch Lucene dependency to oak core tests to test scope
-  [OAK-1549] AbstractRebaseDiff incorrectly handles conflict in added nodes
-  [OAK-1555] Inefficient node state diff with old revisions
-  [OAK-1562] BackgroundObserver not closed in ChangeProcessor
+  [OAK-204] short cutting the name mapping breaks path validation in value factory
+  [OAK-828] Full-text support for index aggregates
+  [OAK-955] Query: Filter doesn't contain fulltext constraints from joins
+  [OAK-1168] Invalid JCR paths not caught
+  [OAK-1174] Inconsistent handling of invalid names/paths
+  [OAK-1267] Failure in ObservationRefreshTest
+  [OAK-1304] createQuery(query,Query.JCR_JQOM) is returning QueryImpl instead of QueryObjectModel
+  [OAK-1344] HierarchicalInvalidator hits query size limit
+  [OAK-1410] Allow automatic propagation of oak-whiteboard when adding security manager
+  [OAK-1415] OOME when moving large subtree
+  [OAK-1465] performance degradation with growing index size on Oak-Mongo
+  [OAK-1472] ConcurrentAddReferenceTest#addReferences still fails
+  [OAK-1488] ConcurrentAddRemoveIT, ConcurrentAddIT test failures
+  [OAK-1491] ObservationTest failure on Windows
+  [OAK-1541] Concurrent creation of users chokes on intermediate paths
+  [OAK-1554] Clarify behaviour for BlobStore api for invalid arguments
+  [OAK-1564] ClockTest on Windows fails
+  [OAK-1566] ArrayIndexOutOfBoundsException in Segment.getRefId()
+  [OAK-1569] ClusterPermissionsTest occasionally fails on Windows
+  [OAK-1579] ConcurrentAddNodesClusterIT.addNodes2() fails on travis
+  [OAK-1580] DBCursor close missing
+  [OAK-1581] NPE in OsgiWhiteboard#track()
+  [OAK-1582] ClassCastException in MarkSweepGarbageCollector#init()
+  [OAK-1583] Adjust release check script to remove all hidden files from the source comparison
+  [OAK-1584] Performance regression of adding and removing child nodes after OAK-850
+  [OAK-1585] rollback logic issues incorrect Updates
+  [OAK-1586] Implement checkpoint support in DocumentNodeStore
+  [OAK-1587] NoSuchElementException in SegmentTracker.getSegment()
+  [OAK-1588] Create more tests/validation to LDAP integration
+  [OAK-1591] org.apache.jackrabbit.oak.plugins.document.mongo.CacheInvalidationIT fails
+  [OAK-1594] Build fails on Java 8
+  [OAK-1595] Permissions#getPermissions(String, TreeLocation, boolean) does not work for permissions names
+  [OAK-1596] Provide mechanism for pre authenticated shared credentials
+  [OAK-1597] QueryStat MBean does not log any query
+  [OAK-1602] 512 byte shard key limit in MongoMK
+  [OAK-1604] Support for signed references in Blob
+  [OAK-1605] Running into endless loop due to tika 1.4
+  [OAK-1613] Node aggregation over multiple levels does't work
+  [OAK-1614] Oak Analyzer can't tokenize chinese phrases
+  [OAK-1615] Incomplete escaping in XPathConditionVisitor
+  [OAK-1620] Index cost calculation integer overflow
+  [OAK-1621] NPE on concurrent session usage
+  [OAK-1622] Duplicate configuration services (regression of OAK-1476)
+  [OAK-1623] TokenConfiguration expects nested configuration options
+  [OAK-1624] Item names with trailing spaces should not be allowed
+  [OAK-1625] SegmentTracker: Blob references not added
+  [OAK-1630] Solr parse exceptions for and/or full text expressions
+  [OAK-1632] Solr parse exception for primary type restriction
+  [OAK-1634] After crash, segment persistence is broken with failures in java.nio classes (with v0.19)
+  [OAK-1635] SolrIndexEditor should better escape path when deleting
+  [OAK-1644] Has Binary flag should also be copied to split documents
+  [OAK-1649] NamespaceException: OakNamespace0005 on save, after replica crash
+  [OAK-1650] NPE and MicroKernelException: The node .. does not exist, on replica primary crash during save
+  [OAK-1652] Incorrect name mapping in NodeObserver
+  [OAK-1654] Composite index aggregates
+  [OAK-1655] DataStoreBlobStore does not take into maxLastModifiedTime when fetching all chunks
+  [OAK-1662] Node not accessible after document split
+  [OAK-1663] Long running RevisionTest
+  [OAK-1664] org.apache.jackrabbit.oak.namepath package missing package-info file
+  [OAK-1668] Lucene should not serve queries for what it doesn't index
+  [OAK-1670] ConnectedHead.update() passes current state on to Unconnected instead of base state
+  [OAK-1672] TarFileTest#testWriteAndRead failure
+  [OAK-1675] The OrderedPropertyIndex track WARN and INFO too often
+
 
 In addition to the above-mentioned changes, this release contains
-all the changes included up to the Apache Jackrabbit Oak 0.18 release.
+all the changes included up to the Apache Jackrabbit Oak 0.19 release.
 
 For more detailed information about all the changes in this and other
 Oak releases, please see the Oak issue tracker at

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/OrderedPropertyIndexEditor.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/OrderedPropertyIndexEditor.java?rev=1584349&r1=1584348&r2=1584349&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/OrderedPropertyIndexEditor.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/OrderedPropertyIndexEditor.java Thu Apr  3 19:43:03 2014
@@ -70,8 +70,8 @@ public class OrderedPropertyIndexEditor 
             if (Strings.isNullOrEmpty(value)) {
                 LOG.warn("Empty value passed as propertyNames. Index not properly configured. Ignoring.");
             } else {
-                if (names.isArray()) {
-                    LOG.warn("Only single value supported. '{}' only will be used.", value);
+                if (names.isArray() && names.count() > 1) {
+                    LOG.debug("Only single value supported. '{}' only will be used.", value);
                 }
                 pns = Collections.singleton(value);
                 this.properlyConfigured = true;
@@ -82,7 +82,7 @@ public class OrderedPropertyIndexEditor 
         // configuring direction
         String propertyDirection = definition.getString(OrderedIndex.DIRECTION);
         if (propertyDirection == null) {
-            LOG.info("Using default direction for sorting: {}", this.direction);
+            // LOG.debug("Using default direction for sorting: {}", this.direction);
         } else {
             OrderDirection dir = OrderDirection.fromString(propertyDirection);
             if (dir == null) {



Re: svn commit: r1584349 - in /jackrabbit/oak/trunk: RELEASE-NOTES.txt oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/OrderedPropertyIndexEditor.java

Posted by Alex Parvulescu <al...@apache.org>.
pushed out by mistake, trying to fix now


On Thu, Apr 3, 2014 at 9:43 PM, <al...@apache.org> wrote:

> Author: alexparvulescu
> Date: Thu Apr  3 19:43:03 2014
> New Revision: 1584349
>
> URL: http://svn.apache.org/r1584349
> Log:
> OAK-1675 The OrderedPropertyIndex track WARN and INFO too often
>  patch by Davide Giannella
>
>
> Modified:
>     jackrabbit/oak/trunk/RELEASE-NOTES.txt
>
> jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/OrderedPropertyIndexEditor.java
>
> Modified: jackrabbit/oak/trunk/RELEASE-NOTES.txt
> URL:
> http://svn.apache.org/viewvc/jackrabbit/oak/trunk/RELEASE-NOTES.txt?rev=1584349&r1=1584348&r2=1584349&view=diff
>
> ==============================================================================
> --- jackrabbit/oak/trunk/RELEASE-NOTES.txt (original)
> +++ jackrabbit/oak/trunk/RELEASE-NOTES.txt Thu Apr  3 19:43:03 2014
> @@ -1,4 +1,4 @@
> -Release Notes -- Apache Jackrabbit Oak -- Version 0.19
> +Release Notes -- Apache Jackrabbit Oak -- Version 0.20.0
>
>  Introduction
>  ------------
> @@ -10,108 +10,148 @@ world-class web sites and  other demandi
>  The Oak effort is a part of the Apache Jackrabbit project.
>  Apache Jackrabbit is a project of the Apache Software Foundation.
>
> -Jackrabbit Oak 0.19 is to alpha-level software. Use at your own risk.
> +Jackrabbit Oak 0.20.0 is to alpha-level software. Use at your own risk.
>
> -Changes in Oak 0.19
> --------------------
> +Changes in Oak 0.20.0
> +---------------------
>
>  New Features
>
> -  [OAK-168] Basic JCR VersionManager support
> -  [OAK-307] Oak/Solr integration
> -  [OAK-516] Create LdapLoginModule based on ExternalLoginModule
> -  [OAK-805] Support for existing Jackrabbit 2.x DataStores
> -  [OAK-867] Oak whiteboard
> -  [OAK-1160] Generic interfaces for operation tasks
> -  [OAK-1161] Simple failover for TarMK-based installations
> -  [OAK-1333] SegmentMK: Support for Blobs in external storage
> -  [OAK-1511] S3 DataStore in Oak (including GC)
> -  [OAK-1512] Jackrabbit 2.x DataStore GC for SegmentNodeStore
> -  [OAK-1539] Implement JackrabbitObservationManager
> +  [OAK-382] JMX service to configure auto-cancel or long running queries
> +  [OAK-593] Segment-based MK
> +  [OAK-631] SegmentMK: Implement garbage collection
> +  [OAK-904] Query: support "union" and "union all"
> +  [OAK-1341] DocumentNodeStore: Implement revision garbage collection
> +  [OAK-1574] AbstractRebaseDiff: Implement refined conflict resolution
> for addExistingNode conflicts
> +  [OAK-1576] SegmentMK: Implement refined conflict resolution for
> addExistingNode conflicts
> +  [OAK-1577] H2MK: Implement refined conflict resolution for
> addExistingNode conflicts
> +  [OAK-1636] Solr index: support "jcr:score"
>
>  Improvements
>
> -  [OAK-17] Modularisation and configuration concept
> -  [OAK-150] Basic JCR LockManager support
> -  [OAK-377] Data store garbage collection
> -  [OAK-458] Define upgrade from Jackrabbit2.x to Jackrabbit OAK
> -  [OAK-650] Move SegmentNodeStoreBranch.RebaseDiff to utility package
> -  [OAK-700] Fix OSGi deployment for Oak based SolrServers
> -  [OAK-759] MongoMK: read from a secondary member when possible
> -  [OAK-850] Degrade gracefully when :childOrder is out of sync
> -  [OAK-1013] Node.addNode(name) different behavior from JR if NodeType
> resolves to an abstract
> -  [OAK-1153] Write test to measure throughput on Mongo with multiple
> reader and writer
> -  [OAK-1251] DocumentStore refactoring
> -  [OAK-1261] Enable LDAP related tests
> -  [OAK-1263] optimize oak index to support 'fast ORDER BY' queries to
> support sorting & pagination for large set of children
> -  [OAK-1355] ResultSet.getSize returns -1 failing QueryResultTest
> -  [OAK-1390] Document the migration from Jackrabbit Classic to Oak
> -  [OAK-1423] SegmentMK: Add index(es) to tar file backend
> -  [OAK-1426] Cleanup options in oak-run
> -  [OAK-1434] Cleanup dependencies of oak-core
> -  [OAK-1443] Oak Solr indexer should be resilient to Solr failures
> -  [OAK-1444] Improve precision of Solr default analyzers
> -  [OAK-1454] Warn on huge multi-valued properties
> -  [OAK-1475] Make Oak Solr bundle a fragment of Oak Lucene
> -  [OAK-1484] additional observation queue jmx attributes
> -  [OAK-1497] JackrabbitEvent#isExternal() returns true for internal
> changes for slow listeners
> -  [OAK-1499] SolrIndexEditor should cache indexing requests if Solr is
> not reachable
> -  [OAK-1502] Make DataStores available to NodeStores
> -  [OAK-1504] Create benchmark tests to measure effect of mod_count and
> everyone cache
> -  [OAK-1505] Benchmark for Session#hasPermission
> -  [OAK-1507] Expose MLT feature for Lucene index
> -  [OAK-1508] Binary less transport of content support
> -  [OAK-1509] AbstractBlobStore: use a concurrent cache
> -  [OAK-1510] MongoDB / DocumentNodeStore DataStore GC performance
> -  [OAK-1514] Support for Sling JcrResourceListener
> -  [OAK-1518] Relaxed type checking during upgrade
> -  [OAK-1519] UserAuthentication: Return false if userId cannot be resolved
> -  [OAK-1521] Remove dependency on com.googlecode.json-simple from oak-core
> -  [OAK-1527] Remove dependency on commons-beanutils
> -  [OAK-1528] Update Slf4j Api dependency to 1.7.6
> -  [OAK-1534] Clock improvements
> -  [OAK-1538] Create OSGi package for oak-solr indexer
> -  [OAK-1540] Switch Jackrabbit dependency to 2.8-SNAPSHOT and back once
> we have JCR-3745 released
> -  [OAK-1547] Simplify management of Solr configuration changes in
> SolrServerProviderService
> -  [OAK-1548] Updated bundled solrconfig.xml to support latest improvements
> -  [OAK-1551] EmbeddedSolrServerProvider should not let JettySolrRunner
> running
> -  [OAK-1552] Switch to newest solr.xml file format
> -  [OAK-1563] FullTextConstraint support in SolrQueryIndex
> -  [OAK-1565] Optimize repository upgrade by loading bundles where possible
> -  [OAK-1572] Add checkpoint operation to the filestore jmx api
> +  [OAK-262] Query: support pseudo properties like jcr:score() and
> rep:excerpt()
> +  [OAK-319] Similar (rep:similar) support
> +  [OAK-321] Deref (jcr:deref) support
> +  [OAK-327] XPath 'eq' support and related
> +  [OAK-1056] Transient changes contributed by commit hooks are kept in
> memory
> +  [OAK-1295] Recovery for missing _lastRev updates
> +  [OAK-1329] Relaxed JCR locking behavior
> +  [OAK-1342] Cascading document history
> +  [OAK-1446] Offline tool to repair TarMK
> +  [OAK-1448] Tool to detect and possibly fix permission store
> inconsistencies
> +  [OAK-1452] Expose query plans
> +  [OAK-1453] MongoMK failover support for replica sets (esp. shards)
> +  [OAK-1456] Non-blocking reindexing
> +  [OAK-1489] ValueImpl should implement JackrabbitValue
> +  [OAK-1496] Benchmark for concurrent file writes.
> +  [OAK-1500] Verify restore to revision on MongoNS
> +  [OAK-1513] Analyze the OSGi configuration PID used by various OSGi
> components in Oak
> +  [OAK-1543] Document the configuration steps for DataStore and BlobStores
> +  [OAK-1553] More sophisticated conflict resolution when concurrently
> adding nodes
> +  [OAK-1559] Expose BlobGCMBean for supported NodeStores
> +  [OAK-1560] Expose RevisionGCMBean for supported NodeStores
> +  [OAK-1561] Implement optimised range queries
> +  [OAK-1567] Return Iterator instead of returning List in
> DocumentStore.query
> +  [OAK-1568] Provide flag to not cache documents from queries
> +  [OAK-1570] Improve perfomances of the OrderedIndex while insert
> +  [OAK-1571] OSGi Configuration for Query Limits
> +  [OAK-1573] Document External Login and LDAP specifically
> +  [OAK-1578] Configurable size of capped collection used by MongoDiffCache
> +  [OAK-1592] Performance of Session#hasPermission
> +  [OAK-1593] Guard against NPE in
> ConfigurationParameters.of(ConfigurationParameters...)
> +  [OAK-1601] Log warning on concurrent session access
> +  [OAK-1603] Operations tasks api improvements
> +  [OAK-1606] Omit warnings about accessing commit related info when
> external events are excluded
> +  [OAK-1607] EmbeddedSolrServerConfigurationProvider should not expose
> HTTP configuration
> +  [OAK-1608] Let oak-solr-osgi start also in containers different than
> Jetty
> +  [OAK-1612] Limit number of wildcards in rep:glob
> +  [OAK-1616] Password utility: prevent timing attacks
> +  [OAK-1617] Automatically convert "or" queries to "union" for SQL-2
> +  [OAK-1627] Use non-orderable child nodes in ObservationRefreshTest
> +  [OAK-1637] SolrIndexInitializer should be more configurable
> +  [OAK-1638] Add QueryJcrTest suite coverage to Solr indexer
> +  [OAK-1640] When modifying node types, revalidate only affected content
> +  [OAK-1643] Implement BlobReferenceIterator optimized for Mongo
> +  [OAK-1646] MarkSweepGarbageCollector - Improvements in exception
> handling and initialization
> +  [OAK-1647] AsyncIndexUpdateTask creating too many checkpoint
> +  [OAK-1651] Fix oak-solr-core pom dependencies
> +  [OAK-1656] Provide lazy iterator for FileDataStore.getAllIdentifiers
> +  [OAK-1657] Don't expand FT conditions if FT constraints are available
> +  [OAK-1659] Improve CommitRateLimiter to delay commits
> +  [OAK-1660] SegmentMK: Optimize reading of large binaries
> +  [OAK-1661] JCR Event Info should contain NodeType for Events Type
> Node-Deleted
> +  [OAK-1671] Use request handlers instead of search components in Solr
> native support
> +  [OAK-1673] FulltextQueryTest coverage for Solr indexer
>
>  Bugs
>
> -  [OAK-333] 1000 byte path limit in MongoMK
> -  [OAK-622] Improve QueryIndex interface
> -  [OAK-771] Correct behavior for strange node and property names
> -  [OAK-1166] Warnings on concurrent async index update
> -  [OAK-1226] Hidden item handling in VersionEditor
> -  [OAK-1291] RandomizedReadTest fails with OutOfMemoryError: PermGen space
> -  [OAK-1416] Adding many siblings does not scale as expected in the
> number of added nodes
> -  [OAK-1418] Read performance regression
> -  [OAK-1429] Slow event listeners do not scale as expected
> -  [OAK-1471] Mod count in permission store requires cluster wide
> synchronization
> -  [OAK-1476] Hardcoded SecurityProvider implementation in oak-jcr
> Activator
> -  [OAK-1516] PhraseQuery fails due to missing posiion info in indexed
> fields
> -  [OAK-1520] Native pass-through queries combined with other conditions
> might not work
> -  [OAK-1523] Remove Bundle Activator which are not required
> -  [OAK-1524] NPE in TarMK flush thread
> -  [OAK-1525] VersionHistory.getAllVersions must be sorted by date for
> linear version histories
> -  [OAK-1526] Lock contention in SegmentIdFactory
> -  [OAK-1530] TarMK thread logs warning
> -  [OAK-1531] OrderedPropertyIndex logs many warnings
> -  [OAK-1532] ShareableNodesTest.testAddShareableMixin failures
> -  [OAK-1535] ClockTest.testClockDrift failures
> -  [OAK-1537] Merge oak-solr-* into oak-solr-core
> -  [OAK-1545] NPE in SegmentTracker
> -  [OAK-1546] Switch Lucene dependency to oak core tests to test scope
> -  [OAK-1549] AbstractRebaseDiff incorrectly handles conflict in added
> nodes
> -  [OAK-1555] Inefficient node state diff with old revisions
> -  [OAK-1562] BackgroundObserver not closed in ChangeProcessor
> +  [OAK-204] short cutting the name mapping breaks path validation in
> value factory
> +  [OAK-828] Full-text support for index aggregates
> +  [OAK-955] Query: Filter doesn't contain fulltext constraints from joins
> +  [OAK-1168] Invalid JCR paths not caught
> +  [OAK-1174] Inconsistent handling of invalid names/paths
> +  [OAK-1267] Failure in ObservationRefreshTest
> +  [OAK-1304] createQuery(query,Query.JCR_JQOM) is returning QueryImpl
> instead of QueryObjectModel
> +  [OAK-1344] HierarchicalInvalidator hits query size limit
> +  [OAK-1410] Allow automatic propagation of oak-whiteboard when adding
> security manager
> +  [OAK-1415] OOME when moving large subtree
> +  [OAK-1465] performance degradation with growing index size on Oak-Mongo
> +  [OAK-1472] ConcurrentAddReferenceTest#addReferences still fails
> +  [OAK-1488] ConcurrentAddRemoveIT, ConcurrentAddIT test failures
> +  [OAK-1491] ObservationTest failure on Windows
> +  [OAK-1541] Concurrent creation of users chokes on intermediate paths
> +  [OAK-1554] Clarify behaviour for BlobStore api for invalid arguments
> +  [OAK-1564] ClockTest on Windows fails
> +  [OAK-1566] ArrayIndexOutOfBoundsException in Segment.getRefId()
> +  [OAK-1569] ClusterPermissionsTest occasionally fails on Windows
> +  [OAK-1579] ConcurrentAddNodesClusterIT.addNodes2() fails on travis
> +  [OAK-1580] DBCursor close missing
> +  [OAK-1581] NPE in OsgiWhiteboard#track()
> +  [OAK-1582] ClassCastException in MarkSweepGarbageCollector#init()
> +  [OAK-1583] Adjust release check script to remove all hidden files from
> the source comparison
> +  [OAK-1584] Performance regression of adding and removing child nodes
> after OAK-850
> +  [OAK-1585] rollback logic issues incorrect Updates
> +  [OAK-1586] Implement checkpoint support in DocumentNodeStore
> +  [OAK-1587] NoSuchElementException in SegmentTracker.getSegment()
> +  [OAK-1588] Create more tests/validation to LDAP integration
> +  [OAK-1591]
> org.apache.jackrabbit.oak.plugins.document.mongo.CacheInvalidationIT fails
> +  [OAK-1594] Build fails on Java 8
> +  [OAK-1595] Permissions#getPermissions(String, TreeLocation, boolean)
> does not work for permissions names
> +  [OAK-1596] Provide mechanism for pre authenticated shared credentials
> +  [OAK-1597] QueryStat MBean does not log any query
> +  [OAK-1602] 512 byte shard key limit in MongoMK
> +  [OAK-1604] Support for signed references in Blob
> +  [OAK-1605] Running into endless loop due to tika 1.4
> +  [OAK-1613] Node aggregation over multiple levels does't work
> +  [OAK-1614] Oak Analyzer can't tokenize chinese phrases
> +  [OAK-1615] Incomplete escaping in XPathConditionVisitor
> +  [OAK-1620] Index cost calculation integer overflow
> +  [OAK-1621] NPE on concurrent session usage
> +  [OAK-1622] Duplicate configuration services (regression of OAK-1476)
> +  [OAK-1623] TokenConfiguration expects nested configuration options
> +  [OAK-1624] Item names with trailing spaces should not be allowed
> +  [OAK-1625] SegmentTracker: Blob references not added
> +  [OAK-1630] Solr parse exceptions for and/or full text expressions
> +  [OAK-1632] Solr parse exception for primary type restriction
> +  [OAK-1634] After crash, segment persistence is broken with failures in
> java.nio classes (with v0.19)
> +  [OAK-1635] SolrIndexEditor should better escape path when deleting
> +  [OAK-1644] Has Binary flag should also be copied to split documents
> +  [OAK-1649] NamespaceException: OakNamespace0005 on save, after replica
> crash
> +  [OAK-1650] NPE and MicroKernelException: The node .. does not exist, on
> replica primary crash during save
> +  [OAK-1652] Incorrect name mapping in NodeObserver
> +  [OAK-1654] Composite index aggregates
> +  [OAK-1655] DataStoreBlobStore does not take into maxLastModifiedTime
> when fetching all chunks
> +  [OAK-1662] Node not accessible after document split
> +  [OAK-1663] Long running RevisionTest
> +  [OAK-1664] org.apache.jackrabbit.oak.namepath package missing
> package-info file
> +  [OAK-1668] Lucene should not serve queries for what it doesn't index
> +  [OAK-1670] ConnectedHead.update() passes current state on to
> Unconnected instead of base state
> +  [OAK-1672] TarFileTest#testWriteAndRead failure
> +  [OAK-1675] The OrderedPropertyIndex track WARN and INFO too often
> +
>
>  In addition to the above-mentioned changes, this release contains
> -all the changes included up to the Apache Jackrabbit Oak 0.18 release.
> +all the changes included up to the Apache Jackrabbit Oak 0.19 release.
>
>  For more detailed information about all the changes in this and other
>  Oak releases, please see the Oak issue tracker at
>
> Modified:
> jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/OrderedPropertyIndexEditor.java
> URL:
> http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/OrderedPropertyIndexEditor.java?rev=1584349&r1=1584348&r2=1584349&view=diff
>
> ==============================================================================
> ---
> jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/OrderedPropertyIndexEditor.java
> (original)
> +++
> jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/OrderedPropertyIndexEditor.java
> Thu Apr  3 19:43:03 2014
> @@ -70,8 +70,8 @@ public class OrderedPropertyIndexEditor
>              if (Strings.isNullOrEmpty(value)) {
>                  LOG.warn("Empty value passed as propertyNames. Index not
> properly configured. Ignoring.");
>              } else {
> -                if (names.isArray()) {
> -                    LOG.warn("Only single value supported. '{}' only will
> be used.", value);
> +                if (names.isArray() && names.count() > 1) {
> +                    LOG.debug("Only single value supported. '{}' only
> will be used.", value);
>                  }
>                  pns = Collections.singleton(value);
>                  this.properlyConfigured = true;
> @@ -82,7 +82,7 @@ public class OrderedPropertyIndexEditor
>          // configuring direction
>          String propertyDirection =
> definition.getString(OrderedIndex.DIRECTION);
>          if (propertyDirection == null) {
> -            LOG.info("Using default direction for sorting: {}",
> this.direction);
> +            // LOG.debug("Using default direction for sorting: {}",
> this.direction);
>          } else {
>              OrderDirection dir =
> OrderDirection.fromString(propertyDirection);
>              if (dir == null) {
>
>
>