Author: thomasm Date: Fri Sep 16 09:55:48 2016 New Revision: 1761016 URL: http://svn.apache.org/viewvc?rev=1761016&view=rev Log: OAK-4815 ReferenceIndex slowdown due to OAK-3403
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/reference/ReferenceIndex.java jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryEngineSettings.java Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/reference/ReferenceIndex.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/reference/ReferenceIndex.java?rev=1761016&r1=1761015&r2=1761016&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/reference/ReferenceIndex.java (original) +++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/reference/ReferenceIndex.java Fri Sep 16 09:55:48 2016 @@ -36,7 +36,6 @@ import java.util.Set; import org.apache.jackrabbit.oak.plugins.index.property.Multiplexers; import org.apache.jackrabbit.oak.plugins.index.property.strategy.IndexStoreStrategy; -import org.apache.jackrabbit.oak.query.index.FilterImpl; import org.apache.jackrabbit.oak.spi.mount.MountInfoProvider; import org.apache.jackrabbit.oak.spi.mount.Mounts; import org.apache.jackrabbit.oak.spi.query.Cursor; @@ -134,7 +133,7 @@ class ReferenceIndex implements QueryInd } List<Iterable<String>> iterables = Lists.newArrayList(); for (IndexStoreStrategy s : getStrategies(indexRoot, mountInfoProvider, index)) { - iterables.add(s.query(new FilterImpl(), index + "(" + iterables.add(s.query(filter, index + "(" + uuid + ")", indexRoot, ImmutableSet.of(uuid))); } Iterable<String> paths = Iterables.concat(iterables); Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryEngineSettings.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryEngineSettings.java?rev=1761016&r1=1761015&r2=1761016&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryEngineSettings.java (original) +++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryEngineSettings.java Fri Sep 16 09:55:48 2016 @@ -50,6 +50,12 @@ public class QueryEngineSettings extends private boolean sql2Optimisation = Boolean.parseBoolean(System.getProperty(SQL2_OPTIMISATION_FLAG, "true")); + /** + * Create a new query engine settings object. Creating the object is + * relatively slow, and at runtime, as few such objects as possible should + * be created (ideally, only one per Oak instance). Creating new instances + * also means they can not be configured using JMX, as one would expect. + */ public QueryEngineSettings() { super(QueryEngineSettingsMBean.class); }