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);
}