You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by sn...@apache.org on 2015/07/30 19:19:57 UTC
[19/25] incubator-usergrid git commit: Configures thread pool
Configures thread pool
Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/bbd56378
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/bbd56378
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/bbd56378
Branch: refs/heads/master
Commit: bbd563787b07a9bbc2f4a1647573a8c8ffedbc6e
Parents: 9a92fcc
Author: Todd Nine <tn...@apigee.com>
Authored: Wed Jul 8 14:46:56 2015 -0600
Committer: Todd Nine <tn...@apigee.com>
Committed: Wed Jul 8 14:46:56 2015 -0600
----------------------------------------------------------------------
.../main/resources/usergrid-default.properties | 3 +
.../src/test/resources/usergrid-test.properties | 3 +
.../cassandra/EntityManagerFactoryImpl.java | 2 +-
.../cassandra/EntityManagerImpl.java | 5 +-
.../cassandra/QueryExecutorService.java | 31 +++++++
.../cassandra/QueryExecutorServiceImpl.java | 95 ++++++++++++++++++++
.../persistence/cassandra/QueryProcessor.java | 31 +------
.../cassandra/RelationManagerImpl.java | 14 +--
.../query/ir/result/GatherIterator.java | 1 -
.../main/resources/usergrid-core-context.xml | 5 ++
.../cassandra/QueryProcessorTest.java | 44 ++++-----
11 files changed, 176 insertions(+), 58 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/bbd56378/stack/config/src/main/resources/usergrid-default.properties
----------------------------------------------------------------------
diff --git a/stack/config/src/main/resources/usergrid-default.properties b/stack/config/src/main/resources/usergrid-default.properties
index 1aeb67f..27dbf4b 100644
--- a/stack/config/src/main/resources/usergrid-default.properties
+++ b/stack/config/src/main/resources/usergrid-default.properties
@@ -70,6 +70,9 @@ cassandra.lock.keyspace=Locks
# false to disable test features
usergrid.test=false
+#Number of threads to allow concurrent querying of Cassandra
+usergrid.query.threadcount=100
+
#Properties to control the number of buckets in the index.
usergrid.index.defaultbucketsize=20
usergrid.counter.skipAggregate=false
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/bbd56378/stack/config/src/test/resources/usergrid-test.properties
----------------------------------------------------------------------
diff --git a/stack/config/src/test/resources/usergrid-test.properties b/stack/config/src/test/resources/usergrid-test.properties
index 6b7cfff..c4536bd 100644
--- a/stack/config/src/test/resources/usergrid-test.properties
+++ b/stack/config/src/test/resources/usergrid-test.properties
@@ -44,6 +44,9 @@ cassandra.keyspace.strategy=org.apache.cassandra.locator.SimpleStrategy
cassandra.keyspace.replication=1
+#Our embedded cassandra can't handle the load. Limit the concurrent queries to keep from pushing it over
+usergrid.query.threadcount=5
+
cassandra.username=
cassandra.password=
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/bbd56378/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/EntityManagerFactoryImpl.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/EntityManagerFactoryImpl.java b/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/EntityManagerFactoryImpl.java
index 53ccf40..421b286 100644
--- a/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/EntityManagerFactoryImpl.java
+++ b/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/EntityManagerFactoryImpl.java
@@ -144,7 +144,7 @@ public class EntityManagerFactoryImpl implements EntityManagerFactory, Applicati
private EntityManager _getEntityManager( UUID applicationId ) {
//EntityManagerImpl em = new EntityManagerImpl();
- EntityManager em = applicationContext.getBean( "entityManager", EntityManager.class );
+ EntityManager em = applicationContext.getBean( "entityManager", EntityManager.class );
//em.init(this,cass,counterUtils,applicationId, skipAggregateCounters);
em.setApplicationId( applicationId );
return em;
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/bbd56378/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/EntityManagerImpl.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/EntityManagerImpl.java b/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/EntityManagerImpl.java
index 51383c2..370caa6 100644
--- a/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/EntityManagerImpl.java
+++ b/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/EntityManagerImpl.java
@@ -193,6 +193,9 @@ public class EntityManagerImpl implements EntityManager {
@Resource
private IndexBucketLocator indexBucketLocator;
+ @Resource
+ private QueryExecutorService queryExecutorService;
+
private UUID applicationId;
private Application application;
@@ -270,7 +273,7 @@ public class EntityManagerImpl implements EntityManager {
public RelationManagerImpl getRelationManager( EntityRef entityRef ) {
//RelationManagerImpl rmi = applicationContext.getBean(RelationManagerImpl.class);
RelationManagerImpl rmi = new RelationManagerImpl();
- rmi.init( this, cass, applicationId, entityRef, indexBucketLocator );
+ rmi.init( this, cass, queryExecutorService, applicationId, entityRef, indexBucketLocator );
return rmi;
}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/bbd56378/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/QueryExecutorService.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/QueryExecutorService.java b/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/QueryExecutorService.java
new file mode 100644
index 0000000..07105b0
--- /dev/null
+++ b/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/QueryExecutorService.java
@@ -0,0 +1,31 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.usergrid.persistence.cassandra;
+
+
+import java.util.concurrent.ExecutorService;
+
+
+public interface QueryExecutorService {
+
+ /**
+ * Get the executor service
+ * @return
+ */
+ ExecutorService getExecutor();
+}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/bbd56378/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/QueryExecutorServiceImpl.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/QueryExecutorServiceImpl.java b/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/QueryExecutorServiceImpl.java
new file mode 100644
index 0000000..7376641
--- /dev/null
+++ b/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/QueryExecutorServiceImpl.java
@@ -0,0 +1,95 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.usergrid.persistence.cassandra;
+
+
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.RejectedExecutionHandler;
+import java.util.concurrent.SynchronousQueue;
+import java.util.concurrent.ThreadPoolExecutor;
+import java.util.concurrent.TimeUnit;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+/**
+ *
+ */
+public class QueryExecutorServiceImpl implements QueryExecutorService {
+
+
+ //we set up a thread pool with 100 execution threads. We purposefully use a synchronous queue and a caller runs so that we simply reject and immediately execute tasks if all 100 threads are occupied.
+
+
+
+ //we make this static, we only want 1 instance of this service in the JVM. Otherwise tests fail
+
+ private int threadCount;
+
+ private static ExecutorService executorService;
+
+
+ @Override
+ public ExecutorService getExecutor() {
+ if(executorService == null){
+ return getExecutorService();
+ }
+
+ return executorService;
+ }
+
+
+ public void setThreadCount( final int threadCount ) {
+ this.threadCount = threadCount;
+ }
+
+
+ /**
+ * Internally synchronized creation
+ * @return
+ */
+ private synchronized ExecutorService getExecutorService(){
+ if(executorService != null){
+ return executorService;
+ }
+
+
+ executorService = new ThreadPoolExecutor( threadCount, threadCount, 30, TimeUnit.SECONDS, new SynchronousQueue<Runnable>( ), new CallerRunsExecutionHandler() );
+ return executorService;
+ }
+
+
+ /**
+ * Execution handler that will run threads in the caller
+ */
+ private static class CallerRunsExecutionHandler implements RejectedExecutionHandler {
+
+ private static final Logger logger = LoggerFactory.getLogger( CallerRunsExecutionHandler.class );
+
+ @Override
+ public void rejectedExecution( final Runnable r, final ThreadPoolExecutor executor ) {
+ //when a task is rejected due to back pressure, we just want to run it in the caller.
+
+ logger.warn( "Concurrent shard execution rejected the task in executor {}, running it in the caller thread", executor );
+
+ r.run();
+ }
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/bbd56378/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/QueryProcessor.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/QueryProcessor.java b/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/QueryProcessor.java
index a2e0f60..10f4fa5 100644
--- a/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/QueryProcessor.java
+++ b/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/QueryProcessor.java
@@ -22,12 +22,6 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Stack;
import java.util.UUID;
-import java.util.concurrent.ArrayBlockingQueue;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.RejectedExecutionHandler;
-import java.util.concurrent.SynchronousQueue;
-import java.util.concurrent.ThreadPoolExecutor;
-import java.util.concurrent.TimeUnit;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -93,11 +87,7 @@ public class QueryProcessor {
private final CollectionInfo collectionInfo;
private final EntityManager em;
private final ResultsLoaderFactory loaderFactory;
-
- //we set up a thread pool with 100 execution threads. We purposefully use a synchronous queue and a caller runs so that we simply reject and immediately execute tasks if all 100 threads are occupied.
-
- //we make this static, we only want 1 instance of this service in the JVM. Otherwise tests fail
- private static final ExecutorService executorService = new ThreadPoolExecutor( 100, 100, 30, TimeUnit.SECONDS, new SynchronousQueue<Runnable>( ), new CallerRunsExecutionHandler() );
+ private final QueryExecutorService executorService;
private Operand rootOperand;
private List<SortPredicate> sorts;
@@ -110,11 +100,12 @@ public class QueryProcessor {
private int sliceCount;
- public QueryProcessor( Query query, CollectionInfo collectionInfo, EntityManager em,
+ public QueryProcessor( EntityManager em, QueryExecutorService executorService, Query query, CollectionInfo collectionInfo,
ResultsLoaderFactory loaderFactory ) throws PersistenceException {
setQuery( query );
this.collectionInfo = collectionInfo;
this.em = em;
+ this.executorService = executorService;
this.loaderFactory = loaderFactory;
process();
}
@@ -281,7 +272,7 @@ public class QueryProcessor {
//use the gather iterator to collect all the '
final int resultSetSize = Math.min( size, Query.MAX_LIMIT );
- ResultIterator itr = new GatherIterator(resultSetSize, rootNode, searchVisitorFactory.createVisitors(), executorService );
+ ResultIterator itr = new GatherIterator(resultSetSize, rootNode, searchVisitorFactory.createVisitors(), executorService.getExecutor() );
List<ScanColumn> entityIds = new ArrayList<ScanColumn>( );
@@ -696,19 +687,5 @@ public class QueryProcessor {
}
- private static class CallerRunsExecutionHandler implements RejectedExecutionHandler{
-
- private static final Logger logger = LoggerFactory.getLogger( CallerRunsExecutionHandler.class );
-
- @Override
- public void rejectedExecution( final Runnable r, final ThreadPoolExecutor executor ) {
- //when a task is rejected due to back pressure, we just want to run it in the caller.
-
- logger.warn( "Concurrent shard execution rejected the task in executor {}, running it in the caller thread", executor );
-
- r.run();
- }
- }
-
}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/bbd56378/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/RelationManagerImpl.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/RelationManagerImpl.java b/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/RelationManagerImpl.java
index 74d1d60..86e1690 100644
--- a/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/RelationManagerImpl.java
+++ b/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/RelationManagerImpl.java
@@ -127,13 +127,14 @@ public class RelationManagerImpl implements RelationManager {
private UUID applicationId;
private EntityRef headEntity;
private IndexBucketLocator indexBucketLocator;
+ private QueryExecutorService executorService;
public RelationManagerImpl() {
}
- public RelationManagerImpl init( EntityManagerImpl em, CassandraService cass, UUID applicationId,
+ public RelationManagerImpl init( EntityManagerImpl em, CassandraService cass, QueryExecutorService executorService, UUID applicationId,
EntityRef headEntity, IndexBucketLocator indexBucketLocator ) {
Assert.notNull( em, "Entity manager cannot be null" );
@@ -148,6 +149,7 @@ public class RelationManagerImpl implements RelationManager {
this.cass = cass;
this.headEntity = headEntity;
this.indexBucketLocator = indexBucketLocator;
+ this.executorService = executorService;
return this;
}
@@ -155,7 +157,7 @@ public class RelationManagerImpl implements RelationManager {
private RelationManagerImpl getRelationManager( EntityRef headEntity ) {
RelationManagerImpl rmi = new RelationManagerImpl();
- rmi.init( em, cass, applicationId, headEntity, indexBucketLocator );
+ rmi.init( em, cass, executorService, applicationId, headEntity, indexBucketLocator );
return rmi;
}
@@ -1711,7 +1713,7 @@ public class RelationManagerImpl implements RelationManager {
// we have something to search with, visit our tree and evaluate the
// results
- QueryProcessor qp = new QueryProcessor( query, collection, em, factory );
+ QueryProcessor qp = new QueryProcessor( em, executorService, query, collection, factory );
CollectionSearchVisitorFactory collectionSearchVisitorFactory = new CollectionSearchVisitorFactory( cass, indexBucketLocator, qp, applicationId, headEntity, collectionName );
// SearchCollectionVisitor visitor = new SearchCollectionVisitor( this, qp );
@@ -1903,7 +1905,7 @@ public class RelationManagerImpl implements RelationManager {
final ConnectionResultsLoaderFactory factory = new ConnectionResultsLoaderFactory( connectionRef );
- QueryProcessor qp = new QueryProcessor( query, null, em, factory );
+ QueryProcessor qp = new QueryProcessor( em, executorService, query, null,factory );
ConnectionSearchVisitorFactory collectionSearchVisitorFactory = new ConnectionSearchVisitorFactory( cass, indexBucketLocator, qp, applicationId, headEntity, connectionRef, true, "" );
@@ -1946,7 +1948,7 @@ public class RelationManagerImpl implements RelationManager {
new ConnectionRefImpl( new SimpleEntityRef( connectedEntityType, null ), connectionType, targetEntity );
final ConnectionResultsLoaderFactory factory = new ConnectionResultsLoaderFactory( connectionRef );
- QueryProcessor qp = new QueryProcessor( query, null, em, factory );
+ QueryProcessor qp = new QueryProcessor( em, executorService, query, null, factory );
ConnectionSearchVisitorFactory collectionSearchVisitorFactory = new ConnectionSearchVisitorFactory( cass, indexBucketLocator, qp, applicationId, headEntity, connectionRef, false, "" );
@@ -1987,7 +1989,7 @@ public class RelationManagerImpl implements RelationManager {
final ConnectionResultsLoaderFactory factory = new ConnectionResultsLoaderFactory( connectionRef );
- QueryProcessor qp = new QueryProcessor( query, null, em, factory );
+ QueryProcessor qp = new QueryProcessor(em, executorService, query, null, factory );
ConnectionSearchVisitorFactory collectionSearchVisitorFactory = new ConnectionSearchVisitorFactory( cass, indexBucketLocator, qp, applicationId, headEntity, connectionRef, true, "" );
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/bbd56378/stack/core/src/main/java/org/apache/usergrid/persistence/query/ir/result/GatherIterator.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/persistence/query/ir/result/GatherIterator.java b/stack/core/src/main/java/org/apache/usergrid/persistence/query/ir/result/GatherIterator.java
index 4187ae0..36104f9 100644
--- a/stack/core/src/main/java/org/apache/usergrid/persistence/query/ir/result/GatherIterator.java
+++ b/stack/core/src/main/java/org/apache/usergrid/persistence/query/ir/result/GatherIterator.java
@@ -181,7 +181,6 @@ public class GatherIterator implements ResultIterator {
}
}
-
/**
* Get the set
*/
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/bbd56378/stack/core/src/main/resources/usergrid-core-context.xml
----------------------------------------------------------------------
diff --git a/stack/core/src/main/resources/usergrid-core-context.xml b/stack/core/src/main/resources/usergrid-core-context.xml
index 7e69e19..78136ea 100644
--- a/stack/core/src/main/resources/usergrid-core-context.xml
+++ b/stack/core/src/main/resources/usergrid-core-context.xml
@@ -67,6 +67,7 @@
<constructor-arg ref="cassandraHostConfigurator" />
</bean>
+
<bean id="loadBalancingPolicy" class="me.prettyprint.cassandra.connection.DynamicLoadBalancingPolicy"/>
<!-- locking for a single node -->
@@ -196,6 +197,10 @@
<bean id="metricsFactory" class="org.apache.usergrid.metrics.MetricsFactory" scope="singleton"/>
+ <bean id="queryExecutorService" class="org.apache.usergrid.persistence.cassandra.QueryExecutorServiceImpl" scope="singleton">
+ <property name="threadCount" value="${usergrid.query.threadcount}"/>
+ </bean>
+
<!-- scan all job classes -->
<context:component-scan base-package="org.apache.usergrid.batch.job" />
<context:annotation-config />
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/bbd56378/stack/core/src/test/java/org/apache/usergrid/persistence/cassandra/QueryProcessorTest.java
----------------------------------------------------------------------
diff --git a/stack/core/src/test/java/org/apache/usergrid/persistence/cassandra/QueryProcessorTest.java b/stack/core/src/test/java/org/apache/usergrid/persistence/cassandra/QueryProcessorTest.java
index c1fe7ee..4637da8 100644
--- a/stack/core/src/test/java/org/apache/usergrid/persistence/cassandra/QueryProcessorTest.java
+++ b/stack/core/src/test/java/org/apache/usergrid/persistence/cassandra/QueryProcessorTest.java
@@ -62,7 +62,7 @@ public class QueryProcessorTest {
Query query = parser.ql().query;
- QueryProcessor processor = new QueryProcessor( query, null, null, null );
+ QueryProcessor processor = new QueryProcessor( null, null, query, null, null );
SliceNode node = ( SliceNode ) processor.getFirstNode();
@@ -88,7 +88,7 @@ public class QueryProcessorTest {
Query query = parser.ql().query;
- QueryProcessor processor = new QueryProcessor( query, null, null, null );
+ QueryProcessor processor = new QueryProcessor( null, null, query, null, null );
SliceNode node = ( SliceNode ) processor.getFirstNode();
@@ -114,7 +114,7 @@ public class QueryProcessorTest {
Query query = parser.ql().query;
- QueryProcessor processor = new QueryProcessor( query, null, null, null );
+ QueryProcessor processor = new QueryProcessor( null, null, query, null, null );
SliceNode node = ( SliceNode ) processor.getFirstNode();
@@ -140,7 +140,7 @@ public class QueryProcessorTest {
Query query = parser.ql().query;
- QueryProcessor processor = new QueryProcessor( query, null, null, null );
+ QueryProcessor processor = new QueryProcessor( null, null, query, null, null );;
SliceNode node = ( SliceNode ) processor.getFirstNode();
@@ -166,7 +166,7 @@ public class QueryProcessorTest {
Query query = parser.ql().query;
- QueryProcessor processor = new QueryProcessor( query, null, null, null );
+ QueryProcessor processor = new QueryProcessor( null, null, query, null, null );;
SliceNode node = ( SliceNode ) processor.getFirstNode();
@@ -192,7 +192,7 @@ public class QueryProcessorTest {
Query query = parser.ql().query;
- QueryProcessor processor = new QueryProcessor( query, null, null, null );
+ QueryProcessor processor = new QueryProcessor( null, null, query, null, null );;
SliceNode node = ( SliceNode ) processor.getFirstNode();
@@ -221,7 +221,7 @@ public class QueryProcessorTest {
Query query = parser.ql().query;
- QueryProcessor processor = new QueryProcessor( query, null, null, null );
+ QueryProcessor processor = new QueryProcessor( null, null, query, null, null );;
SliceNode node = ( SliceNode ) processor.getFirstNode();
@@ -250,7 +250,7 @@ public class QueryProcessorTest {
Query query = parser.ql().query;
- QueryProcessor processor = new QueryProcessor( query, null, null, null );
+ QueryProcessor processor = new QueryProcessor( null, null, query, null, null );;
SliceNode node = ( SliceNode ) processor.getFirstNode();
@@ -279,7 +279,7 @@ public class QueryProcessorTest {
Query query = parser.ql().query;
- QueryProcessor processor = new QueryProcessor( query, null, null, null );
+ QueryProcessor processor = new QueryProcessor( null, null, query, null, null );;
WithinNode node = ( WithinNode ) processor.getFirstNode();
@@ -310,7 +310,7 @@ public class QueryProcessorTest {
Query query = parser.ql().query;
- QueryProcessor processor = new QueryProcessor( query, null, null, null );
+ QueryProcessor processor = new QueryProcessor( null, null, query, null, null );;
SliceNode node = ( SliceNode ) processor.getFirstNode();
@@ -361,7 +361,7 @@ public class QueryProcessorTest {
Query query = parser.ql().query;
- QueryProcessor processor = new QueryProcessor( query, null, null, null );
+ QueryProcessor processor = new QueryProcessor( null, null, query, null, null );;
OrNode node = ( OrNode ) processor.getFirstNode();
@@ -407,7 +407,7 @@ public class QueryProcessorTest {
Query query = parser.ql().query;
- QueryProcessor processor = new QueryProcessor( query, null, null, null );
+ QueryProcessor processor = new QueryProcessor( null, null, query, null, null );;
OrNode node = ( OrNode ) processor.getFirstNode();
@@ -476,7 +476,7 @@ public class QueryProcessorTest {
Query query = parser.ql().query;
- QueryProcessor processor = new QueryProcessor( query, null, null, null );
+ QueryProcessor processor = new QueryProcessor( null, null, query, null, null );;
OrNode rootNode = ( OrNode ) processor.getFirstNode();
@@ -553,7 +553,7 @@ public class QueryProcessorTest {
Query query = parser.ql().query;
- QueryProcessor processor = new QueryProcessor( query, null, null, null );
+ QueryProcessor processor = new QueryProcessor( null, null, query, null, null );;
AndNode rootNode = ( AndNode ) processor.getFirstNode();
@@ -600,7 +600,7 @@ public class QueryProcessorTest {
Query query = parser.ql().query;
- QueryProcessor processor = new QueryProcessor( query, null, null, null );
+ QueryProcessor processor = new QueryProcessor( null, null, query, null, null );;
NotNode rootNode = ( NotNode ) processor.getFirstNode();
@@ -629,7 +629,7 @@ public class QueryProcessorTest {
Query query = parser.ql().query;
- QueryProcessor processor = new QueryProcessor( query, null, null, null );
+ QueryProcessor processor = new QueryProcessor( null, null, query, null, null );;
SliceNode node = ( SliceNode ) processor.getFirstNode();
@@ -658,7 +658,7 @@ public class QueryProcessorTest {
Query query = parser.ql().query;
- QueryProcessor processor = new QueryProcessor( query, null, null, null );
+ QueryProcessor processor = new QueryProcessor( null, null, query, null, null );;
SliceNode node = ( SliceNode ) processor.getFirstNode();
@@ -686,7 +686,7 @@ public class QueryProcessorTest {
Query query = parser.ql().query;
- QueryProcessor processor = new QueryProcessor( query, null, null, null );
+ QueryProcessor processor = new QueryProcessor( null, null, query, null, null );;
SliceNode node = ( SliceNode ) processor.getFirstNode();
@@ -722,7 +722,7 @@ public class QueryProcessorTest {
Query query = parser.ql().query;
- QueryProcessor processor = new QueryProcessor( query, null, null, null );
+ QueryProcessor processor = new QueryProcessor( null, null, query, null, null );;
SliceNode node = ( SliceNode ) processor.getFirstNode();
@@ -757,7 +757,7 @@ public class QueryProcessorTest {
Query query = parser.ql().query;
query.setLimit( limit );
- QueryProcessor processor = new QueryProcessor( query, null, null, null );
+ QueryProcessor processor = new QueryProcessor( null, null, query, null, null );;
OrderByNode node = ( OrderByNode ) processor.getFirstNode();
@@ -783,7 +783,7 @@ public class QueryProcessorTest {
Query query = parser.ql().query;
query.setLimit( limit );
- QueryProcessor processor = new QueryProcessor( query, null, null, null );
+ QueryProcessor processor = new QueryProcessor( null, null, query, null, null );;
SliceNode node = ( SliceNode ) processor.getFirstNode();
@@ -811,7 +811,7 @@ public class QueryProcessorTest {
Query query = parser.ql().query;
query.setLimit( limit );
- QueryProcessor processor = new QueryProcessor( query, null, null, null );
+ QueryProcessor processor = new QueryProcessor( null, null, query, null, null );;
QueryNode slice = processor.getFirstNode();