aboutsummaryrefslogtreecommitdiff
path: root/exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/rm/QueryResourceManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/rm/QueryResourceManager.java')
-rw-r--r--exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/rm/QueryResourceManager.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/rm/QueryResourceManager.java b/exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/rm/QueryResourceManager.java
index 9e2a3a10f..4b9112194 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/rm/QueryResourceManager.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/rm/QueryResourceManager.java
@@ -17,6 +17,7 @@
*/
package org.apache.drill.exec.work.foreman.rm;
+import org.apache.drill.exec.planner.fragment.QueryParallelizer;
import org.apache.drill.exec.work.foreman.rm.QueryQueue.QueryQueueException;
import org.apache.drill.exec.work.foreman.rm.QueryQueue.QueueTimeoutException;
@@ -44,6 +45,15 @@ public interface QueryResourceManager extends QueryResourceAllocator {
void setCost(double cost);
/**
+ * Create a parallelizer to parallelize each major fragment of the query into
+ * many minor fragments. The parallelizer encapsulates the logic of how much
+ * memory and parallelism is required for the query.
+ * @param memoryPlanning memory planning needs to be done during parallelization
+ * @return
+ */
+ QueryParallelizer getParallelizer(boolean memoryPlanning);
+
+ /**
* Admit the query into the cluster. Blocks until the query
* can run. (Later revisions may use a more thread-friendly
* approach.)