blob: 24658f4cd562e8cf2727fa120d4af1e943115d6f [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>org.apache.drill.exec.resourcemgr.config.selectionpolicy (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="org.apache.drill.exec.resourcemgr.config.selectionpolicy (Drill : 1.20.3 API)";
}
}
catch(err) {
}
//-->
</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 class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-use.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/resourcemgr/config/exception/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../../../../../org/apache/drill/exec/resourcemgr/config/selectors/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/drill/exec/resourcemgr/config/selectionpolicy/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.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>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 title="Package" class="title">Package&nbsp;org.apache.drill.exec.resourcemgr.config.selectionpolicy</h1>
<div class="docSummary">
<div class="block">Defines all the selection policy implementation which can be configured with Resource Management.</div>
</div>
<p>See:&nbsp;<a href="#package.description">Description</a></p>
</div>
<div class="contentContainer">
<ul class="blockList">
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/resourcemgr/config/selectionpolicy/QueueSelectionPolicy.html" title="interface in org.apache.drill.exec.resourcemgr.config.selectionpolicy">QueueSelectionPolicy</a></td>
<td class="colLast">
<div class="block">Interface that defines all the implementation of a QueueSelectionPolicy supported by ResourceManagement</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/resourcemgr/config/selectionpolicy/AbstractQueueSelectionPolicy.html" title="class in org.apache.drill.exec.resourcemgr.config.selectionpolicy">AbstractQueueSelectionPolicy</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/resourcemgr/config/selectionpolicy/BestFitQueueSelection.html" title="class in org.apache.drill.exec.resourcemgr.config.selectionpolicy">BestFitQueueSelection</a></td>
<td class="colLast">
<div class="block">Helps to select a queue whose <a href="../../../../../../../org/apache/drill/exec/resourcemgr/config/QueryQueueConfig.html#getMaxQueryMemoryInMBPerNode--"><code>QueryQueueConfig.getMaxQueryMemoryInMBPerNode()</code></a> is nearest to the max memory
on a node required by the given query.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/resourcemgr/config/selectionpolicy/DefaultQueueSelection.html" title="class in org.apache.drill.exec.resourcemgr.config.selectionpolicy">DefaultQueueSelection</a></td>
<td class="colLast">
<div class="block">Helps to select the first default queue in the list of all the provided queues.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/resourcemgr/config/selectionpolicy/QueueSelectionPolicyFactory.html" title="class in org.apache.drill.exec.resourcemgr.config.selectionpolicy">QueueSelectionPolicyFactory</a></td>
<td class="colLast">
<div class="block">Factory to return an instance of <a href="../../../../../../../org/apache/drill/exec/resourcemgr/config/selectionpolicy/QueueSelectionPolicy.html" title="interface in org.apache.drill.exec.resourcemgr.config.selectionpolicy"><code>QueueSelectionPolicy</code></a> based on the configured policy name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/resourcemgr/config/selectionpolicy/RandomQueueSelection.html" title="class in org.apache.drill.exec.resourcemgr.config.selectionpolicy">RandomQueueSelection</a></td>
<td class="colLast">
<div class="block">Randomly selects a queue from the list of all the provided queues.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Summary table, listing enums, and an explanation">
<caption><span>Enum Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Enum</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/resourcemgr/config/selectionpolicy/QueueSelectionPolicy.SelectionPolicy.html" title="enum in org.apache.drill.exec.resourcemgr.config.selectionpolicy">QueueSelectionPolicy.SelectionPolicy</a></td>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="package.description">
<!-- -->
</a>
<h2 title="Package org.apache.drill.exec.resourcemgr.config.selectionpolicy Description">Package org.apache.drill.exec.resourcemgr.config.selectionpolicy Description</h2>
<div class="block">Defines all the selection policy implementation which can be configured with Resource Management. The
configuration which is used to specify a policy is
<a href="../../../../../../../org/apache/drill/exec/resourcemgr/config/ResourcePoolTreeImpl.html#ROOT_POOL_QUEUE_SELECTION_POLICY_KEY"><code>ResourcePoolTreeImpl.ROOT_POOL_QUEUE_SELECTION_POLICY_KEY</code></a>. Selection Policy
helps to select a single leaf ResourcePool out of all the eligible pools whose queue can be used to admit this query.
Currently there are 3 types of supported policies. In future more policies can be supported by implementing
<a href="../../../../../../../org/apache/drill/exec/resourcemgr/config/selectionpolicy/QueueSelectionPolicy.html" title="interface in org.apache.drill.exec.resourcemgr.config.selectionpolicy"><code>QueueSelectionPolicy</code></a> interface.
<ul>
<li><a href="../../../../../../../org/apache/drill/exec/resourcemgr/config/selectionpolicy/DefaultQueueSelection.html" title="class in org.apache.drill.exec.resourcemgr.config.selectionpolicy"><code>DefaultQueueSelection</code></a>: Out of all the eligible pools
this policy will choose a default pool in the list. If there are multiple default pools present in the list then
it will return the first default pool. If there is no default pool present then it throws
<a href="../../../../../../../org/apache/drill/exec/resourcemgr/config/exception/QueueSelectionException.html" title="class in org.apache.drill.exec.resourcemgr.config.exception"><code>QueueSelectionException</code></a>
</li>
<li><a href="../../../../../../../org/apache/drill/exec/resourcemgr/config/selectionpolicy/RandomQueueSelection.html" title="class in org.apache.drill.exec.resourcemgr.config.selectionpolicy"><code>RandomQueueSelection</code></a>: Out of all the eligible pools
this policy will choose a pool at random. If there are no pools to select from then it throws
<a href="../../../../../../../org/apache/drill/exec/resourcemgr/config/exception/QueueSelectionException.html" title="class in org.apache.drill.exec.resourcemgr.config.exception"><code>QueueSelectionException</code></a>
</li>
<li><a href="../../../../../../../org/apache/drill/exec/resourcemgr/config/selectionpolicy/BestFitQueueSelection.html" title="class in org.apache.drill.exec.resourcemgr.config.selectionpolicy"><code>BestFitQueueSelection</code></a>: Out of all the eligible pools
this policy will choose a pool whose queue configuration
<a href="../../../../../../../org/apache/drill/exec/resourcemgr/config/QueryQueueConfigImpl.html#MAX_QUERY_MEMORY_PER_NODE_KEY"><code>QueryQueueConfigImpl.MAX_QUERY_MEMORY_PER_NODE_KEY</code></a> value is closest to
the max memory on a node required by the query. It tries to find a pool whose value for MAX_QUERY_MEMORY_PER_NODE
is equal to queries max memory per node requirement. If there is no such pool then find the pool with config value
just greater than queries max memory per node. Otherwise find a pool with config value just less than queries
max memory per node.
</li>
</ul></div>
</div>
<!-- ======= 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 class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-use.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/resourcemgr/config/exception/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../../../../../org/apache/drill/exec/resourcemgr/config/selectors/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/drill/exec/resourcemgr/config/selectionpolicy/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.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>
<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>