blob: c0de6449e531867347fa340ffb73395b331b44ea [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>BalancerClusterState (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="BalancerClusterState (Apache HBase 3.0.0-alpha-2-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10};
var tabs = {65535:["t0","All 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/BalancerClusterState.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/balancer/BalancerChore.html" title="class in org.apache.hadoop.hbase.master.balancer"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.DefaultRackManager.html" title="class in org.apache.hadoop.hbase.master.balancer"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html" target="_top">Frames</a></li>
<li><a href="BalancerClusterState.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.balancer</div>
<h2 title="Class BalancerClusterState" class="title">Class BalancerClusterState</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.balancer.BalancerClusterState</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>@InterfaceAudience.Private
class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.49">BalancerClusterState</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></pre>
<div class="block">An efficient array based implementation similar to ClusterState for keeping the status of the
cluster in terms of region assignment and distribution. LoadBalancers, such as
StochasticLoadBalancer uses this Cluster object because of hundreds of thousands of hashmap
manipulations are very costly, which is why this class uses mostly indexes and arrays.
<p/>
BalancerClusterState tracks a list of unassigned regions, region assignments, and the server
topology in terms of server names, hostnames and racks.</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>(package private) static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.DefaultRackManager.html" title="class in org.apache.hadoop.hbase.master.balancer">BalancerClusterState.DefaultRackManager</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.LocalityType.html" title="enum in org.apache.hadoop.hbase.master.balancer">BalancerClusterState.LocalityType</a></span></code>&nbsp;</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>(package private) <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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>,<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/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#clusterState">clusterState</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#hasRegionReplicas">hasRegionReplicas</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) <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>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#hosts">hosts</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) <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/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/balancer/BalancerClusterState.html#hostsToIndex">hostsToIndex</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) int[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#initialRegionIndexToServerIndex">initialRegionIndexToServerIndex</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) float[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#localityPerServer">localityPerServer</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/balancer/BalancerClusterState.html#LOG">LOG</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) double[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#maxRegionSkewByTable">maxRegionSkewByTable</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) double[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#meanRegionsPerTable">meanRegionsPerTable</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) double[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#minRegionSkewByTable">minRegionSkewByTable</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#multiServersPerHost">multiServersPerHost</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#numHosts">numHosts</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#numMovedRegions">numMovedRegions</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#numRacks">numRacks</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#numRegions">numRegions</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<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/balancer/BalancerClusterState.html#numRegionsComparator">numRegionsComparator</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) int[][]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#numRegionsPerServerPerTable">numRegionsPerServerPerTable</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) int[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#numRegionsPerTable">numRegionsPerTable</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#numServers">numServers</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#numTables">numTables</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) int[][]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#primariesOfRegionsPerHost">primariesOfRegionsPerHost</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) int[][]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#primariesOfRegionsPerRack">primariesOfRegionsPerRack</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) int[][]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#primariesOfRegionsPerServer">primariesOfRegionsPerServer</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private float[][]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#rackLocalities">rackLocalities</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<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/balancer/BalancerClusterState.html#rackManager">rackManager</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) <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>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#racks">racks</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) <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/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/balancer/BalancerClusterState.html#racksToIndex">racksToIndex</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/balancer/RegionHDFSBlockLocationFinder.html" title="class in org.apache.hadoop.hbase.master.balancer">RegionHDFSBlockLocationFinder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#regionFinder">regionFinder</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) int[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#regionIndexToPrimaryIndex">regionIndexToPrimaryIndex</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) int[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#regionIndexToServerIndex">regionIndexToServerIndex</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) int[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#regionIndexToTableIndex">regionIndexToTableIndex</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Deque.html?is-external=true" title="class or interface in java.util">Deque</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerRegionLoad.html" title="class in org.apache.hadoop.hbase.master.balancer">BalancerRegionLoad</a>&gt;[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#regionLoads">regionLoads</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) int[][]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#regionLocations">regionLocations</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#regions">regions</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) double[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#regionSkewByTable">regionSkewByTable</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) int[][]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#regionsPerHost">regionsPerHost</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) int[][]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#regionsPerRack">regionsPerRack</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) int[][]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#regionsPerServer">regionsPerServer</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) <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/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</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/balancer/BalancerClusterState.html#regionsToIndex">regionsToIndex</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private int[][]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#regionsToMostLocalEntities">regionsToMostLocalEntities</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) int[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#serverIndexToHostIndex">serverIndexToHostIndex</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) int[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#serverIndexToRackIndex">serverIndexToRackIndex</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) int[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#serverIndexToRegionsOffset">serverIndexToRegionsOffset</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) <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>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#serverIndicesSortedByLocality">serverIndicesSortedByLocality</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) <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>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#serverIndicesSortedByRegionCount">serverIndicesSortedByRegionCount</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#servers">servers</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) int[][]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#serversPerHost">serversPerHost</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) int[][]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#serversPerRack">serversPerRack</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) <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/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</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/balancer/BalancerClusterState.html#serversToIndex">serversToIndex</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</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>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#tables">tables</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) <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/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/balancer/BalancerClusterState.html#tablesToIndex">tablesToIndex</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/balancer/BalancerClusterState.html#BalancerClusterState-java.util.Collection-java.util.Map-java.util.Map-org.apache.hadoop.hbase.master.balancer.RegionHDFSBlockLocationFinder-org.apache.hadoop.hbase.master.RackManager-">BalancerClusterState</a></span>(<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/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&nbsp;unassignedRegions,
<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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>,<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/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&gt;&nbsp;clusterState,
<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/Deque.html?is-external=true" title="class or interface in java.util">Deque</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerRegionLoad.html" title="class in org.apache.hadoop.hbase.master.balancer">BalancerRegionLoad</a>&gt;&gt;&nbsp;loads,
<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/RegionHDFSBlockLocationFinder.html" title="class in org.apache.hadoop.hbase.master.balancer">RegionHDFSBlockLocationFinder</a>&nbsp;regionFinder,
<a href="../../../../../../org/apache/hadoop/hbase/master/RackManager.html" title="class in org.apache.hadoop.hbase.master">RackManager</a>&nbsp;rackManager)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#BalancerClusterState-java.util.Map-java.util.Map-org.apache.hadoop.hbase.master.balancer.RegionHDFSBlockLocationFinder-org.apache.hadoop.hbase.master.RackManager-">BalancerClusterState</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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>,<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/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&gt;&nbsp;clusterState,
<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/Deque.html?is-external=true" title="class or interface in java.util">Deque</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerRegionLoad.html" title="class in org.apache.hadoop.hbase.master.balancer">BalancerRegionLoad</a>&gt;&gt;&nbsp;loads,
<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/RegionHDFSBlockLocationFinder.html" title="class in org.apache.hadoop.hbase.master.balancer">RegionHDFSBlockLocationFinder</a>&nbsp;regionFinder,
<a href="../../../../../../org/apache/hadoop/hbase/master/RackManager.html" title="class in org.apache.hadoop.hbase.master">RackManager</a>&nbsp;rackManager)</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="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>(package private) int[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#addRegion-int:A-int-">addRegion</a></span>(int[]&nbsp;regions,
int&nbsp;regionIndex)</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>(package private) int[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#addRegionSorted-int:A-int-">addRegionSorted</a></span>(int[]&nbsp;regions,
int&nbsp;regionIndex)</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/balancer/BalancerClusterState.html#computeCachedLocalities--">computeCachedLocalities</a></span>()</code>
<div class="block">Computes and caches the locality for each region/rack combinations, as well as storing a
mapping of region -> server and region -> rack such that server and rack have the highest
locality for region</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>(package private) boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#contains-int:A-int-">contains</a></span>(int[]&nbsp;arr,
int&nbsp;val)</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#doAction-org.apache.hadoop.hbase.master.balancer.BalanceAction-">doAction</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalanceAction.html" title="class in org.apache.hadoop.hbase.master.balancer">BalanceAction</a>&nbsp;action)</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>(package private) void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#doAssignRegion-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-">doAssignRegion</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>(package private) float</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#getLocalityOfRegion-int-int-">getLocalityOfRegion</a></span>(int&nbsp;region,
int&nbsp;server)</code>&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>(package private) int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#getLowestLocalityRegionOnServer-int-">getLowestLocalityRegionOnServer</a></span>(int&nbsp;serverIndex)</code>&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>(package private) int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#getNumRegions-int-">getNumRegions</a></span>(int&nbsp;server)</code>&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>float</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#getOrComputeLocality-int-int-org.apache.hadoop.hbase.master.balancer.BalancerClusterState.LocalityType-">getOrComputeLocality</a></span>(int&nbsp;region,
int&nbsp;entity,
<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.LocalityType.html" title="enum in org.apache.hadoop.hbase.master.balancer">BalancerClusterState.LocalityType</a>&nbsp;type)</code>
<div class="block">Looks up locality from cache of localities.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>float[][]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#getOrComputeRackLocalities--">getOrComputeRackLocalities</a></span>()</code>
<div class="block">Retrieves and lazily initializes a field storing the locality of every region/server
combination</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>int[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#getOrComputeRegionsToMostLocalEntities-org.apache.hadoop.hbase.master.balancer.BalancerClusterState.LocalityType-">getOrComputeRegionsToMostLocalEntities</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.LocalityType.html" title="enum in org.apache.hadoop.hbase.master.balancer">BalancerClusterState.LocalityType</a>&nbsp;type)</code>
<div class="block">Lazily initializes and retrieves a mapping of region -> server for which region has the highest
the locality</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#getOrComputeWeightedLocality-int-int-org.apache.hadoop.hbase.master.balancer.BalancerClusterState.LocalityType-">getOrComputeWeightedLocality</a></span>(int&nbsp;region,
int&nbsp;server,
<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.LocalityType.html" title="enum in org.apache.hadoop.hbase.master.balancer">BalancerClusterState.LocalityType</a>&nbsp;type)</code>
<div class="block">Returns locality weighted by region size in MB.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#getRackForRegion-int-">getRackForRegion</a></span>(int&nbsp;region)</code>
<div class="block">Maps region index to rack index</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#getRegionSizeMB-int-">getRegionSizeMB</a></span>(int&nbsp;region)</code>
<div class="block">Returns the size in MB from the most recent RegionLoad for region</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>private double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#getSkewChangeFor-int-int-int-">getSkewChangeFor</a></span>(int&nbsp;serverIndex,
int&nbsp;tableIndex,
int&nbsp;regionCountChange)</code>&nbsp;</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>(package private) void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#regionMoved-int-int-int-">regionMoved</a></span>(int&nbsp;region,
int&nbsp;oldServer,
int&nbsp;newServer)</code>&nbsp;</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#registerRegion-org.apache.hadoop.hbase.client.RegionInfo-int-int-java.util.Map-org.apache.hadoop.hbase.master.balancer.RegionHDFSBlockLocationFinder-">registerRegion</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region,
int&nbsp;regionIndex,
int&nbsp;serverIndex,
<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/Deque.html?is-external=true" title="class or interface in java.util">Deque</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerRegionLoad.html" title="class in org.apache.hadoop.hbase.master.balancer">BalancerRegionLoad</a>&gt;&gt;&nbsp;loads,
<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/RegionHDFSBlockLocationFinder.html" title="class in org.apache.hadoop.hbase.master.balancer">RegionHDFSBlockLocationFinder</a>&nbsp;regionFinder)</code>
<div class="block">Helper for Cluster constructor to handle a region</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>(package private) int[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#removeRegion-int:A-int-">removeRegion</a></span>(int[]&nbsp;regions,
int&nbsp;regionIndex)</code>&nbsp;</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>(package private) int[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#replaceRegion-int:A-int-int-">replaceRegion</a></span>(int[]&nbsp;regions,
int&nbsp;regionIndex,
int&nbsp;newRegionIndex)</code>&nbsp;</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#serverHasTooFewRegions-int-">serverHasTooFewRegions</a></span>(int&nbsp;server)</code>
<div class="block">Returns true iff a given server has less regions than the balanced amount</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>(package private) void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#setNumMovedRegions-int-">setNumMovedRegions</a></span>(int&nbsp;numMovedRegions)</code>&nbsp;</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>(package private) void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#setNumRegions-int-">setNumRegions</a></span>(int&nbsp;numRegions)</code>&nbsp;</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>(package private) void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#sortServersByRegionCount--">sortServersByRegionCount</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code><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></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#toString--">toString</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>(package private) boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#wouldLowerAvailability-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-">wouldLowerAvailability</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>
<div class="block">Return true if the placement of region on server would lower the availability of the region in
question</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#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/balancer/BalancerClusterState.html#line.51">LOG</a></pre>
</li>
</ul>
<a name="servers">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>servers</h4>
<pre><a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.53">servers</a></pre>
</li>
</ul>
<a name="hosts">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hosts</h4>
<pre><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="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.55">hosts</a></pre>
</li>
</ul>
<a name="racks">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>racks</h4>
<pre><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="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.56">racks</a></pre>
</li>
</ul>
<a name="multiServersPerHost">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>multiServersPerHost</h4>
<pre>boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.57">multiServersPerHost</a></pre>
</li>
</ul>
<a name="tables">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>tables</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</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>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.59">tables</a></pre>
</li>
</ul>
<a name="regions">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>regions</h4>
<pre><a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.60">regions</a></pre>
</li>
</ul>
<a name="regionLoads">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>regionLoads</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Deque.html?is-external=true" title="class or interface in java.util">Deque</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerRegionLoad.html" title="class in org.apache.hadoop.hbase.master.balancer">BalancerRegionLoad</a>&gt;[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.61">regionLoads</a></pre>
</li>
</ul>
<a name="regionFinder">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>regionFinder</h4>
<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/RegionHDFSBlockLocationFinder.html" title="class in org.apache.hadoop.hbase.master.balancer">RegionHDFSBlockLocationFinder</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.62">regionFinder</a></pre>
</li>
</ul>
<a name="regionLocations">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>regionLocations</h4>
<pre>int[][] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.64">regionLocations</a></pre>
</li>
</ul>
<a name="serverIndexToHostIndex">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>serverIndexToHostIndex</h4>
<pre>int[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.66">serverIndexToHostIndex</a></pre>
</li>
</ul>
<a name="serverIndexToRackIndex">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>serverIndexToRackIndex</h4>
<pre>int[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.67">serverIndexToRackIndex</a></pre>
</li>
</ul>
<a name="regionsPerServer">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>regionsPerServer</h4>
<pre>int[][] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.69">regionsPerServer</a></pre>
</li>
</ul>
<a name="serverIndexToRegionsOffset">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>serverIndexToRegionsOffset</h4>
<pre>int[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.70">serverIndexToRegionsOffset</a></pre>
</li>
</ul>
<a name="regionsPerHost">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>regionsPerHost</h4>
<pre>int[][] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.71">regionsPerHost</a></pre>
</li>
</ul>
<a name="regionsPerRack">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>regionsPerRack</h4>
<pre>int[][] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.72">regionsPerRack</a></pre>
</li>
</ul>
<a name="primariesOfRegionsPerServer">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>primariesOfRegionsPerServer</h4>
<pre>int[][] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.73">primariesOfRegionsPerServer</a></pre>
</li>
</ul>
<a name="primariesOfRegionsPerHost">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>primariesOfRegionsPerHost</h4>
<pre>int[][] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.75">primariesOfRegionsPerHost</a></pre>
</li>
</ul>
<a name="primariesOfRegionsPerRack">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>primariesOfRegionsPerRack</h4>
<pre>int[][] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.76">primariesOfRegionsPerRack</a></pre>
</li>
</ul>
<a name="serversPerHost">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>serversPerHost</h4>
<pre>int[][] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.78">serversPerHost</a></pre>
</li>
</ul>
<a name="serversPerRack">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>serversPerRack</h4>
<pre>int[][] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.79">serversPerRack</a></pre>
</li>
</ul>
<a name="regionIndexToServerIndex">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>regionIndexToServerIndex</h4>
<pre>int[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.80">regionIndexToServerIndex</a></pre>
</li>
</ul>
<a name="initialRegionIndexToServerIndex">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initialRegionIndexToServerIndex</h4>
<pre>int[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.81">initialRegionIndexToServerIndex</a></pre>
</li>
</ul>
<a name="regionIndexToTableIndex">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>regionIndexToTableIndex</h4>
<pre>int[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.82">regionIndexToTableIndex</a></pre>
</li>
</ul>
<a name="numRegionsPerServerPerTable">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>numRegionsPerServerPerTable</h4>
<pre>int[][] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.83">numRegionsPerServerPerTable</a></pre>
</li>
</ul>
<a name="numRegionsPerTable">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>numRegionsPerTable</h4>
<pre>int[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.84">numRegionsPerTable</a></pre>
</li>
</ul>
<a name="meanRegionsPerTable">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>meanRegionsPerTable</h4>
<pre>double[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.85">meanRegionsPerTable</a></pre>
</li>
</ul>
<a name="regionSkewByTable">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>regionSkewByTable</h4>
<pre>double[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.86">regionSkewByTable</a></pre>
</li>
</ul>
<a name="minRegionSkewByTable">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>minRegionSkewByTable</h4>
<pre>double[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.87">minRegionSkewByTable</a></pre>
</li>
</ul>
<a name="maxRegionSkewByTable">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>maxRegionSkewByTable</h4>
<pre>double[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.88">maxRegionSkewByTable</a></pre>
</li>
</ul>
<a name="regionIndexToPrimaryIndex">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>regionIndexToPrimaryIndex</h4>
<pre>int[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.89">regionIndexToPrimaryIndex</a></pre>
</li>
</ul>
<a name="hasRegionReplicas">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasRegionReplicas</h4>
<pre>boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.90">hasRegionReplicas</a></pre>
</li>
</ul>
<a name="serverIndicesSortedByRegionCount">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>serverIndicesSortedByRegionCount</h4>
<pre><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>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.92">serverIndicesSortedByRegionCount</a></pre>
</li>
</ul>
<a name="serverIndicesSortedByLocality">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>serverIndicesSortedByLocality</h4>
<pre><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>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.93">serverIndicesSortedByLocality</a></pre>
</li>
</ul>
<a name="serversToIndex">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>serversToIndex</h4>
<pre><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/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</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; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.95">serversToIndex</a></pre>
</li>
</ul>
<a name="hostsToIndex">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hostsToIndex</h4>
<pre><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/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.96">hostsToIndex</a></pre>
</li>
</ul>
<a name="racksToIndex">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>racksToIndex</h4>
<pre><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/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.97">racksToIndex</a></pre>
</li>
</ul>
<a name="tablesToIndex">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>tablesToIndex</h4>
<pre><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/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.98">tablesToIndex</a></pre>
</li>
</ul>
<a name="regionsToIndex">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>regionsToIndex</h4>
<pre><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/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</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; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.99">regionsToIndex</a></pre>
</li>
</ul>
<a name="localityPerServer">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>localityPerServer</h4>
<pre>float[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.100">localityPerServer</a></pre>
</li>
</ul>
<a name="numServers">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>numServers</h4>
<pre>int <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.102">numServers</a></pre>
</li>
</ul>
<a name="numHosts">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>numHosts</h4>
<pre>int <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.103">numHosts</a></pre>
</li>
</ul>
<a name="numRacks">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>numRacks</h4>
<pre>int <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.104">numRacks</a></pre>
</li>
</ul>
<a name="numTables">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>numTables</h4>
<pre>int <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.105">numTables</a></pre>
</li>
</ul>
<a name="numRegions">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>numRegions</h4>
<pre>int <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.106">numRegions</a></pre>
</li>
</ul>
<a name="numMovedRegions">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>numMovedRegions</h4>
<pre>int <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.108">numMovedRegions</a></pre>
</li>
</ul>
<a name="clusterState">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clusterState</h4>
<pre><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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>,<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/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.109">clusterState</a></pre>
</li>
</ul>
<a name="rackManager">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rackManager</h4>
<pre>private final&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/balancer/BalancerClusterState.html#line.111">rackManager</a></pre>
</li>
</ul>
<a name="rackLocalities">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rackLocalities</h4>
<pre>private&nbsp;float[][] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.113">rackLocalities</a></pre>
</li>
</ul>
<a name="regionsToMostLocalEntities">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>regionsToMostLocalEntities</h4>
<pre>private&nbsp;int[][] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.115">regionsToMostLocalEntities</a></pre>
</li>
</ul>
<a name="numRegionsComparator">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>numRegionsComparator</h4>
<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<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; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.800">numRegionsComparator</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="BalancerClusterState-java.util.Map-java.util.Map-org.apache.hadoop.hbase.master.balancer.RegionHDFSBlockLocationFinder-org.apache.hadoop.hbase.master.RackManager-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>BalancerClusterState</h4>
<pre><a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.124">BalancerClusterState</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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>,<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/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&gt;&nbsp;clusterState,
<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/Deque.html?is-external=true" title="class or interface in java.util">Deque</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerRegionLoad.html" title="class in org.apache.hadoop.hbase.master.balancer">BalancerRegionLoad</a>&gt;&gt;&nbsp;loads,
<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/RegionHDFSBlockLocationFinder.html" title="class in org.apache.hadoop.hbase.master.balancer">RegionHDFSBlockLocationFinder</a>&nbsp;regionFinder,
<a href="../../../../../../org/apache/hadoop/hbase/master/RackManager.html" title="class in org.apache.hadoop.hbase.master">RackManager</a>&nbsp;rackManager)</pre>
</li>
</ul>
<a name="BalancerClusterState-java.util.Collection-java.util.Map-java.util.Map-org.apache.hadoop.hbase.master.balancer.RegionHDFSBlockLocationFinder-org.apache.hadoop.hbase.master.RackManager-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>BalancerClusterState</h4>
<pre><a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.131">BalancerClusterState</a>(<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/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&nbsp;unassignedRegions,
<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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>,<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/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&gt;&nbsp;clusterState,
<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/Deque.html?is-external=true" title="class or interface in java.util">Deque</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerRegionLoad.html" title="class in org.apache.hadoop.hbase.master.balancer">BalancerRegionLoad</a>&gt;&gt;&nbsp;loads,
<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/RegionHDFSBlockLocationFinder.html" title="class in org.apache.hadoop.hbase.master.balancer">RegionHDFSBlockLocationFinder</a>&nbsp;regionFinder,
<a href="../../../../../../org/apache/hadoop/hbase/master/RackManager.html" title="class in org.apache.hadoop.hbase.master">RackManager</a>&nbsp;rackManager)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="registerRegion-org.apache.hadoop.hbase.client.RegionInfo-int-int-java.util.Map-org.apache.hadoop.hbase.master.balancer.RegionHDFSBlockLocationFinder-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerRegion</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.409">registerRegion</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region,
int&nbsp;regionIndex,
int&nbsp;serverIndex,
<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/Deque.html?is-external=true" title="class or interface in java.util">Deque</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerRegionLoad.html" title="class in org.apache.hadoop.hbase.master.balancer">BalancerRegionLoad</a>&gt;&gt;&nbsp;loads,
<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/RegionHDFSBlockLocationFinder.html" title="class in org.apache.hadoop.hbase.master.balancer">RegionHDFSBlockLocationFinder</a>&nbsp;regionFinder)</pre>
<div class="block">Helper for Cluster constructor to handle a region</div>
</li>
</ul>
<a name="serverHasTooFewRegions-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>serverHasTooFewRegions</h4>
<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.450">serverHasTooFewRegions</a>(int&nbsp;server)</pre>
<div class="block">Returns true iff a given server has less regions than the balanced amount</div>
</li>
</ul>
<a name="getOrComputeRackLocalities--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOrComputeRackLocalities</h4>
<pre>public&nbsp;float[][]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.460">getOrComputeRackLocalities</a>()</pre>
<div class="block">Retrieves and lazily initializes a field storing the locality of every region/server
combination</div>
</li>
</ul>
<a name="getOrComputeRegionsToMostLocalEntities-org.apache.hadoop.hbase.master.balancer.BalancerClusterState.LocalityType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOrComputeRegionsToMostLocalEntities</h4>
<pre>public&nbsp;int[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.471">getOrComputeRegionsToMostLocalEntities</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.LocalityType.html" title="enum in org.apache.hadoop.hbase.master.balancer">BalancerClusterState.LocalityType</a>&nbsp;type)</pre>
<div class="block">Lazily initializes and retrieves a mapping of region -> server for which region has the highest
the locality</div>
</li>
</ul>
<a name="getOrComputeLocality-int-int-org.apache.hadoop.hbase.master.balancer.BalancerClusterState.LocalityType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOrComputeLocality</h4>
<pre>public&nbsp;float&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.481">getOrComputeLocality</a>(int&nbsp;region,
int&nbsp;entity,
<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.LocalityType.html" title="enum in org.apache.hadoop.hbase.master.balancer">BalancerClusterState.LocalityType</a>&nbsp;type)</pre>
<div class="block">Looks up locality from cache of localities. Will create cache if it does not already exist.</div>
</li>
</ul>
<a name="getOrComputeWeightedLocality-int-int-org.apache.hadoop.hbase.master.balancer.BalancerClusterState.LocalityType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOrComputeWeightedLocality</h4>
<pre>public&nbsp;double&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.497">getOrComputeWeightedLocality</a>(int&nbsp;region,
int&nbsp;server,
<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.LocalityType.html" title="enum in org.apache.hadoop.hbase.master.balancer">BalancerClusterState.LocalityType</a>&nbsp;type)</pre>
<div class="block">Returns locality weighted by region size in MB. Will create locality cache if it does not
already exist.</div>
</li>
</ul>
<a name="getRegionSizeMB-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRegionSizeMB</h4>
<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.505">getRegionSizeMB</a>(int&nbsp;region)</pre>
<div class="block">Returns the size in MB from the most recent RegionLoad for region</div>
</li>
</ul>
<a name="computeCachedLocalities--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>computeCachedLocalities</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.519">computeCachedLocalities</a>()</pre>
<div class="block">Computes and caches the locality for each region/rack combinations, as well as storing a
mapping of region -> server and region -> rack such that server and rack have the highest
locality for region</div>
</li>
</ul>
<a name="getRackForRegion-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRackForRegion</h4>
<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.559">getRackForRegion</a>(int&nbsp;region)</pre>
<div class="block">Maps region index to rack index</div>
</li>
</ul>
<a name="doAction-org.apache.hadoop.hbase.master.balancer.BalanceAction-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doAction</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.567">doAction</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalanceAction.html" title="class in org.apache.hadoop.hbase.master.balancer">BalanceAction</a>&nbsp;action)</pre>
</li>
</ul>
<a name="wouldLowerAvailability-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>wouldLowerAvailability</h4>
<pre>boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.608">wouldLowerAvailability</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
<div class="block">Return true if the placement of region on server would lower the availability of the region in
question</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true or false</dd>
</dl>
</li>
</ul>
<a name="doAssignRegion-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doAssignRegion</h4>
<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.672">doAssignRegion</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
</li>
</ul>
<a name="regionMoved-int-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>regionMoved</h4>
<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.681">regionMoved</a>(int&nbsp;region,
int&nbsp;oldServer,
int&nbsp;newServer)</pre>
</li>
</ul>
<a name="removeRegion-int:A-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeRegion</h4>
<pre>int[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.741">removeRegion</a>(int[]&nbsp;regions,
int&nbsp;regionIndex)</pre>
</li>
</ul>
<a name="addRegion-int:A-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addRegion</h4>
<pre>int[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.755">addRegion</a>(int[]&nbsp;regions,
int&nbsp;regionIndex)</pre>
</li>
</ul>
<a name="addRegionSorted-int:A-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addRegionSorted</h4>
<pre>int[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.762">addRegionSorted</a>(int[]&nbsp;regions,
int&nbsp;regionIndex)</pre>
</li>
</ul>
<a name="replaceRegion-int:A-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>replaceRegion</h4>
<pre>int[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.777">replaceRegion</a>(int[]&nbsp;regions,
int&nbsp;regionIndex,
int&nbsp;newRegionIndex)</pre>
</li>
</ul>
<a name="sortServersByRegionCount--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sortServersByRegionCount</h4>
<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.788">sortServersByRegionCount</a>()</pre>
</li>
</ul>
<a name="getNumRegions-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNumRegions</h4>
<pre>int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.792">getNumRegions</a>(int&nbsp;server)</pre>
</li>
</ul>
<a name="contains-int:A-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>contains</h4>
<pre>boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.796">contains</a>(int[]&nbsp;arr,
int&nbsp;val)</pre>
</li>
</ul>
<a name="getLowestLocalityRegionOnServer-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLowestLocalityRegionOnServer</h4>
<pre>int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.802">getLowestLocalityRegionOnServer</a>(int&nbsp;serverIndex)</pre>
</li>
</ul>
<a name="getLocalityOfRegion-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLocalityOfRegion</h4>
<pre>float&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.840">getLocalityOfRegion</a>(int&nbsp;region,
int&nbsp;server)</pre>
</li>
</ul>
<a name="setNumRegions-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setNumRegions</h4>
<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.849">setNumRegions</a>(int&nbsp;numRegions)</pre>
</li>
</ul>
<a name="setNumMovedRegions-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setNumMovedRegions</h4>
<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.853">setNumMovedRegions</a>(int&nbsp;numMovedRegions)</pre>
</li>
</ul>
<a name="toString--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;<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;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.858">toString</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
</dl>
</li>
</ul>
<a name="getSkewChangeFor-int-int-int-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getSkewChangeFor</h4>
<pre>private&nbsp;double&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html#line.874">getSkewChangeFor</a>(int&nbsp;serverIndex,
int&nbsp;tableIndex,
int&nbsp;regionCountChange)</pre>
</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/BalancerClusterState.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/balancer/BalancerChore.html" title="class in org.apache.hadoop.hbase.master.balancer"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BalancerClusterState.DefaultRackManager.html" title="class in org.apache.hadoop.hbase.master.balancer"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/balancer/BalancerClusterState.html" target="_top">Frames</a></li>
<li><a href="BalancerClusterState.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>