blob: 9e9dafeadb690f39d5aeefe7e240e5ab66af9a41 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>SimpleParallelizer (Drill : 1.20.3 API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="SimpleParallelizer (Drill : 1.20.3 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":6,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/SimpleParallelizer.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/drill/exec/planner/fragment/QueueQueryParallelizer.html" title="class in org.apache.drill.exec.planner.fragment"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/drill/exec/planner/fragment/SimpleParallelizer.CountRequiredFragments.html" title="class in org.apache.drill.exec.planner.fragment"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/drill/exec/planner/fragment/SimpleParallelizer.html" target="_top">Frames</a></li>
<li><a href="SimpleParallelizer.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.drill.exec.planner.fragment</div>
<h2 title="Class SimpleParallelizer" class="title">Class SimpleParallelizer</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.drill.exec.planner.fragment.SimpleParallelizer</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../../org/apache/drill/exec/planner/fragment/ParallelizationParameters.html" title="interface in org.apache.drill.exec.planner.fragment">ParallelizationParameters</a>, <a href="../../../../../../org/apache/drill/exec/planner/fragment/QueryParallelizer.html" title="interface in org.apache.drill.exec.planner.fragment">QueryParallelizer</a></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../../org/apache/drill/exec/planner/fragment/DefaultQueryParallelizer.html" title="class in org.apache.drill.exec.planner.fragment">DefaultQueryParallelizer</a>, <a href="../../../../../../org/apache/drill/exec/planner/fragment/QueueQueryParallelizer.html" title="class in org.apache.drill.exec.planner.fragment">QueueQueryParallelizer</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">SimpleParallelizer</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../../org/apache/drill/exec/planner/fragment/QueryParallelizer.html" title="interface in org.apache.drill.exec.planner.fragment">QueryParallelizer</a></pre>
<div class="block">The simple parallelizer determines the level of parallelization of a plan
based on the cost of the underlying operations. It doesn't take into account
system load or other factors. Based on the cost of the query, the
parallelization for each major fragment will be determined. Once the amount
of parallelization is done, assignment is done based on round robin
assignment ordered by operator affinity (locality) to available execution
Drillbits.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/planner/fragment/SimpleParallelizer.CountRequiredFragments.html" title="class in org.apache.drill.exec.planner.fragment">SimpleParallelizer.CountRequiredFragments</a></span></code>
<div class="block">Designed to setup initial values for arriving fragment accounting.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/planner/fragment/SimpleParallelizer.html#SimpleParallelizer-long-int-int-double-">SimpleParallelizer</a></span>(long&nbsp;parallelizationThreshold,
int&nbsp;maxWidthPerNode,
int&nbsp;maxGlobalWidth,
double&nbsp;affinityFactor)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/planner/fragment/SimpleParallelizer.html#SimpleParallelizer-org.apache.drill.exec.ops.QueryContext-">SimpleParallelizer</a></span>(<a href="../../../../../../org/apache/drill/exec/ops/QueryContext.html" title="class in org.apache.drill.exec.ops">QueryContext</a>&nbsp;context)</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/planner/fragment/SimpleParallelizer.html#adjustMemory-org.apache.drill.exec.planner.fragment.PlanningSet-java.util.Set-java.util.Collection-">adjustMemory</a></span>(<a href="../../../../../../org/apache/drill/exec/planner/fragment/PlanningSet.html" title="class in org.apache.drill.exec.planner.fragment">PlanningSet</a>&nbsp;planningSet,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/drill/exec/planner/fragment/Wrapper.html" title="class in org.apache.drill.exec.planner.fragment">Wrapper</a>&gt;&nbsp;roots,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../../org/apache/drill/exec/proto/CoordinationProtos.DrillbitEndpoint.html" title="class in org.apache.drill.exec.proto">CoordinationProtos.DrillbitEndpoint</a>&gt;&nbsp;activeEndpoints)</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/planner/fragment/SimpleParallelizer.html#collectStatsAndParallelizeFragments-org.apache.drill.exec.planner.fragment.PlanningSet-java.util.Set-java.util.Collection-">collectStatsAndParallelizeFragments</a></span>(<a href="../../../../../../org/apache/drill/exec/planner/fragment/PlanningSet.html" title="class in org.apache.drill.exec.planner.fragment">PlanningSet</a>&nbsp;planningSet,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/drill/exec/planner/fragment/Wrapper.html" title="class in org.apache.drill.exec.planner.fragment">Wrapper</a>&gt;&nbsp;roots,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../../org/apache/drill/exec/proto/CoordinationProtos.DrillbitEndpoint.html" title="class in org.apache.drill.exec.proto">CoordinationProtos.DrillbitEndpoint</a>&gt;&nbsp;activeEndpoints)</code>
<div class="block">Traverse all the major fragments and parallelize each major fragment based on
collected stats.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/drill/exec/work/QueryWorkUnit.html" title="class in org.apache.drill.exec.work">QueryWorkUnit</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/planner/fragment/SimpleParallelizer.html#generateWorkUnit-org.apache.drill.exec.server.options.OptionList-org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint-org.apache.drill.exec.proto.UserBitShared.QueryId-java.util.Collection-org.apache.drill.exec.planner.fragment.Fragment-org.apache.drill.exec.rpc.user.UserSession-org.apache.drill.exec.proto.BitControl.QueryContextInformation-">generateWorkUnit</a></span>(<a href="../../../../../../org/apache/drill/exec/server/options/OptionList.html" title="class in org.apache.drill.exec.server.options">OptionList</a>&nbsp;options,
<a href="../../../../../../org/apache/drill/exec/proto/CoordinationProtos.DrillbitEndpoint.html" title="class in org.apache.drill.exec.proto">CoordinationProtos.DrillbitEndpoint</a>&nbsp;foremanNode,
<a href="../../../../../../org/apache/drill/exec/proto/UserBitShared.QueryId.html" title="class in org.apache.drill.exec.proto">UserBitShared.QueryId</a>&nbsp;queryId,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../../org/apache/drill/exec/proto/CoordinationProtos.DrillbitEndpoint.html" title="class in org.apache.drill.exec.proto">CoordinationProtos.DrillbitEndpoint</a>&gt;&nbsp;activeEndpoints,
<a href="../../../../../../org/apache/drill/exec/planner/fragment/Fragment.html" title="class in org.apache.drill.exec.planner.fragment">Fragment</a>&nbsp;rootFragment,
<a href="../../../../../../org/apache/drill/exec/rpc/user/UserSession.html" title="class in org.apache.drill.exec.rpc.user">UserSession</a>&nbsp;session,
<a href="../../../../../../org/apache/drill/exec/proto/BitControl.QueryContextInformation.html" title="class in org.apache.drill.exec.proto">BitControl.QueryContextInformation</a>&nbsp;queryContextInfo)</code>
<div class="block">The starting function for the whole parallelization and memory computation logic.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/drill/exec/work/QueryWorkUnit.html" title="class in org.apache.drill.exec.work">QueryWorkUnit</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/planner/fragment/SimpleParallelizer.html#generateWorkUnit-org.apache.drill.exec.server.options.OptionList-org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint-org.apache.drill.exec.proto.UserBitShared.QueryId-org.apache.drill.exec.planner.fragment.Fragment-org.apache.drill.exec.planner.fragment.PlanningSet-org.apache.drill.exec.rpc.user.UserSession-org.apache.drill.exec.proto.BitControl.QueryContextInformation-">generateWorkUnit</a></span>(<a href="../../../../../../org/apache/drill/exec/server/options/OptionList.html" title="class in org.apache.drill.exec.server.options">OptionList</a>&nbsp;options,
<a href="../../../../../../org/apache/drill/exec/proto/CoordinationProtos.DrillbitEndpoint.html" title="class in org.apache.drill.exec.proto">CoordinationProtos.DrillbitEndpoint</a>&nbsp;foremanNode,
<a href="../../../../../../org/apache/drill/exec/proto/UserBitShared.QueryId.html" title="class in org.apache.drill.exec.proto">UserBitShared.QueryId</a>&nbsp;queryId,
<a href="../../../../../../org/apache/drill/exec/planner/fragment/Fragment.html" title="class in org.apache.drill.exec.planner.fragment">Fragment</a>&nbsp;rootNode,
<a href="../../../../../../org/apache/drill/exec/planner/fragment/PlanningSet.html" title="class in org.apache.drill.exec.planner.fragment">PlanningSet</a>&nbsp;planningSet,
<a href="../../../../../../org/apache/drill/exec/rpc/user/UserSession.html" title="class in org.apache.drill.exec.rpc.user">UserSession</a>&nbsp;session,
<a href="../../../../../../org/apache/drill/exec/proto/BitControl.QueryContextInformation.html" title="class in org.apache.drill.exec.proto">BitControl.QueryContextInformation</a>&nbsp;queryContextInfo)</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/planner/fragment/SimpleParallelizer.html#getAffinityFactor--">getAffinityFactor</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/planner/fragment/SimpleParallelizer.html#getMaxGlobalWidth--">getMaxGlobalWidth</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/planner/fragment/SimpleParallelizer.html#getMaxWidthPerNode--">getMaxWidthPerNode</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>protected abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/BiFunction.html?is-external=true" title="class or interface in java.util.function">BiFunction</a>&lt;<a href="../../../../../../org/apache/drill/exec/proto/CoordinationProtos.DrillbitEndpoint.html" title="class in org.apache.drill.exec.proto">CoordinationProtos.DrillbitEndpoint</a>,<a href="../../../../../../org/apache/drill/exec/physical/base/PhysicalOperator.html" title="interface in org.apache.drill.exec.physical.base">PhysicalOperator</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/planner/fragment/SimpleParallelizer.html#getMemory--">getMemory</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/drill/exec/planner/fragment/Wrapper.html" title="class in org.apache.drill.exec.planner.fragment">Wrapper</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/planner/fragment/SimpleParallelizer.html#getRootFragments-org.apache.drill.exec.planner.fragment.PlanningSet-">getRootFragments</a></span>(<a href="../../../../../../org/apache/drill/exec/planner/fragment/PlanningSet.html" title="class in org.apache.drill.exec.planner.fragment">PlanningSet</a>&nbsp;planningSet)</code>&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/planner/fragment/SimpleParallelizer.html#getSliceTarget--">getSliceTarget</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/drill/exec/work/QueryWorkUnit.html" title="class in org.apache.drill.exec.work">QueryWorkUnit</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/planner/fragment/SimpleParallelizer.html#getSplitFragments-org.apache.drill.exec.server.options.OptionList-org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint-org.apache.drill.exec.proto.UserBitShared.QueryId-java.util.Collection-org.apache.drill.exec.planner.PhysicalPlanReader-org.apache.drill.exec.planner.fragment.Fragment-org.apache.drill.exec.rpc.user.UserSession-org.apache.drill.exec.proto.BitControl.QueryContextInformation-">getSplitFragments</a></span>(<a href="../../../../../../org/apache/drill/exec/server/options/OptionList.html" title="class in org.apache.drill.exec.server.options">OptionList</a>&nbsp;options,
<a href="../../../../../../org/apache/drill/exec/proto/CoordinationProtos.DrillbitEndpoint.html" title="class in org.apache.drill.exec.proto">CoordinationProtos.DrillbitEndpoint</a>&nbsp;foremanNode,
<a href="../../../../../../org/apache/drill/exec/proto/UserBitShared.QueryId.html" title="class in org.apache.drill.exec.proto">UserBitShared.QueryId</a>&nbsp;queryId,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../../org/apache/drill/exec/proto/CoordinationProtos.DrillbitEndpoint.html" title="class in org.apache.drill.exec.proto">CoordinationProtos.DrillbitEndpoint</a>&gt;&nbsp;activeEndpoints,
<a href="../../../../../../org/apache/drill/exec/planner/PhysicalPlanReader.html" title="class in org.apache.drill.exec.planner">PhysicalPlanReader</a>&nbsp;reader,
<a href="../../../../../../org/apache/drill/exec/planner/fragment/Fragment.html" title="class in org.apache.drill.exec.planner.fragment">Fragment</a>&nbsp;rootFragment,
<a href="../../../../../../org/apache/drill/exec/rpc/user/UserSession.html" title="class in org.apache.drill.exec.rpc.user">UserSession</a>&nbsp;session,
<a href="../../../../../../org/apache/drill/exec/proto/BitControl.QueryContextInformation.html" title="class in org.apache.drill.exec.proto">BitControl.QueryContextInformation</a>&nbsp;queryContextInfo)</code>
<div class="block">Create multiple physical plans from original query planning, it will allow execute them eventually independently</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/planner/fragment/SimpleParallelizer.html#initFragmentWrappers-org.apache.drill.exec.planner.fragment.Fragment-org.apache.drill.exec.planner.fragment.PlanningSet-">initFragmentWrappers</a></span>(<a href="../../../../../../org/apache/drill/exec/planner/fragment/Fragment.html" title="class in org.apache.drill.exec.planner.fragment">Fragment</a>&nbsp;rootFragment,
<a href="../../../../../../org/apache/drill/exec/planner/fragment/PlanningSet.html" title="class in org.apache.drill.exec.planner.fragment">PlanningSet</a>&nbsp;planningSet)</code>&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/drill/exec/planner/fragment/PlanningSet.html" title="class in org.apache.drill.exec.planner.fragment">PlanningSet</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/planner/fragment/SimpleParallelizer.html#prepareFragmentTree-org.apache.drill.exec.planner.fragment.Fragment-">prepareFragmentTree</a></span>(<a href="../../../../../../org/apache/drill/exec/planner/fragment/Fragment.html" title="class in org.apache.drill.exec.planner.fragment">Fragment</a>&nbsp;rootFragment)</code>&nbsp;</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/planner/fragment/SimpleParallelizer.html#traverse-org.apache.drill.exec.planner.fragment.Wrapper-java.util.function.Consumer-">traverse</a></span>(<a href="../../../../../../org/apache/drill/exec/planner/fragment/Wrapper.html" title="class in org.apache.drill.exec.planner.fragment">Wrapper</a>&nbsp;fragmentWrapper,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Consumer.html?is-external=true" title="class or interface in java.util.function">Consumer</a>&lt;<a href="../../../../../../org/apache/drill/exec/planner/fragment/Wrapper.html" title="class in org.apache.drill.exec.planner.fragment">Wrapper</a>&gt;&nbsp;operation)</code>
<div class="block">Call operation on each fragment.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="SimpleParallelizer-org.apache.drill.exec.ops.QueryContext-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SimpleParallelizer</h4>
<pre>protected&nbsp;SimpleParallelizer(<a href="../../../../../../org/apache/drill/exec/ops/QueryContext.html" title="class in org.apache.drill.exec.ops">QueryContext</a>&nbsp;context)</pre>
</li>
</ul>
<a name="SimpleParallelizer-long-int-int-double-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SimpleParallelizer</h4>
<pre>protected&nbsp;SimpleParallelizer(long&nbsp;parallelizationThreshold,
int&nbsp;maxWidthPerNode,
int&nbsp;maxGlobalWidth,
double&nbsp;affinityFactor)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getSliceTarget--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSliceTarget</h4>
<pre>public&nbsp;long&nbsp;getSliceTarget()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/drill/exec/planner/fragment/ParallelizationParameters.html#getSliceTarget--">getSliceTarget</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/drill/exec/planner/fragment/ParallelizationParameters.html" title="interface in org.apache.drill.exec.planner.fragment">ParallelizationParameters</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Configured max width per slice of work.</dd>
</dl>
</li>
</ul>
<a name="getMaxWidthPerNode--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxWidthPerNode</h4>
<pre>public&nbsp;int&nbsp;getMaxWidthPerNode()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/drill/exec/planner/fragment/ParallelizationParameters.html#getMaxWidthPerNode--">getMaxWidthPerNode</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/drill/exec/planner/fragment/ParallelizationParameters.html" title="interface in org.apache.drill.exec.planner.fragment">ParallelizationParameters</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Configured maximum allowed number of parallelization units per node.</dd>
</dl>
</li>
</ul>
<a name="getMaxGlobalWidth--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxGlobalWidth</h4>
<pre>public&nbsp;int&nbsp;getMaxGlobalWidth()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/drill/exec/planner/fragment/ParallelizationParameters.html#getMaxGlobalWidth--">getMaxGlobalWidth</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/drill/exec/planner/fragment/ParallelizationParameters.html" title="interface in org.apache.drill.exec.planner.fragment">ParallelizationParameters</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Configured maximum allowed number of parallelization units per all nodes in the cluster.</dd>
</dl>
</li>
</ul>
<a name="getAffinityFactor--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAffinityFactor</h4>
<pre>public&nbsp;double&nbsp;getAffinityFactor()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/drill/exec/planner/fragment/ParallelizationParameters.html#getAffinityFactor--">getAffinityFactor</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/drill/exec/planner/fragment/ParallelizationParameters.html" title="interface in org.apache.drill.exec.planner.fragment">ParallelizationParameters</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Factor by which a node with endpoint affinity will be favored while creating assignment.</dd>
</dl>
</li>
</ul>
<a name="getRootFragments-org.apache.drill.exec.planner.fragment.PlanningSet-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRootFragments</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/drill/exec/planner/fragment/Wrapper.html" title="class in org.apache.drill.exec.planner.fragment">Wrapper</a>&gt;&nbsp;getRootFragments(<a href="../../../../../../org/apache/drill/exec/planner/fragment/PlanningSet.html" title="class in org.apache.drill.exec.planner.fragment">PlanningSet</a>&nbsp;planningSet)</pre>
</li>
</ul>
<a name="prepareFragmentTree-org.apache.drill.exec.planner.fragment.Fragment-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>prepareFragmentTree</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/drill/exec/planner/fragment/PlanningSet.html" title="class in org.apache.drill.exec.planner.fragment">PlanningSet</a>&nbsp;prepareFragmentTree(<a href="../../../../../../org/apache/drill/exec/planner/fragment/Fragment.html" title="class in org.apache.drill.exec.planner.fragment">Fragment</a>&nbsp;rootFragment)</pre>
</li>
</ul>
<a name="collectStatsAndParallelizeFragments-org.apache.drill.exec.planner.fragment.PlanningSet-java.util.Set-java.util.Collection-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>collectStatsAndParallelizeFragments</h4>
<pre>public&nbsp;void&nbsp;collectStatsAndParallelizeFragments(<a href="../../../../../../org/apache/drill/exec/planner/fragment/PlanningSet.html" title="class in org.apache.drill.exec.planner.fragment">PlanningSet</a>&nbsp;planningSet,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/drill/exec/planner/fragment/Wrapper.html" title="class in org.apache.drill.exec.planner.fragment">Wrapper</a>&gt;&nbsp;roots,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../../org/apache/drill/exec/proto/CoordinationProtos.DrillbitEndpoint.html" title="class in org.apache.drill.exec.proto">CoordinationProtos.DrillbitEndpoint</a>&gt;&nbsp;activeEndpoints)
throws <a href="../../../../../../org/apache/drill/exec/physical/PhysicalOperatorSetupException.html" title="class in org.apache.drill.exec.physical">PhysicalOperatorSetupException</a></pre>
<div class="block">Traverse all the major fragments and parallelize each major fragment based on
collected stats. The children fragments are parallelized before a parent
fragment.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>planningSet</code> - Set of all major fragments and their context.</dd>
<dd><code>roots</code> - Root nodes of the plan.</dd>
<dd><code>activeEndpoints</code> - currently active drillbit endpoints.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/drill/exec/physical/PhysicalOperatorSetupException.html" title="class in org.apache.drill.exec.physical">PhysicalOperatorSetupException</a></code></dd>
</dl>
</li>
</ul>
<a name="adjustMemory-org.apache.drill.exec.planner.fragment.PlanningSet-java.util.Set-java.util.Collection-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>adjustMemory</h4>
<pre>public abstract&nbsp;void&nbsp;adjustMemory(<a href="../../../../../../org/apache/drill/exec/planner/fragment/PlanningSet.html" title="class in org.apache.drill.exec.planner.fragment">PlanningSet</a>&nbsp;planningSet,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/drill/exec/planner/fragment/Wrapper.html" title="class in org.apache.drill.exec.planner.fragment">Wrapper</a>&gt;&nbsp;roots,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../../org/apache/drill/exec/proto/CoordinationProtos.DrillbitEndpoint.html" title="class in org.apache.drill.exec.proto">CoordinationProtos.DrillbitEndpoint</a>&gt;&nbsp;activeEndpoints)
throws <a href="../../../../../../org/apache/drill/exec/physical/PhysicalOperatorSetupException.html" title="class in org.apache.drill.exec.physical">PhysicalOperatorSetupException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/drill/exec/physical/PhysicalOperatorSetupException.html" title="class in org.apache.drill.exec.physical">PhysicalOperatorSetupException</a></code></dd>
</dl>
</li>
</ul>
<a name="generateWorkUnit-org.apache.drill.exec.server.options.OptionList-org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint-org.apache.drill.exec.proto.UserBitShared.QueryId-java.util.Collection-org.apache.drill.exec.planner.fragment.Fragment-org.apache.drill.exec.rpc.user.UserSession-org.apache.drill.exec.proto.BitControl.QueryContextInformation-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>generateWorkUnit</h4>
<pre>public final&nbsp;<a href="../../../../../../org/apache/drill/exec/work/QueryWorkUnit.html" title="class in org.apache.drill.exec.work">QueryWorkUnit</a>&nbsp;generateWorkUnit(<a href="../../../../../../org/apache/drill/exec/server/options/OptionList.html" title="class in org.apache.drill.exec.server.options">OptionList</a>&nbsp;options,
<a href="../../../../../../org/apache/drill/exec/proto/CoordinationProtos.DrillbitEndpoint.html" title="class in org.apache.drill.exec.proto">CoordinationProtos.DrillbitEndpoint</a>&nbsp;foremanNode,
<a href="../../../../../../org/apache/drill/exec/proto/UserBitShared.QueryId.html" title="class in org.apache.drill.exec.proto">UserBitShared.QueryId</a>&nbsp;queryId,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../../org/apache/drill/exec/proto/CoordinationProtos.DrillbitEndpoint.html" title="class in org.apache.drill.exec.proto">CoordinationProtos.DrillbitEndpoint</a>&gt;&nbsp;activeEndpoints,
<a href="../../../../../../org/apache/drill/exec/planner/fragment/Fragment.html" title="class in org.apache.drill.exec.planner.fragment">Fragment</a>&nbsp;rootFragment,
<a href="../../../../../../org/apache/drill/exec/rpc/user/UserSession.html" title="class in org.apache.drill.exec.rpc.user">UserSession</a>&nbsp;session,
<a href="../../../../../../org/apache/drill/exec/proto/BitControl.QueryContextInformation.html" title="class in org.apache.drill.exec.proto">BitControl.QueryContextInformation</a>&nbsp;queryContextInfo)
throws <a href="../../../../../../org/apache/drill/common/exceptions/ExecutionSetupException.html" title="class in org.apache.drill.common.exceptions">ExecutionSetupException</a></pre>
<div class="block">The starting function for the whole parallelization and memory computation logic.
1) Initially a fragment tree is prepared which contains a wrapper for each fragment.
The topology of this tree is same as that of the major fragment tree.
2) Traverse this fragment tree to collect stats for each major fragment and then
parallelize each fragment. At this stage minor fragments are not created but all
the required information to create minor fragment are computed.
3) Memory is computed for each operator and for the minor fragment.
4) Lastly all the above computed information is used to create the minor fragments
for each major fragment.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/drill/exec/planner/fragment/QueryParallelizer.html#generateWorkUnit-org.apache.drill.exec.server.options.OptionList-org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint-org.apache.drill.exec.proto.UserBitShared.QueryId-java.util.Collection-org.apache.drill.exec.planner.fragment.Fragment-org.apache.drill.exec.rpc.user.UserSession-org.apache.drill.exec.proto.BitControl.QueryContextInformation-">generateWorkUnit</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/drill/exec/planner/fragment/QueryParallelizer.html" title="interface in org.apache.drill.exec.planner.fragment">QueryParallelizer</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>options</code> - List of options set by the user.</dd>
<dd><code>foremanNode</code> - foreman node for this query plan.</dd>
<dd><code>queryId</code> - Query ID.</dd>
<dd><code>activeEndpoints</code> - currently active endpoints on which this plan will run.</dd>
<dd><code>rootFragment</code> - Root major fragment.</dd>
<dd><code>session</code> - session context.</dd>
<dd><code>queryContextInfo</code> - query context.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/drill/common/exceptions/ExecutionSetupException.html" title="class in org.apache.drill.common.exceptions">ExecutionSetupException</a></code></dd>
</dl>
</li>
</ul>
<a name="getSplitFragments-org.apache.drill.exec.server.options.OptionList-org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint-org.apache.drill.exec.proto.UserBitShared.QueryId-java.util.Collection-org.apache.drill.exec.planner.PhysicalPlanReader-org.apache.drill.exec.planner.fragment.Fragment-org.apache.drill.exec.rpc.user.UserSession-org.apache.drill.exec.proto.BitControl.QueryContextInformation-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSplitFragments</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/drill/exec/work/QueryWorkUnit.html" title="class in org.apache.drill.exec.work">QueryWorkUnit</a>&gt;&nbsp;getSplitFragments(<a href="../../../../../../org/apache/drill/exec/server/options/OptionList.html" title="class in org.apache.drill.exec.server.options">OptionList</a>&nbsp;options,
<a href="../../../../../../org/apache/drill/exec/proto/CoordinationProtos.DrillbitEndpoint.html" title="class in org.apache.drill.exec.proto">CoordinationProtos.DrillbitEndpoint</a>&nbsp;foremanNode,
<a href="../../../../../../org/apache/drill/exec/proto/UserBitShared.QueryId.html" title="class in org.apache.drill.exec.proto">UserBitShared.QueryId</a>&nbsp;queryId,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../../org/apache/drill/exec/proto/CoordinationProtos.DrillbitEndpoint.html" title="class in org.apache.drill.exec.proto">CoordinationProtos.DrillbitEndpoint</a>&gt;&nbsp;activeEndpoints,
<a href="../../../../../../org/apache/drill/exec/planner/PhysicalPlanReader.html" title="class in org.apache.drill.exec.planner">PhysicalPlanReader</a>&nbsp;reader,
<a href="../../../../../../org/apache/drill/exec/planner/fragment/Fragment.html" title="class in org.apache.drill.exec.planner.fragment">Fragment</a>&nbsp;rootFragment,
<a href="../../../../../../org/apache/drill/exec/rpc/user/UserSession.html" title="class in org.apache.drill.exec.rpc.user">UserSession</a>&nbsp;session,
<a href="../../../../../../org/apache/drill/exec/proto/BitControl.QueryContextInformation.html" title="class in org.apache.drill.exec.proto">BitControl.QueryContextInformation</a>&nbsp;queryContextInfo)
throws <a href="../../../../../../org/apache/drill/common/exceptions/ExecutionSetupException.html" title="class in org.apache.drill.common.exceptions">ExecutionSetupException</a></pre>
<div class="block">Create multiple physical plans from original query planning, it will allow execute them eventually independently</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>options</code> - </dd>
<dd><code>foremanNode</code> - </dd>
<dd><code>queryId</code> - </dd>
<dd><code>activeEndpoints</code> - </dd>
<dd><code>reader</code> - </dd>
<dd><code>rootFragment</code> - </dd>
<dd><code>session</code> - </dd>
<dd><code>queryContextInfo</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The <a href="../../../../../../org/apache/drill/exec/work/QueryWorkUnit.html" title="class in org.apache.drill.exec.work"><code>QueryWorkUnit</code></a>s.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/drill/common/exceptions/ExecutionSetupException.html" title="class in org.apache.drill.common.exceptions">ExecutionSetupException</a></code></dd>
</dl>
</li>
</ul>
<a name="initFragmentWrappers-org.apache.drill.exec.planner.fragment.Fragment-org.apache.drill.exec.planner.fragment.PlanningSet-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initFragmentWrappers</h4>
<pre>public&nbsp;void&nbsp;initFragmentWrappers(<a href="../../../../../../org/apache/drill/exec/planner/fragment/Fragment.html" title="class in org.apache.drill.exec.planner.fragment">Fragment</a>&nbsp;rootFragment,
<a href="../../../../../../org/apache/drill/exec/planner/fragment/PlanningSet.html" title="class in org.apache.drill.exec.planner.fragment">PlanningSet</a>&nbsp;planningSet)</pre>
</li>
</ul>
<a name="traverse-org.apache.drill.exec.planner.fragment.Wrapper-java.util.function.Consumer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>traverse</h4>
<pre>protected&nbsp;void&nbsp;traverse(<a href="../../../../../../org/apache/drill/exec/planner/fragment/Wrapper.html" title="class in org.apache.drill.exec.planner.fragment">Wrapper</a>&nbsp;fragmentWrapper,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Consumer.html?is-external=true" title="class or interface in java.util.function">Consumer</a>&lt;<a href="../../../../../../org/apache/drill/exec/planner/fragment/Wrapper.html" title="class in org.apache.drill.exec.planner.fragment">Wrapper</a>&gt;&nbsp;operation)
throws <a href="../../../../../../org/apache/drill/exec/physical/PhysicalOperatorSetupException.html" title="class in org.apache.drill.exec.physical">PhysicalOperatorSetupException</a></pre>
<div class="block">Call operation on each fragment. Traversal calls operation
on child fragments before calling it on the parent fragment.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/drill/exec/physical/PhysicalOperatorSetupException.html" title="class in org.apache.drill.exec.physical">PhysicalOperatorSetupException</a></code></dd>
</dl>
</li>
</ul>
<a name="getMemory--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMemory</h4>
<pre>protected abstract&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/BiFunction.html?is-external=true" title="class or interface in java.util.function">BiFunction</a>&lt;<a href="../../../../../../org/apache/drill/exec/proto/CoordinationProtos.DrillbitEndpoint.html" title="class in org.apache.drill.exec.proto">CoordinationProtos.DrillbitEndpoint</a>,<a href="../../../../../../org/apache/drill/exec/physical/base/PhysicalOperator.html" title="interface in org.apache.drill.exec.physical.base">PhysicalOperator</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;getMemory()</pre>
</li>
</ul>
<a name="generateWorkUnit-org.apache.drill.exec.server.options.OptionList-org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint-org.apache.drill.exec.proto.UserBitShared.QueryId-org.apache.drill.exec.planner.fragment.Fragment-org.apache.drill.exec.planner.fragment.PlanningSet-org.apache.drill.exec.rpc.user.UserSession-org.apache.drill.exec.proto.BitControl.QueryContextInformation-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>generateWorkUnit</h4>
<pre>protected&nbsp;<a href="../../../../../../org/apache/drill/exec/work/QueryWorkUnit.html" title="class in org.apache.drill.exec.work">QueryWorkUnit</a>&nbsp;generateWorkUnit(<a href="../../../../../../org/apache/drill/exec/server/options/OptionList.html" title="class in org.apache.drill.exec.server.options">OptionList</a>&nbsp;options,
<a href="../../../../../../org/apache/drill/exec/proto/CoordinationProtos.DrillbitEndpoint.html" title="class in org.apache.drill.exec.proto">CoordinationProtos.DrillbitEndpoint</a>&nbsp;foremanNode,
<a href="../../../../../../org/apache/drill/exec/proto/UserBitShared.QueryId.html" title="class in org.apache.drill.exec.proto">UserBitShared.QueryId</a>&nbsp;queryId,
<a href="../../../../../../org/apache/drill/exec/planner/fragment/Fragment.html" title="class in org.apache.drill.exec.planner.fragment">Fragment</a>&nbsp;rootNode,
<a href="../../../../../../org/apache/drill/exec/planner/fragment/PlanningSet.html" title="class in org.apache.drill.exec.planner.fragment">PlanningSet</a>&nbsp;planningSet,
<a href="../../../../../../org/apache/drill/exec/rpc/user/UserSession.html" title="class in org.apache.drill.exec.rpc.user">UserSession</a>&nbsp;session,
<a href="../../../../../../org/apache/drill/exec/proto/BitControl.QueryContextInformation.html" title="class in org.apache.drill.exec.proto">BitControl.QueryContextInformation</a>&nbsp;queryContextInfo)
throws <a href="../../../../../../org/apache/drill/common/exceptions/ExecutionSetupException.html" title="class in org.apache.drill.common.exceptions">ExecutionSetupException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/drill/common/exceptions/ExecutionSetupException.html" title="class in org.apache.drill.common.exceptions">ExecutionSetupException</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/SimpleParallelizer.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/drill/exec/planner/fragment/QueueQueryParallelizer.html" title="class in org.apache.drill.exec.planner.fragment"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/drill/exec/planner/fragment/SimpleParallelizer.CountRequiredFragments.html" title="class in org.apache.drill.exec.planner.fragment"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/drill/exec/planner/fragment/SimpleParallelizer.html" target="_top">Frames</a></li>
<li><a href="SimpleParallelizer.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 1970 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>