blob: d753979e0967a405f958d55ae6af18d030d35bb1 [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>RegionPlacementMaintainer (Apache HBase 3.0.0-alpha-2-SNAPSHOT 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="RegionPlacementMaintainer (Apache HBase 3.0.0-alpha-2-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":9,"i5":10,"i6":10,"i7":10,"i8":9,"i9":9,"i10":10,"i11":9,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance 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/RegionPlacementMaintainer.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/hadoop/hbase/master/RackManager.html" title="class in org.apache.hadoop.hbase.master"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.RandomizedMatrix.html" title="class in org.apache.hadoop.hbase.master"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html" target="_top">Frames</a></li>
<li><a href="RegionPlacementMaintainer.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><a href="#field.summary">Field</a>&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><a href="#field.detail">Field</a>&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.hadoop.hbase.master</div>
<h2 title="Class RegionPlacementMaintainer" class="title">Class RegionPlacementMaintainer</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.hadoop.hbase.master.RegionPlacementMaintainer</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></dd>
</dl>
<hr>
<br>
<pre>@InterfaceAudience.Private
public class <a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#line.72">RegionPlacementMaintainer</a>
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="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a></pre>
<div class="block">A tool that is used for manipulating and viewing favored nodes information
for regions. Run with -h to get a list of the options</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/hadoop/hbase/master/RegionPlacementMaintainer.RandomizedMatrix.html" title="class in org.apache.hadoop.hbase.master">RegionPlacementMaintainer.RandomizedMatrix</a></span></code>
<div class="block">Some algorithms for solving the assignment problem may traverse workers or
jobs in linear order which may result in skewing the assignments of the
first jobs in the matrix toward the last workers in the matrix if the
costs are uniform.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static float</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#AVOID_COST">AVOID_COST</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private org.apache.hadoop.conf.Configuration</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#conf">conf</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/client/AsyncClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncClusterConnection</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#connection">connection</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#enforceLocality">enforceLocality</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#enforceMinAssignmentMove">enforceMinAssignmentMove</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static float</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#LAST_SLOT_COST_PENALTY">LAST_SLOT_COST_PENALTY</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static org.slf4j.Logger</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#LOG">LOG</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static float</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#MAX_COST">MAX_COST</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static float</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#NOT_CURRENT_HOST_PENALTY">NOT_CURRENT_HOST_PENALTY</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/master/RackManager.html" title="class in org.apache.hadoop.hbase.master">RackManager</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#rackManager">rackManager</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <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/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#targetTableSet">targetTableSet</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#USE_MUNKRES_FOR_PLACING_SECONDARY_AND_TERTIARY">USE_MUNKRES_FOR_PLACING_SECONDARY_AND_TERTIARY</a></span></code>&nbsp;</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="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#RegionPlacementMaintainer-org.apache.hadoop.conf.Configuration-">RegionPlacementMaintainer</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#RegionPlacementMaintainer-org.apache.hadoop.conf.Configuration-boolean-boolean-">RegionPlacementMaintainer</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
boolean&nbsp;enforceLocality,
boolean&nbsp;enforceMinAssignmentMove)</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="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></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="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>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#checkDifferencesWithOldPlan-java.util.Map-java.util.Map-org.apache.hadoop.hbase.favored.FavoredNodesPlan-">checkDifferencesWithOldPlan</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;movesPerTable,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Float.html?is-external=true" title="class or interface in java.lang">Float</a>&gt;&gt;&nbsp;regionLocalityMap,
<a href="../../../../../org/apache/hadoop/hbase/favored/FavoredNodesPlan.html" title="class in org.apache.hadoop.hbase.favored">FavoredNodesPlan</a>&nbsp;newPlan)</code>
<div class="block">Compares two plans and check whether the locality dropped or increased
(prints the information as a string) also prints the baseline locality</div>
</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/hadoop/hbase/master/RegionPlacementMaintainer.html#close--">close</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#genAssignmentPlan-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.master.SnapshotOfRegionAssignmentFromMeta-java.util.Map-org.apache.hadoop.hbase.favored.FavoredNodesPlan-boolean-">genAssignmentPlan</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
<a href="../../../../../org/apache/hadoop/hbase/master/SnapshotOfRegionAssignmentFromMeta.html" title="class in org.apache.hadoop.hbase.master">SnapshotOfRegionAssignmentFromMeta</a>&nbsp;assignmentSnapshot,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Float.html?is-external=true" title="class or interface in java.lang">Float</a>&gt;&gt;&nbsp;regionLocalityMap,
<a href="../../../../../org/apache/hadoop/hbase/favored/FavoredNodesPlan.html" title="class in org.apache.hadoop.hbase.favored">FavoredNodesPlan</a>&nbsp;plan,
boolean&nbsp;munkresForSecondaryAndTertiary)</code>
<div class="block">Generate the assignment plan for the existing table</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/client/AsyncClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncClusterConnection</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#getConnection--">getConnection</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static <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/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#getFavoredNodeList-java.lang.String-">getFavoredNodeList</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;favoredNodesStr)</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/favored/FavoredNodesPlan.html" title="class in org.apache.hadoop.hbase.favored">FavoredNodesPlan</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#getNewAssignmentPlan--">getNewAssignmentPlan</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/SnapshotOfRegionAssignmentFromMeta.html" title="class in org.apache.hadoop.hbase.master">SnapshotOfRegionAssignmentFromMeta</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#getRegionAssignmentSnapshot--">getRegionAssignmentSnapshot</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#getRegionsMovement-org.apache.hadoop.hbase.favored.FavoredNodesPlan-">getRegionsMovement</a></span>(<a href="../../../../../org/apache/hadoop/hbase/favored/FavoredNodesPlan.html" title="class in org.apache.hadoop.hbase.favored">FavoredNodesPlan</a>&nbsp;newPlan)</code>
<div class="block">Return how many regions will move per table since their primary RS will
change</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#main-java.lang.String:A-">main</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)</code>&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#printAssignmentPlan-org.apache.hadoop.hbase.favored.FavoredNodesPlan-">printAssignmentPlan</a></span>(<a href="../../../../../org/apache/hadoop/hbase/favored/FavoredNodesPlan.html" title="class in org.apache.hadoop.hbase.favored">FavoredNodesPlan</a>&nbsp;plan)</code>
<div class="block">Print the assignment plan to the system output stream</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#printDispersionScores-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.master.SnapshotOfRegionAssignmentFromMeta-int-org.apache.hadoop.hbase.favored.FavoredNodesPlan-boolean-">printDispersionScores</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
<a href="../../../../../org/apache/hadoop/hbase/master/SnapshotOfRegionAssignmentFromMeta.html" title="class in org.apache.hadoop.hbase.master">SnapshotOfRegionAssignmentFromMeta</a>&nbsp;snapshot,
int&nbsp;numRegions,
<a href="../../../../../org/apache/hadoop/hbase/favored/FavoredNodesPlan.html" title="class in org.apache.hadoop.hbase.favored">FavoredNodesPlan</a>&nbsp;newPlan,
boolean&nbsp;simplePrint)</code>&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>private static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#printHelp-org.apache.hbase.thirdparty.org.apache.commons.cli.Options-">printHelp</a></span>(org.apache.hbase.thirdparty.org.apache.commons.cli.Options&nbsp;opt)</code>&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#printLocalityAndDispersionForCurrentPlan-java.util.Map-">printLocalityAndDispersionForCurrentPlan</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Float.html?is-external=true" title="class or interface in java.lang">Float</a>&gt;&gt;&nbsp;regionLocalityMap)</code>&nbsp;</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#setTargetTableName-java.lang.String:A-">setTargetTableName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;tableNames)</code>&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#updateAssignmentPlan-org.apache.hadoop.hbase.favored.FavoredNodesPlan-">updateAssignmentPlan</a></span>(<a href="../../../../../org/apache/hadoop/hbase/favored/FavoredNodesPlan.html" title="class in org.apache.hadoop.hbase.favored">FavoredNodesPlan</a>&nbsp;plan)</code>&nbsp;</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#updateAssignmentPlanToMeta-org.apache.hadoop.hbase.favored.FavoredNodesPlan-">updateAssignmentPlanToMeta</a></span>(<a href="../../../../../org/apache/hadoop/hbase/favored/FavoredNodesPlan.html" title="class in org.apache.hadoop.hbase.favored">FavoredNodesPlan</a>&nbsp;plan)</code>
<div class="block">Update the assignment plan into hbase:meta</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#updateAssignmentPlanToRegionServers-org.apache.hadoop.hbase.favored.FavoredNodesPlan-">updateAssignmentPlanToRegionServers</a></span>(<a href="../../../../../org/apache/hadoop/hbase/favored/FavoredNodesPlan.html" title="class in org.apache.hadoop.hbase.favored">FavoredNodesPlan</a>&nbsp;plan)</code>
<div class="block">Update the assignment plan to all the region servers</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<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/hadoop/hbase/master/AssignmentVerificationReport.html" title="class in org.apache.hadoop.hbase.master">AssignmentVerificationReport</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#verifyRegionPlacement-boolean-">verifyRegionPlacement</a></span>(boolean&nbsp;isDetailMode)</code>
<div class="block">Verify the region placement is consistent with the assignment plan</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">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="LOG">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LOG</h4>
<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#line.73">LOG</a></pre>
</li>
</ul>
<a name="MAX_COST">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MAX_COST</h4>
<pre>private static final&nbsp;float <a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#line.76">MAX_COST</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.RegionPlacementMaintainer.MAX_COST">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="AVOID_COST">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AVOID_COST</h4>
<pre>private static final&nbsp;float <a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#line.79">AVOID_COST</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.RegionPlacementMaintainer.AVOID_COST">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="LAST_SLOT_COST_PENALTY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LAST_SLOT_COST_PENALTY</h4>
<pre>private static final&nbsp;float <a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#line.84">LAST_SLOT_COST_PENALTY</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.RegionPlacementMaintainer.LAST_SLOT_COST_PENALTY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="NOT_CURRENT_HOST_PENALTY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>NOT_CURRENT_HOST_PENALTY</h4>
<pre>private static final&nbsp;float <a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#line.88">NOT_CURRENT_HOST_PENALTY</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.RegionPlacementMaintainer.NOT_CURRENT_HOST_PENALTY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="USE_MUNKRES_FOR_PLACING_SECONDARY_AND_TERTIARY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>USE_MUNKRES_FOR_PLACING_SECONDARY_AND_TERTIARY</h4>
<pre>private static&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#line.90">USE_MUNKRES_FOR_PLACING_SECONDARY_AND_TERTIARY</a></pre>
</li>
</ul>
<a name="conf">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>conf</h4>
<pre>private&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#line.92">conf</a></pre>
</li>
</ul>
<a name="enforceLocality">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>enforceLocality</h4>
<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#line.93">enforceLocality</a></pre>
</li>
</ul>
<a name="enforceMinAssignmentMove">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>enforceMinAssignmentMove</h4>
<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#line.94">enforceMinAssignmentMove</a></pre>
</li>
</ul>
<a name="rackManager">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rackManager</h4>
<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/RackManager.html" title="class in org.apache.hadoop.hbase.master">RackManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#line.95">rackManager</a></pre>
</li>
</ul>
<a name="targetTableSet">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>targetTableSet</h4>
<pre>private&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/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#line.96">targetTableSet</a></pre>
</li>
</ul>
<a name="connection">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>connection</h4>
<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncClusterConnection</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#line.97">connection</a></pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="RegionPlacementMaintainer-org.apache.hadoop.conf.Configuration-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>RegionPlacementMaintainer</h4>
<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#line.99">RegionPlacementMaintainer</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="RegionPlacementMaintainer-org.apache.hadoop.conf.Configuration-boolean-boolean-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>RegionPlacementMaintainer</h4>
<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#line.103">RegionPlacementMaintainer</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
boolean&nbsp;enforceLocality,
boolean&nbsp;enforceMinAssignmentMove)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="printHelp-org.apache.hbase.thirdparty.org.apache.commons.cli.Options-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>printHelp</h4>
<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#line.112">printHelp</a>(org.apache.hbase.thirdparty.org.apache.commons.cli.Options&nbsp;opt)</pre>
</li>
</ul>
<a name="getConnection--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConnection</h4>
<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncClusterConnection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#line.120">getConnection</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="setTargetTableName-java.lang.String:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTargetTableName</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#line.128">setTargetTableName</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;tableNames)</pre>
</li>
</ul>
<a name="getRegionAssignmentSnapshot--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRegionAssignmentSnapshot</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/SnapshotOfRegionAssignmentFromMeta.html" title="class in org.apache.hadoop.hbase.master">SnapshotOfRegionAssignmentFromMeta</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#line.138">getRegionAssignmentSnapshot</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the new RegionAssignmentSnapshot</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="verifyRegionPlacement-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>verifyRegionPlacement</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/hadoop/hbase/master/AssignmentVerificationReport.html" title="class in org.apache.hadoop.hbase.master">AssignmentVerificationReport</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#line.148">verifyRegionPlacement</a>(boolean&nbsp;isDetailMode)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Verify the region placement is consistent with the assignment plan</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="genAssignmentPlan-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.master.SnapshotOfRegionAssignmentFromMeta-java.util.Map-org.apache.hadoop.hbase.favored.FavoredNodesPlan-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>genAssignmentPlan</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#line.190">genAssignmentPlan</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
<a href="../../../../../org/apache/hadoop/hbase/master/SnapshotOfRegionAssignmentFromMeta.html" title="class in org.apache.hadoop.hbase.master">SnapshotOfRegionAssignmentFromMeta</a>&nbsp;assignmentSnapshot,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Float.html?is-external=true" title="class or interface in java.lang">Float</a>&gt;&gt;&nbsp;regionLocalityMap,
<a href="../../../../../org/apache/hadoop/hbase/favored/FavoredNodesPlan.html" title="class in org.apache.hadoop.hbase.favored">FavoredNodesPlan</a>&nbsp;plan,
boolean&nbsp;munkresForSecondaryAndTertiary)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Generate the assignment plan for the existing table</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>tableName</code> - </dd>
<dd><code>assignmentSnapshot</code> - </dd>
<dd><code>regionLocalityMap</code> - </dd>
<dd><code>plan</code> - </dd>
<dd><code>munkresForSecondaryAndTertiary</code> - if set on true the assignment plan
for the tertiary and secondary will be generated with Munkres algorithm,
otherwise will be generated using placeSecondaryAndTertiaryRS</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="getNewAssignmentPlan--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNewAssignmentPlan</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/favored/FavoredNodesPlan.html" title="class in org.apache.hadoop.hbase.favored">FavoredNodesPlan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#line.451">getNewAssignmentPlan</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="close--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#line.489">close</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true#close--" title="class or interface in java.io">close</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a></code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="printAssignmentPlan-org.apache.hadoop.hbase.favored.FavoredNodesPlan-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>printAssignmentPlan</h4>
<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#line.612">printAssignmentPlan</a>(<a href="../../../../../org/apache/hadoop/hbase/favored/FavoredNodesPlan.html" title="class in org.apache.hadoop.hbase.favored">FavoredNodesPlan</a>&nbsp;plan)</pre>
<div class="block">Print the assignment plan to the system output stream</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>plan</code> - </dd>
</dl>
</li>
</ul>
<a name="updateAssignmentPlanToMeta-org.apache.hadoop.hbase.favored.FavoredNodesPlan-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateAssignmentPlanToMeta</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#line.633">updateAssignmentPlanToMeta</a>(<a href="../../../../../org/apache/hadoop/hbase/favored/FavoredNodesPlan.html" title="class in org.apache.hadoop.hbase.favored">FavoredNodesPlan</a>&nbsp;plan)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Update the assignment plan into hbase:meta</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>plan</code> - the assignments plan to be updated into hbase:meta</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if cannot update assignment plan in hbase:meta</dd>
</dl>
</li>
</ul>
<a name="updateAssignmentPlanToRegionServers-org.apache.hadoop.hbase.favored.FavoredNodesPlan-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateAssignmentPlanToRegionServers</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#line.658">updateAssignmentPlanToRegionServers</a>(<a href="../../../../../org/apache/hadoop/hbase/favored/FavoredNodesPlan.html" title="class in org.apache.hadoop.hbase.favored">FavoredNodesPlan</a>&nbsp;plan)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Update the assignment plan to all the region servers</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>plan</code> - </dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="updateAssignmentPlan-org.apache.hadoop.hbase.favored.FavoredNodesPlan-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateAssignmentPlan</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#line.724">updateAssignmentPlan</a>(<a href="../../../../../org/apache/hadoop/hbase/favored/FavoredNodesPlan.html" title="class in org.apache.hadoop.hbase.favored">FavoredNodesPlan</a>&nbsp;plan)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="getRegionsMovement-org.apache.hadoop.hbase.favored.FavoredNodesPlan-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRegionsMovement</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#line.743">getRegionsMovement</a>(<a href="../../../../../org/apache/hadoop/hbase/favored/FavoredNodesPlan.html" title="class in org.apache.hadoop.hbase.favored">FavoredNodesPlan</a>&nbsp;newPlan)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Return how many regions will move per table since their primary RS will
change</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>newPlan</code> - - new AssignmentPlan</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>how many primaries will move per table</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="checkDifferencesWithOldPlan-java.util.Map-java.util.Map-org.apache.hadoop.hbase.favored.FavoredNodesPlan-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkDifferencesWithOldPlan</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#line.783">checkDifferencesWithOldPlan</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;movesPerTable,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Float.html?is-external=true" title="class or interface in java.lang">Float</a>&gt;&gt;&nbsp;regionLocalityMap,
<a href="../../../../../org/apache/hadoop/hbase/favored/FavoredNodesPlan.html" title="class in org.apache.hadoop.hbase.favored">FavoredNodesPlan</a>&nbsp;newPlan)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Compares two plans and check whether the locality dropped or increased
(prints the information as a string) also prints the baseline locality</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>movesPerTable</code> - - how many primary regions will move per table</dd>
<dd><code>regionLocalityMap</code> - - locality map from FS</dd>
<dd><code>newPlan</code> - - new assignment plan</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="printDispersionScores-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.master.SnapshotOfRegionAssignmentFromMeta-int-org.apache.hadoop.hbase.favored.FavoredNodesPlan-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>printDispersionScores</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#line.856">printDispersionScores</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
<a href="../../../../../org/apache/hadoop/hbase/master/SnapshotOfRegionAssignmentFromMeta.html" title="class in org.apache.hadoop.hbase.master">SnapshotOfRegionAssignmentFromMeta</a>&nbsp;snapshot,
int&nbsp;numRegions,
<a href="../../../../../org/apache/hadoop/hbase/favored/FavoredNodesPlan.html" title="class in org.apache.hadoop.hbase.favored">FavoredNodesPlan</a>&nbsp;newPlan,
boolean&nbsp;simplePrint)</pre>
</li>
</ul>
<a name="printLocalityAndDispersionForCurrentPlan-java.util.Map-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>printLocalityAndDispersionForCurrentPlan</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#line.877">printLocalityAndDispersionForCurrentPlan</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Float.html?is-external=true" title="class or interface in java.lang">Float</a>&gt;&gt;&nbsp;regionLocalityMap)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="getFavoredNodeList-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFavoredNodeList</h4>
<pre>public static&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/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#line.935">getFavoredNodeList</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;favoredNodesStr)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>favoredNodesStr</code> - The String of favored nodes</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the list of ServerName for the byte array of favored nodes.</dd>
</dl>
</li>
</ul>
<a name="main-java.lang.String:A-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>main</h4>
<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#line.947">main</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</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/RegionPlacementMaintainer.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/hadoop/hbase/master/RackManager.html" title="class in org.apache.hadoop.hbase.master"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.RandomizedMatrix.html" title="class in org.apache.hadoop.hbase.master"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html" target="_top">Frames</a></li>
<li><a href="RegionPlacementMaintainer.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><a href="#field.summary">Field</a>&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><a href="#field.detail">Field</a>&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; 2007&#x2013;2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>