Published site at 8991877bb250ee1fe66c2b9a491645973927d674.
authorjenkins <builds@apache.org>
Thu, 20 Dec 2018 10:50:31 +0000 (10:50 +0000)
committerjenkins <builds@apache.org>
Thu, 20 Dec 2018 10:50:31 +0000 (10:50 +0000)
47 files changed:
acid-semantics.html
apache_hbase_reference_guide.pdf
book.html
bulk-loads.html
checkstyle-aggregate.html
coc.html
dependencies.html
dependency-convergence.html
dependency-info.html
dependency-management.html
devapidocs/constant-values.html
devapidocs/org/apache/hadoop/hbase/master/HMaster.MasterStoppedException.html
devapidocs/org/apache/hadoop/hbase/master/HMaster.TableDescriptorGetter.html
devapidocs/org/apache/hadoop/hbase/master/HMaster.html
devapidocs/src-html/org/apache/hadoop/hbase/Version.html
devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.BlockIndexNotLoadedException.html
devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html
devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html
devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.NotSeekedException.html
devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html
devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html
devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.MasterStoppedException.html
devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.RedirectServlet.html
devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.TableDescriptorGetter.html
devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.html
downloads.html
export_control.html
index.html
integration.html
issue-tracking.html
license.html
mail-lists.html
metrics.html
old_news.html
plugin-management.html
plugins.html
poweredbyhbase.html
project-info.html
project-reports.html
project-summary.html
pseudo-distributed.html
replication.html
resources.html
source-repository.html
sponsors.html
supportingprojects.html
team-list.html

index da6bdeb..44bf748 100644 (file)
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181218" />
+    <meta name="Date-Revision-yyyymmdd" content="20181220" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Apache HBase (TM) ACID Properties
@@ -611,7 +611,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-12-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-12-20</li>
             </p>
                 </div>
 
index 61a72b1..5e4f290 100644 (file)
@@ -5,8 +5,8 @@
 /Author (Apache HBase Team)
 /Creator (Asciidoctor PDF 1.5.0.alpha.15, based on Prawn 2.2.2)
 /Producer (Apache HBase Team)
-/ModDate (D:20181218143412+00'00')
-/CreationDate (D:20181218145148+00'00')
+/ModDate (D:20181220102940+00'00')
+/CreationDate (D:20181220104643+00'00')
 >>
 endobj
 2 0 obj
index afdb9f1..6d8a1e9 100644 (file)
--- a/book.html
+++ b/book.html
@@ -41371,7 +41371,7 @@ org/apache/hadoop/hbase/security/access/AccessControlClient.revoke:(Lorg/apache/
 <div id="footer">
 <div id="footer-text">
 Version 3.0.0-SNAPSHOT<br>
-Last updated 2018-12-18 14:34:12 UTC
+Last updated 2018-12-20 10:29:40 UTC
 </div>
 </div>
 </body>
index 55eea1f..d33d91d 100644 (file)
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181218" />
+    <meta name="Date-Revision-yyyymmdd" content="20181220" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Bulk Loads in Apache HBase (TM)
@@ -316,7 +316,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-12-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-12-20</li>
             </p>
                 </div>
 
index 886c36a..1ec2306 100644 (file)
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181218" />
+    <meta name="Date-Revision-yyyymmdd" content="20181220" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Checkstyle Results</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>MethodLength</td>
-<td>Method length is 295 lines (max allowed is 150).</td>
+<td>Method length is 296 lines (max allowed is 150).</td>
 <td>901</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 3, expected level should be 4.</td>
-<td>1416</td></tr>
+<td>1417</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 3, expected level should be 4.</td>
-<td>1418</td></tr>
+<td>1419</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 3, expected level should be 4.</td>
-<td>1420</td></tr>
+<td>1421</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 3, expected level should be 4.</td>
-<td>1422</td></tr>
+<td>1423</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 3, expected level should be 4.</td>
-<td>1424</td></tr>
+<td>1425</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 3, expected level should be 4.</td>
-<td>1432</td></tr>
+<td>1433</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 3, expected level should be 4.</td>
-<td>1433</td></tr>
+<td>1434</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 3, expected level should be 4.</td>
-<td>1438</td></tr>
+<td>1439</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 3, expected level should be 4.</td>
-<td>1439</td></tr>
+<td>1440</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>1653</td></tr>
+<td>1654</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>1675</td></tr>
+<td>1676</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>1692</td></tr>
+<td>1693</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>1727</td></tr>
+<td>1728</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>MethodParamPad</td>
 <td>'(' is preceded with whitespace.</td>
-<td>1880</td></tr>
+<td>1881</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>MethodParamPad</td>
 <td>'(' is preceded with whitespace.</td>
-<td>1884</td></tr>
+<td>1885</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def modifier' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>1896</td></tr>
+<td>1897</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>1898</td></tr>
+<td>1899</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>1900</td></tr>
+<td>1901</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>1903</td></tr>
+<td>1904</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>1906</td></tr>
+<td>1907</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def rcurly' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>1907</td></tr>
+<td>1908</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def modifier' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>1909</td></tr>
+<td>1910</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>1911</td></tr>
+<td>1912</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def rcurly' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>1912</td></tr>
+<td>1913</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'object def rcurly' has incorrect indentation level 4, expected level should be one of the following: 6, 8.</td>
-<td>1913</td></tr>
+<td>1914</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>1919</td></tr>
+<td>1920</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def modifier' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>1923</td></tr>
+<td>1924</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>1925</td></tr>
+<td>1926</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>1926</td></tr>
+<td>1927</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>1929</td></tr>
+<td>1930</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def rcurly' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>1930</td></tr>
+<td>1931</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def modifier' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>1932</td></tr>
+<td>1933</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>1934</td></tr>
+<td>1935</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def rcurly' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>1935</td></tr>
+<td>1936</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'object def rcurly' has incorrect indentation level 4, expected level should be one of the following: 6, 8.</td>
-<td>1936</td></tr>
+<td>1937</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 116).</td>
-<td>1955</td></tr>
+<td>1956</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 105).</td>
-<td>1957</td></tr>
+<td>1958</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>2101</td></tr>
+<td>2102</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>2363</td></tr>
+<td>2364</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>2364</td></tr>
+<td>2365</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>2371</td></tr>
+<td>2372</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>2372</td></tr>
+<td>2373</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>2378</td></tr>
+<td>2379</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>2379</td></tr>
+<td>2380</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>2386</td></tr>
+<td>2387</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>2387</td></tr>
+<td>2388</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>2392</td></tr>
+<td>2393</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def modifier' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2410</td></tr>
+<td>2411</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2412</td></tr>
+<td>2413</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2414</td></tr>
+<td>2415</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2420</td></tr>
+<td>2421</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2421</td></tr>
+<td>2422</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2423</td></tr>
+<td>2424</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2425</td></tr>
+<td>2426</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def rcurly' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2426</td></tr>
+<td>2427</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def modifier' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2428</td></tr>
+<td>2429</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2430</td></tr>
+<td>2431</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def rcurly' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2431</td></tr>
+<td>2432</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'object def rcurly' has incorrect indentation level 4, expected level should be one of the following: 6, 8.</td>
-<td>2432</td></tr>
+<td>2433</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def modifier' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2445</td></tr>
+<td>2446</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2447</td></tr>
+<td>2448</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2449</td></tr>
+<td>2450</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2450</td></tr>
+<td>2451</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2451</td></tr>
+<td>2452</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2453</td></tr>
+<td>2454</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2455</td></tr>
+<td>2456</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def rcurly' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2456</td></tr>
+<td>2457</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def modifier' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2458</td></tr>
+<td>2459</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2460</td></tr>
+<td>2461</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def rcurly' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2461</td></tr>
+<td>2462</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'object def rcurly' has incorrect indentation level 4, expected level should be one of the following: 6, 8.</td>
-<td>2462</td></tr>
+<td>2463</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def modifier' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2545</td></tr>
+<td>2546</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2547</td></tr>
+<td>2548</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2553</td></tr>
+<td>2554</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2554</td></tr>
+<td>2555</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' has incorrect indentation level 10, expected level should be one of the following: 12, 14.</td>
-<td>2555</td></tr>
+<td>2556</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child has incorrect indentation level 12, expected level should be one of the following: 14, 16.</td>
-<td>2556</td></tr>
+<td>2557</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' has incorrect indentation level 12, expected level should be one of the following: 14, 16.</td>
-<td>2557</td></tr>
+<td>2558</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child has incorrect indentation level 14, expected level should be one of the following: 16, 18.</td>
-<td>2558</td></tr>
+<td>2559</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' has incorrect indentation level 14, expected level should be one of the following: 16, 18.</td>
-<td>2559</td></tr>
+<td>2560</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child has incorrect indentation level 16, expected level should be one of the following: 18, 20.</td>
-<td>2560</td></tr>
+<td>2561</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' has incorrect indentation level 14, expected level should be one of the following: 16, 18.</td>
-<td>2562</td></tr>
+<td>2563</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' has incorrect indentation level 12, expected level should be one of the following: 14, 16.</td>
-<td>2563</td></tr>
+<td>2564</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' has incorrect indentation level 10, expected level should be one of the following: 12, 14.</td>
-<td>2564</td></tr>
+<td>2565</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child has incorrect indentation level 12, expected level should be one of the following: 14, 16.</td>
-<td>2565</td></tr>
+<td>2566</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' has incorrect indentation level 10, expected level should be one of the following: 12, 14.</td>
-<td>2566</td></tr>
+<td>2567</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2567</td></tr>
+<td>2568</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2569</td></tr>
+<td>2570</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2576</td></tr>
+<td>2577</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2577</td></tr>
+<td>2578</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2579</td></tr>
+<td>2580</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2581</td></tr>
+<td>2582</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def rcurly' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2582</td></tr>
+<td>2583</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def modifier' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2584</td></tr>
+<td>2585</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2586</td></tr>
+<td>2587</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def rcurly' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2587</td></tr>
+<td>2588</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'object def rcurly' has incorrect indentation level 4, expected level should be one of the following: 6, 8.</td>
-<td>2588</td></tr>
+<td>2589</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def modifier' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2598</td></tr>
+<td>2599</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2600</td></tr>
+<td>2601</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2602</td></tr>
+<td>2603</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2612</td></tr>
+<td>2613</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2613</td></tr>
+<td>2614</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2615</td></tr>
+<td>2616</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2617</td></tr>
+<td>2618</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def rcurly' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2618</td></tr>
+<td>2619</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def modifier' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2620</td></tr>
+<td>2621</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2622</td></tr>
+<td>2623</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def rcurly' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2623</td></tr>
+<td>2624</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'object def rcurly' has incorrect indentation level 4, expected level should be one of the following: 6, 8.</td>
-<td>2624</td></tr>
+<td>2625</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def modifier' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2687</td></tr>
+<td>2688</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def rcurly' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2691</td></tr>
+<td>2692</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def modifier' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2693</td></tr>
+<td>2694</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2695</td></tr>
+<td>2696</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def rcurly' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2696</td></tr>
+<td>2697</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'object def rcurly' has incorrect indentation level 4, expected level should be one of the following: 6, 8.</td>
-<td>2697</td></tr>
+<td>2698</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>3155</td></tr>
+<td>3156</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>3331</td></tr>
+<td>3332</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>3333</td></tr>
+<td>3334</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>3426</td></tr>
+<td>3427</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'for' construct must use '{}'s.</td>
-<td>3456</td></tr>
+<td>3457</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>3463</td></tr>
+<td>3464</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>3468</td></tr>
+<td>3469</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>3497</td></tr>
+<td>3498</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 111).</td>
-<td>3595</td></tr></table></div>
+<td>3596</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.master.HMasterCommandLine.java">org/apache/hadoop/hbase/master/HMasterCommandLine.java</h3>
 <table border="0" class="table table-striped">
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-12-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-12-20</li>
             </p>
                 </div>
 
index 6981c82..865ba2a 100644 (file)
--- a/coc.html
+++ b/coc.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181218" />
+    <meta name="Date-Revision-yyyymmdd" content="20181220" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Code of Conduct Policy
@@ -385,7 +385,7 @@ email to <a class="externalLink" href="mailto:private@hbase.apache.org">the priv
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-12-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-12-20</li>
             </p>
                 </div>
 
index 24daa3a..78e0a4d 100644 (file)
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181218" />
+    <meta name="Date-Revision-yyyymmdd" content="20181220" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Dependencies</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-12-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-12-20</li>
             </p>
                 </div>
 
index b6c0676..0f06ae0 100644 (file)
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181218" />
+    <meta name="Date-Revision-yyyymmdd" content="20181220" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Reactor Dependency Convergence</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-12-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-12-20</li>
             </p>
                 </div>
 
index 2fe8d35..33b6713 100644 (file)
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181218" />
+    <meta name="Date-Revision-yyyymmdd" content="20181220" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Dependency Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-12-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-12-20</li>
             </p>
                 </div>
 
index 4587929..3b2a053 100644 (file)
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181218" />
+    <meta name="Date-Revision-yyyymmdd" content="20181220" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Dependency Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-12-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-12-20</li>
             </p>
                 </div>
 
index 67061e6..dbca586 100644 (file)
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&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></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#date">date</a></code></td>
-<td class="colLast"><code>"Tue Dec 18 14:46:13 UTC 2018"</code></td>
+<td class="colLast"><code>"Thu Dec 20 10:41:19 UTC 2018"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.revision">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&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></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#srcChecksum">srcChecksum</a></code></td>
-<td class="colLast"><code>"0ff9598693406383f0355b09c8c7ea64"</code></td>
+<td class="colLast"><code>"cac6c13f455cde23001f256bae768095"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.url">
index 0dc8005..e98e2e0 100644 (file)
 </dl>
 <hr>
 <br>
-<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3036">HMaster.MasterStoppedException</a>
+<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3037">HMaster.MasterStoppedException</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/DoNotRetryIOException.html" title="class in org.apache.hadoop.hbase">DoNotRetryIOException</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -205,7 +205,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/DoNotRetryIOException.ht
 <ul class="blockListLast">
 <li class="blockList">
 <h4>MasterStoppedException</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.MasterStoppedException.html#line.3037">MasterStoppedException</a>()</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.MasterStoppedException.html#line.3038">MasterStoppedException</a>()</pre>
 </li>
 </ul>
 </li>
index 43b2e7a..801cae4 100644 (file)
@@ -105,7 +105,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>protected static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2489">HMaster.TableDescriptorGetter</a></pre>
+<pre>protected static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2490">HMaster.TableDescriptorGetter</a></pre>
 <div class="block">Implement to return TableDescriptor after pre-checks</div>
 </li>
 </ul>
@@ -150,7 +150,7 @@ var activeTableTab = "activeTableTab";
 <ul class="blockListLast">
 <li class="blockList">
 <h4>get</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.TableDescriptorGetter.html#line.2490">get</a>()
+<pre><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.TableDescriptorGetter.html#line.2491">get</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>
index 3196572..659f14c 100644 (file)
@@ -2494,7 +2494,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>waitForMetaOnline</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1204">waitForMetaOnline</a>()
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1205">waitForMetaOnline</a>()
                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <div class="block">Check hbase:meta is up and ready for reading. For use during Master startup only.</div>
 <dl>
@@ -2512,7 +2512,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>isRegionOnline</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1212">isRegionOnline</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;ri)
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1213">isRegionOnline</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;ri)
                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -2529,7 +2529,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>waitForNamespaceOnline</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1247">waitForNamespaceOnline</a>()
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1248">waitForNamespaceOnline</a>()
                                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>,
                                        <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">Check hbase:namespace table is assigned. If not, startup will hang looking for the ns table
@@ -2552,7 +2552,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>updateConfigurationForQuotasObserver</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1273">updateConfigurationForQuotasObserver</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1274">updateConfigurationForQuotasObserver</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
 <div class="block">Adds the <code>MasterQuotasObserver</code> to the list of configured Master observers to
  automatically remove quotas for a table when that table is deleted.</div>
 </li>
@@ -2563,7 +2563,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>initMobCleaner</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1290">initMobCleaner</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1291">initMobCleaner</a>()</pre>
 </li>
 </ul>
 <a name="createMetaBootstrap--">
@@ -2572,7 +2572,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>createMetaBootstrap</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterMetaBootstrap.html" title="class in org.apache.hadoop.hbase.master">MasterMetaBootstrap</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1315">createMetaBootstrap</a>()</pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterMetaBootstrap.html" title="class in org.apache.hadoop.hbase.master">MasterMetaBootstrap</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1316">createMetaBootstrap</a>()</pre>
 <div class="block"><p>
  Create a <a href="../../../../../org/apache/hadoop/hbase/master/MasterMetaBootstrap.html" title="class in org.apache.hadoop.hbase.master"><code>MasterMetaBootstrap</code></a> instance.
  </p>
@@ -2587,7 +2587,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>createServerManager</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1330">createServerManager</a>(<a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a>&nbsp;master)
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1331">createServerManager</a>(<a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a>&nbsp;master)
                                      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"><p>
  Create a <a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master"><code>ServerManager</code></a> instance.
@@ -2607,7 +2607,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>waitForRegionServers</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1337">waitForRegionServers</a>(<a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&nbsp;status)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1338">waitForRegionServers</a>(<a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&nbsp;status)
                            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>,
                                   <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl>
@@ -2623,7 +2623,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>initClusterSchemaService</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1344">initClusterSchemaService</a>()
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1345">initClusterSchemaService</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>,
                                         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl>
@@ -2639,7 +2639,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>initQuotaManager</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1356">initQuotaManager</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1357">initQuotaManager</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>
@@ -2653,7 +2653,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>createQuotaSnapshotNotifier</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotNotifier.html" title="interface in org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotNotifier</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1362">createQuotaSnapshotNotifier</a>()</pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotNotifier.html" title="interface in org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotNotifier</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1363">createQuotaSnapshotNotifier</a>()</pre>
 </li>
 </ul>
 <a name="isCatalogJanitorEnabled--">
@@ -2662,7 +2662,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>isCatalogJanitorEnabled</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1368">isCatalogJanitorEnabled</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1369">isCatalogJanitorEnabled</a>()</pre>
 </li>
 </ul>
 <a name="isCleanerChoreEnabled--">
@@ -2671,7 +2671,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>isCleanerChoreEnabled</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1373">isCleanerChoreEnabled</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1374">isCleanerChoreEnabled</a>()</pre>
 </li>
 </ul>
 <a name="getServerManager--">
@@ -2680,7 +2680,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getServerManager</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1388">getServerManager</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1389">getServerManager</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getServerManager--">getServerManager</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></code></dd>
@@ -2695,7 +2695,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterFileSystem</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterFileSystem.html" title="class in org.apache.hadoop.hbase.master">MasterFileSystem</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1393">getMasterFileSystem</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterFileSystem.html" title="class in org.apache.hadoop.hbase.master">MasterFileSystem</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1394">getMasterFileSystem</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getMasterFileSystem--">getMasterFileSystem</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></code></dd>
@@ -2710,7 +2710,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterWalManager</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterWalManager.html" title="class in org.apache.hadoop.hbase.master">MasterWalManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1398">getMasterWalManager</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterWalManager.html" title="class in org.apache.hadoop.hbase.master">MasterWalManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1399">getMasterWalManager</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getMasterWalManager--">getMasterWalManager</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></code></dd>
@@ -2725,7 +2725,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableStateManager</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/TableStateManager.html" title="class in org.apache.hadoop.hbase.master">TableStateManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1403">getTableStateManager</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/TableStateManager.html" title="class in org.apache.hadoop.hbase.master">TableStateManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1404">getTableStateManager</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getTableStateManager--">getTableStateManager</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></code></dd>
@@ -2740,7 +2740,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>startServiceThreads</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1414">startServiceThreads</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1415">startServiceThreads</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>
@@ -2754,7 +2754,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>stopServiceThreads</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1464">stopServiceThreads</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1465">stopServiceThreads</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#stopServiceThreads--">HRegionServer</a></code></span></div>
 <div class="block">Wait on all threads to finish. Presumption is that all closes and stops
  have already been called.</div>
@@ -2770,7 +2770,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>createProcedureExecutor</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1512">createProcedureExecutor</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1513">createProcedureExecutor</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>
@@ -2784,7 +2784,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>startProcedureExecutor</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1541">startProcedureExecutor</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1542">startProcedureExecutor</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>
@@ -2798,7 +2798,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>stopProcedureExecutor</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1545">stopProcedureExecutor</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1546">stopProcedureExecutor</a>()</pre>
 </li>
 </ul>
 <a name="stopChores--">
@@ -2807,7 +2807,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>stopChores</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1560">stopChores</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1561">stopChores</a>()</pre>
 </li>
 </ul>
 <a name="getRemoteInetAddress-int-long-">
@@ -2816,7 +2816,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getRemoteInetAddress</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetAddress.html?is-external=true" title="class or interface in java.net">InetAddress</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1580">getRemoteInetAddress</a>(int&nbsp;port,
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetAddress.html?is-external=true" title="class or interface in java.net">InetAddress</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1581">getRemoteInetAddress</a>(int&nbsp;port,
                                  long&nbsp;serverStartCode)
                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/net/UnknownHostException.html?is-external=true" title="class or interface in java.net">UnknownHostException</a></pre>
 <dl>
@@ -2833,7 +2833,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaxBalancingTime</h4>
-<pre>private&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1600">getMaxBalancingTime</a>()</pre>
+<pre>private&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1601">getMaxBalancingTime</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>Maximum time we should run balancer for</dd>
@@ -2846,7 +2846,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaxRegionsInTransition</h4>
-<pre>private&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1613">getMaxRegionsInTransition</a>()</pre>
+<pre>private&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1614">getMaxRegionsInTransition</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>Maximum number of regions in transition</dd>
@@ -2859,7 +2859,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>balanceThrottling</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1625">balanceThrottling</a>(long&nbsp;nextBalanceStartTime,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1626">balanceThrottling</a>(long&nbsp;nextBalanceStartTime,
                                int&nbsp;maxRegionsInTransition,
                                long&nbsp;cutoffTime)</pre>
 <div class="block">It first sleep to the next balance plan start time. Meanwhile, throttling by the max
@@ -2878,7 +2878,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>balance</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1656">balance</a>()
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1657">balance</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>
@@ -2892,7 +2892,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>balance</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1660">balance</a>(boolean&nbsp;force)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1661">balance</a>(boolean&nbsp;force)
                 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>
@@ -2906,7 +2906,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionNormalizer</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/normalizer/RegionNormalizer.html" title="interface in org.apache.hadoop.hbase.master.normalizer">RegionNormalizer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1782">getRegionNormalizer</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/normalizer/RegionNormalizer.html" title="interface in org.apache.hadoop.hbase.master.normalizer">RegionNormalizer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1783">getRegionNormalizer</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getRegionNormalizer--">getRegionNormalizer</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></code></dd>
@@ -2921,7 +2921,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>normalizeRegions</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1793">normalizeRegions</a>()
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1794">normalizeRegions</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>
 <div class="block">Perform normalization of cluster (invoked by <a href="../../../../../org/apache/hadoop/hbase/master/normalizer/RegionNormalizerChore.html" title="class in org.apache.hadoop.hbase.master.normalizer"><code>RegionNormalizerChore</code></a>).</div>
 <dl>
@@ -2940,7 +2940,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getClientIdAuditPrefix</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/HMaster.html#line.1853">getClientIdAuditPrefix</a>()</pre>
+<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/HMaster.html#line.1854">getClientIdAuditPrefix</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getClientIdAuditPrefix--">getClientIdAuditPrefix</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></code></dd>
@@ -2955,7 +2955,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>setCatalogJanitorEnabled</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1864">setCatalogJanitorEnabled</a>(boolean&nbsp;b)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1865">setCatalogJanitorEnabled</a>(boolean&nbsp;b)</pre>
 <div class="block">Switch for the background CatalogJanitor thread.
  Used for testing.  The thread will continue to run.  It will just be a noop
  if disabled.</div>
@@ -2971,7 +2971,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>mergeRegions</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1869">mergeRegions</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1870">mergeRegions</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge,
                          boolean&nbsp;forcible,
                          long&nbsp;nonceGroup,
                          long&nbsp;nonce)
@@ -2999,7 +2999,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>splitRegion</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1917">splitRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1918">splitRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
                         byte[]&nbsp;splitRow,
                         long&nbsp;nonceGroup,
                         long&nbsp;nonce)
@@ -3027,7 +3027,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>move</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1943">move</a>(byte[]&nbsp;encodedRegionName,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1944">move</a>(byte[]&nbsp;encodedRegionName,
                  byte[]&nbsp;destServerName)
           throws <a href="../../../../../org/apache/hadoop/hbase/HBaseIOException.html" title="class in org.apache.hadoop.hbase">HBaseIOException</a></pre>
 <dl>
@@ -3042,7 +3042,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>createTable</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2033">createTable</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;tableDescriptor,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2034">createTable</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;tableDescriptor,
                         byte[][]&nbsp;splitKeys,
                         long&nbsp;nonceGroup,
                         long&nbsp;nonce)
@@ -3067,7 +3067,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>createSystemTable</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2075">createSystemTable</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;tableDescriptor)
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2076">createSystemTable</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;tableDescriptor)
                        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"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#createSystemTable-org.apache.hadoop.hbase.client.TableDescriptor-">MasterServices</a></code></span></div>
 <div class="block">Create a system table using the given table definition.</div>
@@ -3088,7 +3088,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>sanityCheckTableDescriptor</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2103">sanityCheckTableDescriptor</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2104">sanityCheckTableDescriptor</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd)
                                  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">Checks whether the table conforms to some sane limits, and configured
  values (compression, etc) work. Throws an exception if something is wrong.</div>
@@ -3104,7 +3104,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>checkReplicationScope</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2220">checkReplicationScope</a>(<a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>&nbsp;hcd)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2221">checkReplicationScope</a>(<a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>&nbsp;hcd)
                             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>
@@ -3118,7 +3118,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>checkCompactionPolicy</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2232">checkCompactionPolicy</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2233">checkCompactionPolicy</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                    <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd)
                             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>
@@ -3133,7 +3133,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>checkBloomFilterType</h4>
-<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2289">checkBloomFilterType</a>(<a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>&nbsp;cfd)
+<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2290">checkBloomFilterType</a>(<a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>&nbsp;cfd)
                                   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>
@@ -3147,7 +3147,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>warnOrThrowExceptionForFailure</h4>
-<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2300">warnOrThrowExceptionForFailure</a>(boolean&nbsp;logWarn,
+<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2301">warnOrThrowExceptionForFailure</a>(boolean&nbsp;logWarn,
                                                    <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;confKey,
                                                    <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;message,
                                                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a>&nbsp;cause)
@@ -3164,7 +3164,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>startActiveMasterManager</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2309">startActiveMasterManager</a>(int&nbsp;infoPort)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2310">startActiveMasterManager</a>(int&nbsp;infoPort)
                                throws org.apache.zookeeper.KeeperException</pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -3178,7 +3178,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>checkCompression</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2362">checkCompression</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2363">checkCompression</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd)
                        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>
@@ -3192,7 +3192,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>checkCompression</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2370">checkCompression</a>(<a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>&nbsp;hcd)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2371">checkCompression</a>(<a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>&nbsp;hcd)
                        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>
@@ -3206,7 +3206,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>checkEncryption</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2377">checkEncryption</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2378">checkEncryption</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                              <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd)
                       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>
@@ -3221,7 +3221,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>checkEncryption</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2385">checkEncryption</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2386">checkEncryption</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                              <a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>&nbsp;hcd)
                       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>
@@ -3236,7 +3236,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>checkClassLoading</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2391">checkClassLoading</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2392">checkClassLoading</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd)
                         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>
@@ -3251,7 +3251,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>isCatalogTable</h4>
-<pre>private static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2397">isCatalogTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<pre>private static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2398">isCatalogTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 </li>
 </ul>
 <a name="deleteTable-org.apache.hadoop.hbase.TableName-long-long-">
@@ -3260,7 +3260,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteTable</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2402">deleteTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2403">deleteTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                         long&nbsp;nonceGroup,
                         long&nbsp;nonce)
                  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>
@@ -3282,7 +3282,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>truncateTable</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2436">truncateTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2437">truncateTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                           boolean&nbsp;preserveSplits,
                           long&nbsp;nonceGroup,
                           long&nbsp;nonce)
@@ -3306,7 +3306,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>addColumn</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2466">addColumn</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2467">addColumn</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/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>&nbsp;column,
                       long&nbsp;nonceGroup,
                       long&nbsp;nonce)
@@ -3330,7 +3330,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>modifyColumn</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2494">modifyColumn</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2495">modifyColumn</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/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>&nbsp;descriptor,
                          long&nbsp;nonceGroup,
                          long&nbsp;nonce)
@@ -3354,7 +3354,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteColumn</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2514">deleteColumn</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2515">deleteColumn</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                          byte[]&nbsp;columnName,
                          long&nbsp;nonceGroup,
                          long&nbsp;nonce)
@@ -3378,7 +3378,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>enableTable</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2539">enableTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2540">enableTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                         long&nbsp;nonceGroup,
                         long&nbsp;nonce)
                  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>
@@ -3400,7 +3400,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>disableTable</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2592">disableTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2593">disableTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                          long&nbsp;nonceGroup,
                          long&nbsp;nonce)
                   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>
@@ -3422,7 +3422,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>modifyTable</h4>
-<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2627">modifyTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2628">modifyTable</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/HMaster.TableDescriptorGetter.html" title="interface in org.apache.hadoop.hbase.master">HMaster.TableDescriptorGetter</a>&nbsp;newDescriptorGetter,
                          long&nbsp;nonceGroup,
                          long&nbsp;nonce)
@@ -3439,7 +3439,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>modifyTable</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2664">modifyTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2665">modifyTable</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/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;newDescriptor,
                         long&nbsp;nonceGroup,
                         long&nbsp;nonce)
@@ -3463,7 +3463,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>restoreSnapshot</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2676">restoreSnapshot</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription&nbsp;snapshotDesc,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2677">restoreSnapshot</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription&nbsp;snapshotDesc,
                             long&nbsp;nonceGroup,
                             long&nbsp;nonce,
                             boolean&nbsp;restoreAcl)
@@ -3480,7 +3480,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>checkTableExists</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2700">checkTableExists</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2701">checkTableExists</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                        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>,
                               <a href="../../../../../org/apache/hadoop/hbase/TableNotFoundException.html" title="class in org.apache.hadoop.hbase">TableNotFoundException</a></pre>
 <dl>
@@ -3496,7 +3496,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>checkTableModifiable</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2708">checkTableModifiable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2709">checkTableModifiable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                           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>,
                                  <a href="../../../../../org/apache/hadoop/hbase/TableNotFoundException.html" title="class in org.apache.hadoop.hbase">TableNotFoundException</a>,
                                  <a href="../../../../../org/apache/hadoop/hbase/TableNotDisabledException.html" title="class in org.apache.hadoop.hbase">TableNotDisabledException</a></pre>
@@ -3520,7 +3520,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getClusterMetricsWithoutCoprocessor</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2720">getClusterMetricsWithoutCoprocessor</a>()
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2721">getClusterMetricsWithoutCoprocessor</a>()
                                                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/InterruptedIOException.html?is-external=true" title="class or interface in java.io">InterruptedIOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -3534,7 +3534,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getClusterMetricsWithoutCoprocessor</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2724">getClusterMetricsWithoutCoprocessor</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/EnumSet.html?is-external=true" title="class or interface in java.util">EnumSet</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.Option.html" title="enum in org.apache.hadoop.hbase">ClusterMetrics.Option</a>&gt;&nbsp;options)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2725">getClusterMetricsWithoutCoprocessor</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/EnumSet.html?is-external=true" title="class or interface in java.util">EnumSet</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.Option.html" title="enum in org.apache.hadoop.hbase">ClusterMetrics.Option</a>&gt;&nbsp;options)
                                                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/InterruptedIOException.html?is-external=true" title="class or interface in java.io">InterruptedIOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -3548,7 +3548,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getClusterMetrics</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2786">getClusterMetrics</a>()
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2787">getClusterMetrics</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>
@@ -3564,7 +3564,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getClusterMetrics</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2790">getClusterMetrics</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/EnumSet.html?is-external=true" title="class or interface in java.util">EnumSet</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.Option.html" title="enum in org.apache.hadoop.hbase">ClusterMetrics.Option</a>&gt;&nbsp;options)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2791">getClusterMetrics</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/EnumSet.html?is-external=true" title="class or interface in java.util">EnumSet</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.Option.html" title="enum in org.apache.hadoop.hbase">ClusterMetrics.Option</a>&gt;&nbsp;options)
                                  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>
@@ -3578,7 +3578,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getBackupMasters</h4>
-<pre>private&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/HMaster.html#line.2801">getBackupMasters</a>()
+<pre>private&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/HMaster.html#line.2802">getBackupMasters</a>()
                                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/InterruptedIOException.html?is-external=true" title="class or interface in java.io">InterruptedIOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -3592,7 +3592,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getLoadedCoprocessors</h4>
-<pre>public static&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/HMaster.html#line.2854">getLoadedCoprocessors</a>()</pre>
+<pre>public static&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/HMaster.html#line.2855">getLoadedCoprocessors</a>()</pre>
 <div class="block">The set of loaded coprocessors is stored in a static set. Since it's
  statically allocated, it does not require that HMaster's cpHost be
  initialized prior to accessing it.</div>
@@ -3608,7 +3608,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterStartTime</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2861">getMasterStartTime</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2862">getMasterStartTime</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>timestamp in millis when HMaster was started.</dd>
@@ -3621,7 +3621,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterActiveTime</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2868">getMasterActiveTime</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2869">getMasterActiveTime</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>timestamp in millis when HMaster became the active master.</dd>
@@ -3634,7 +3634,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterFinishedInitializationTime</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2875">getMasterFinishedInitializationTime</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2876">getMasterFinishedInitializationTime</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>timestamp in millis when HMaster finished becoming the active master</dd>
@@ -3647,7 +3647,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getNumWALFiles</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2879">getNumWALFiles</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2880">getNumWALFiles</a>()</pre>
 </li>
 </ul>
 <a name="getWalProcedureStore--">
@@ -3656,7 +3656,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getWalProcedureStore</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.html" title="class in org.apache.hadoop.hbase.procedure2.store.wal">WALProcedureStore</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2883">getWalProcedureStore</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.html" title="class in org.apache.hadoop.hbase.procedure2.store.wal">WALProcedureStore</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2884">getWalProcedureStore</a>()</pre>
 </li>
 </ul>
 <a name="getRegionServerInfoPort-org.apache.hadoop.hbase.ServerName-">
@@ -3665,7 +3665,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionServerInfoPort</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2887">getRegionServerInfoPort</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2888">getRegionServerInfoPort</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</pre>
 </li>
 </ul>
 <a name="getRegionServerVersion-org.apache.hadoop.hbase.ServerName-">
@@ -3674,7 +3674,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionServerVersion</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/HMaster.html#line.2894">getRegionServerVersion</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</pre>
+<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/HMaster.html#line.2895">getRegionServerVersion</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getRegionServerVersion-org.apache.hadoop.hbase.ServerName-">getRegionServerVersion</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></code></dd>
@@ -3687,7 +3687,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>checkIfShouldMoveSystemRegionAsync</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2901">checkIfShouldMoveSystemRegionAsync</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2902">checkIfShouldMoveSystemRegionAsync</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#checkIfShouldMoveSystemRegionAsync--">MasterServices</a></code></span></div>
 <div class="block">Called when a new RegionServer is added to the cluster.
  Checks if new server has a newer version than any existing server and will move system tables
@@ -3704,7 +3704,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterCoprocessors</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/HMaster.html#line.2908">getMasterCoprocessors</a>()</pre>
+<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/HMaster.html#line.2909">getMasterCoprocessors</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>array of coprocessor SimpleNames.</dd>
@@ -3717,7 +3717,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>abort</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2914">abort</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;reason,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2915">abort</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;reason,
                   <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;cause)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#abort-java.lang.String-java.lang.Throwable-">HRegionServer</a></code></span></div>
 <div class="block">Cause the server to exit without closing the regions it is serving, the log
@@ -3740,7 +3740,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getZooKeeper</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2938">getZooKeeper</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2939">getZooKeeper</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Server.html#getZooKeeper--">Server</a></code></span></div>
 <div class="block">Gets the ZooKeeper instance for this server.</div>
 <dl>
@@ -3757,7 +3757,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterCoprocessorHost</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2943">getMasterCoprocessorHost</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2944">getMasterCoprocessorHost</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getMasterCoprocessorHost--">getMasterCoprocessorHost</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></code></dd>
@@ -3772,7 +3772,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterQuotaManager</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">MasterQuotaManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2948">getMasterQuotaManager</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">MasterQuotaManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2949">getMasterQuotaManager</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getMasterQuotaManager--">getMasterQuotaManager</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></code></dd>
@@ -3787,7 +3787,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterProcedureExecutor</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureExecutor</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2953">getMasterProcedureExecutor</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureExecutor</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2954">getMasterProcedureExecutor</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getMasterProcedureExecutor--">getMasterProcedureExecutor</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></code></dd>
@@ -3802,7 +3802,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getServerName</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2958">getServerName</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2959">getServerName</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/Server.html#getServerName--">getServerName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a></code></dd>
@@ -3819,7 +3819,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getAssignmentManager</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master.assignment">AssignmentManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2963">getAssignmentManager</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master.assignment">AssignmentManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2964">getAssignmentManager</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getAssignmentManager--">getAssignmentManager</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></code></dd>
@@ -3834,7 +3834,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getCatalogJanitor</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/CatalogJanitor.html" title="class in org.apache.hadoop.hbase.master">CatalogJanitor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2968">getCatalogJanitor</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/CatalogJanitor.html" title="class in org.apache.hadoop.hbase.master">CatalogJanitor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2969">getCatalogJanitor</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getCatalogJanitor--">getCatalogJanitor</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></code></dd>
@@ -3849,7 +3849,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionServerFatalLogBuffer</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/monitoring/MemoryBoundedLogMessageBuffer.html" title="class in org.apache.hadoop.hbase.monitoring">MemoryBoundedLogMessageBuffer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2972">getRegionServerFatalLogBuffer</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/monitoring/MemoryBoundedLogMessageBuffer.html" title="class in org.apache.hadoop.hbase.monitoring">MemoryBoundedLogMessageBuffer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2973">getRegionServerFatalLogBuffer</a>()</pre>
 </li>
 </ul>
 <a name="shutdown--">
@@ -3858,7 +3858,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>shutdown</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2980">shutdown</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2981">shutdown</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>
 <div class="block">Shutdown the cluster.
  Master runs a coordinated stop of all RegionServers and then itself.</div>
@@ -3874,7 +3874,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>stopMaster</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3012">stopMaster</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3013">stopMaster</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>
@@ -3888,7 +3888,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>stop</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3020">stop</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;msg)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3021">stop</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;msg)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Stoppable.html#stop-java.lang.String-">Stoppable</a></code></span></div>
 <div class="block">Stop this service.
  Implementers should favor logging errors over throwing RuntimeExceptions.</div>
@@ -3908,7 +3908,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>checkServiceStarted</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3030">checkServiceStarted</a>()
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3031">checkServiceStarted</a>()
                             throws <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerNotRunningYetException.html" title="class in org.apache.hadoop.hbase.ipc">ServerNotRunningYetException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -3922,7 +3922,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>checkInitialized</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3042">checkInitialized</a>()
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3043">checkInitialized</a>()
                throws <a href="../../../../../org/apache/hadoop/hbase/PleaseHoldException.html" title="class in org.apache.hadoop.hbase">PleaseHoldException</a>,
                       <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerNotRunningYetException.html" title="class in org.apache.hadoop.hbase.ipc">ServerNotRunningYetException</a>,
                       <a href="../../../../../org/apache/hadoop/hbase/MasterNotRunningException.html" title="class in org.apache.hadoop.hbase">MasterNotRunningException</a>,
@@ -3942,7 +3942,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>isActiveMaster</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3062">isActiveMaster</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3063">isActiveMaster</a>()</pre>
 <div class="block">Report whether this master is currently the active master or not.
  If not active master, we are parked on ZK waiting to become active.
 
@@ -3961,7 +3961,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>isInitialized</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3076">isInitialized</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3077">isInitialized</a>()</pre>
 <div class="block">Report whether this master has completed with its initialization and is
  ready.  If ready, the master is also the active master.  A standby master
  is never ready.
@@ -3981,7 +3981,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>isInMaintenanceMode</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3086">isInMaintenanceMode</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3087">isInMaintenanceMode</a>()</pre>
 <div class="block">Report whether this master is in maintenance mode.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -3997,7 +3997,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>setInitialized</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3091">setInitialized</a>(boolean&nbsp;isInitialized)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3092">setInitialized</a>(boolean&nbsp;isInitialized)</pre>
 </li>
 </ul>
 <a name="getInitializedEvent--">
@@ -4006,7 +4006,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getInitializedEvent</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureEvent</a>&lt;?&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3096">getInitializedEvent</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureEvent</a>&lt;?&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3097">getInitializedEvent</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getInitializedEvent--">getInitializedEvent</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></code></dd>
@@ -4021,7 +4021,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getAverageLoad</h4>
-<pre>public&nbsp;double&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3106">getAverageLoad</a>()</pre>
+<pre>public&nbsp;double&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3107">getAverageLoad</a>()</pre>
 <div class="block">Compute the average load across all region servers.
  Currently, this uses a very naive computation - just uses the number of
  regions being served, ignoring stats about number of requests.</div>
@@ -4037,7 +4037,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getSplitPlanCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3121">getSplitPlanCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3122">getSplitPlanCount</a>()</pre>
 </li>
 </ul>
 <a name="getMergePlanCount--">
@@ -4046,7 +4046,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getMergePlanCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3128">getMergePlanCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3129">getMergePlanCount</a>()</pre>
 </li>
 </ul>
 <a name="registerService-com.google.protobuf.Service-">
@@ -4055,7 +4055,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>registerService</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3133">registerService</a>(com.google.protobuf.Service&nbsp;instance)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3134">registerService</a>(com.google.protobuf.Service&nbsp;instance)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#registerService-com.google.protobuf.Service-">RegionServerServices</a></code></span></div>
 <div class="block">Registers a new protocol buffer <code>Service</code> subclass as a coprocessor endpoint to be
  available for handling</div>
@@ -4079,7 +4079,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>constructMaster</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3158">constructMaster</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a>&gt;&nbsp;masterClass,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3159">constructMaster</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a>&gt;&nbsp;masterClass,
                                       org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
 <div class="block">Utility for constructing an instance of the passed HMaster class.</div>
 <dl>
@@ -4096,7 +4096,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>main</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3177">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)</pre>
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3178">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)</pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../org/apache/hadoop/hbase/master/HMasterCommandLine.html" title="class in org.apache.hadoop.hbase.master"><code>HMasterCommandLine</code></a></dd>
@@ -4109,7 +4109,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getHFileCleaner</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/cleaner/HFileCleaner.html" title="class in org.apache.hadoop.hbase.master.cleaner">HFileCleaner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3183">getHFileCleaner</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/cleaner/HFileCleaner.html" title="class in org.apache.hadoop.hbase.master.cleaner">HFileCleaner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3184">getHFileCleaner</a>()</pre>
 </li>
 </ul>
 <a name="getLogCleaner--">
@@ -4118,7 +4118,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getLogCleaner</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/cleaner/LogCleaner.html" title="class in org.apache.hadoop.hbase.master.cleaner">LogCleaner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3187">getLogCleaner</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/cleaner/LogCleaner.html" title="class in org.apache.hadoop.hbase.master.cleaner">LogCleaner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3188">getLogCleaner</a>()</pre>
 </li>
 </ul>
 <a name="getSnapshotManager--">
@@ -4127,7 +4127,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getSnapshotManager</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html" title="class in org.apache.hadoop.hbase.master.snapshot">SnapshotManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3195">getSnapshotManager</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html" title="class in org.apache.hadoop.hbase.master.snapshot">SnapshotManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3196">getSnapshotManager</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getSnapshotManager--">getSnapshotManager</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></code></dd>
@@ -4142,7 +4142,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterProcedureManagerHost</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure/MasterProcedureManagerHost.html" title="class in org.apache.hadoop.hbase.procedure">MasterProcedureManagerHost</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3203">getMasterProcedureManagerHost</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure/MasterProcedureManagerHost.html" title="class in org.apache.hadoop.hbase.procedure">MasterProcedureManagerHost</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3204">getMasterProcedureManagerHost</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getMasterProcedureManagerHost--">getMasterProcedureManagerHost</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></code></dd>
@@ -4157,7 +4157,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getClusterSchema</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ClusterSchema.html" title="interface in org.apache.hadoop.hbase.master">ClusterSchema</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3208">getClusterSchema</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ClusterSchema.html" title="interface in org.apache.hadoop.hbase.master">ClusterSchema</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3209">getClusterSchema</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getClusterSchema--">getClusterSchema</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></code></dd>
@@ -4172,7 +4172,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>createNamespace</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3220">createNamespace</a>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;namespaceDescriptor,
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3221">createNamespace</a>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;namespaceDescriptor,
                      long&nbsp;nonceGroup,
                      long&nbsp;nonce)
               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>
@@ -4196,7 +4196,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>modifyNamespace</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3256">modifyNamespace</a>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;newNsDescriptor,
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3257">modifyNamespace</a>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;newNsDescriptor,
                      long&nbsp;nonceGroup,
                      long&nbsp;nonce)
               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>
@@ -4219,7 +4219,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteNamespace</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3294">deleteNamespace</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;name,
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3295">deleteNamespace</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;name,
                      long&nbsp;nonceGroup,
                      long&nbsp;nonce)
               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>
@@ -4242,7 +4242,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getNamespace</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3329">getNamespace</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;name)
+<pre><a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3330">getNamespace</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;name)
                           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">Get a Namespace</div>
 <dl>
@@ -4261,7 +4261,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getNamespaces</h4>
-<pre><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/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3341">getNamespaces</a>()
+<pre><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/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3342">getNamespaces</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>
 <div class="block">Get all Namespaces</div>
 <dl>
@@ -4278,7 +4278,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>listTableNamesByNamespace</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/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3355">listTableNamesByNamespace</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;name)
+<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/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3356">listTableNamesByNamespace</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;name)
                                           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"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#listTableNamesByNamespace-java.lang.String-">MasterServices</a></code></span></div>
 <div class="block">Get list of table names by namespace</div>
@@ -4300,7 +4300,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>listTableDescriptorsByNamespace</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/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3361">listTableDescriptorsByNamespace</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;name)
+<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/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3362">listTableDescriptorsByNamespace</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;name)
                                                       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"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#listTableDescriptorsByNamespace-java.lang.String-">MasterServices</a></code></span></div>
 <div class="block">Get list of table descriptors by namespace</div>
@@ -4322,7 +4322,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>abortProcedure</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3367">abortProcedure</a>(long&nbsp;procId,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3368">abortProcedure</a>(long&nbsp;procId,
                               boolean&nbsp;mayInterruptIfRunning)
                        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"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#abortProcedure-long-boolean-">MasterServices</a></code></span></div>
@@ -4346,7 +4346,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getProcedures</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/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3383">getProcedures</a>()
+<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/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3384">getProcedures</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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getProcedures--">MasterServices</a></code></span></div>
 <div class="block">Get procedures</div>
@@ -4366,7 +4366,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getLocks</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/procedure2/LockedResource.html" title="class in org.apache.hadoop.hbase.procedure2">LockedResource</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3399">getLocks</a>()
+<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/procedure2/LockedResource.html" title="class in org.apache.hadoop.hbase.procedure2">LockedResource</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3400">getLocks</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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getLocks--">MasterServices</a></code></span></div>
 <div class="block">Get locks</div>
@@ -4386,7 +4386,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>listTableDescriptors</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/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3424">listTableDescriptors</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;namespace,
+<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/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3425">listTableDescriptors</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;namespace,
                                                   <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;regex,
                                                   <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/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tableNameList,
                                                   boolean&nbsp;includeSysTables)
@@ -4411,7 +4411,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>listTableNames</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/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3445">listTableNames</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;namespace,
+<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/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3446">listTableNames</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;namespace,
                                       <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;regex,
                                       boolean&nbsp;includeSysTables)
                                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>
@@ -4434,7 +4434,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableDescriptors</h4>
-<pre>private&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/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3465">getTableDescriptors</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/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;htds,
+<pre>private&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/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3466">getTableDescriptors</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/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;htds,
                                                   <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;namespace,
                                                   <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;regex,
                                                   <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/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tableNameList,
@@ -4455,7 +4455,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>filterTablesByRegex</h4>
-<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3506">filterTablesByRegex</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/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;descriptors,
+<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3507">filterTablesByRegex</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/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;descriptors,
                                         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;pattern)</pre>
 <div class="block">Removes the table descriptors that don't match the pattern.</div>
 <dl>
@@ -4471,7 +4471,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getLastMajorCompactionTimestamp</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3524">getLastMajorCompactionTimestamp</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3525">getLastMajorCompactionTimestamp</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)
                                      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>
@@ -4492,7 +4492,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getLastMajorCompactionTimestampForRegion</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3530">getLastMajorCompactionTimestampForRegion</a>(byte[]&nbsp;regionName)
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3531">getLastMajorCompactionTimestampForRegion</a>(byte[]&nbsp;regionName)
                                               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>
@@ -4511,7 +4511,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getMobCompactionState</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3544">getMobCompactionState</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3545">getMobCompactionState</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 <div class="block">Gets the mob file compaction state for a specific table.
  Whether all the mob files are selected is known during the compaction execution, but
  the statistic is done just before compaction starts, it is hard to know the compaction
@@ -4531,7 +4531,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>reportMobCompactionStart</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3552">reportMobCompactionStart</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3553">reportMobCompactionStart</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                               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>
@@ -4545,7 +4545,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>reportMobCompactionEnd</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3569">reportMobCompactionEnd</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3570">reportMobCompactionEnd</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                             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>
@@ -4559,7 +4559,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>requestMobCompaction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3594">requestMobCompaction</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3595">requestMobCompaction</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                  <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/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>&gt;&nbsp;columns,
                                  boolean&nbsp;allFiles)
                           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>
@@ -4580,7 +4580,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>isBalancerOn</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3605">isBalancerOn</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3606">isBalancerOn</a>()</pre>
 <div class="block">Queries the state of the <a href="../../../../../org/apache/hadoop/hbase/zookeeper/LoadBalancerTracker.html" title="class in org.apache.hadoop.hbase.zookeeper"><code>LoadBalancerTracker</code></a>. If the balancer is not initialized,
  false is returned.</div>
 <dl>
@@ -4595,7 +4595,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>isNormalizerOn</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3615">isNormalizerOn</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3616">isNormalizerOn</a>()</pre>
 <div class="block">Queries the state of the <a href="../../../../../org/apache/hadoop/hbase/zookeeper/RegionNormalizerTracker.html" title="class in org.apache.hadoop.hbase.zookeeper"><code>RegionNormalizerTracker</code></a>. If it's not initialized,
  false is returned.</div>
 </li>
@@ -4606,7 +4606,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>isSplitOrMergeEnabled</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3628">isSplitOrMergeEnabled</a>(<a href="../../../../../org/apache/hadoop/hbase/client/MasterSwitchType.html" title="enum in org.apache.hadoop.hbase.client">MasterSwitchType</a>&nbsp;switchType)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3629">isSplitOrMergeEnabled</a>(<a href="../../../../../org/apache/hadoop/hbase/client/MasterSwitchType.html" title="enum in org.apache.hadoop.hbase.client">MasterSwitchType</a>&nbsp;switchType)</pre>
 <div class="block">Queries the state of the <a href="../../../../../org/apache/hadoop/hbase/master/SplitOrMergeTracker.html" title="class in org.apache.hadoop.hbase.master"><code>SplitOrMergeTracker</code></a>. If it is not initialized,
  false is returned. If switchType is illegal, false will return.</div>
 <dl>
@@ -4625,7 +4625,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getLoadBalancerClassName</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/HMaster.html#line.3639">getLoadBalancerClassName</a>()</pre>
+<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/HMaster.html#line.3640">getLoadBalancerClassName</a>()</pre>
 <div class="block">Fetch the configured <a href="../../../../../org/apache/hadoop/hbase/master/LoadBalancer.html" title="interface in org.apache.hadoop.hbase.master"><code>LoadBalancer</code></a> class name. If none is set, a default is returned.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -4639,7 +4639,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionNormalizerTracker</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/zookeeper/RegionNormalizerTracker.html" title="class in org.apache.hadoop.hbase.zookeeper">RegionNormalizerTracker</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3647">getRegionNormalizerTracker</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/zookeeper/RegionNormalizerTracker.html" title="class in org.apache.hadoop.hbase.zookeeper">RegionNormalizerTracker</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3648">getRegionNormalizerTracker</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>RegionNormalizerTracker instance</dd>
@@ -4652,7 +4652,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getSplitOrMergeTracker</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/SplitOrMergeTracker.html" title="class in org.apache.hadoop.hbase.master">SplitOrMergeTracker</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3651">getSplitOrMergeTracker</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/SplitOrMergeTracker.html" title="class in org.apache.hadoop.hbase.master">SplitOrMergeTracker</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3652">getSplitOrMergeTracker</a>()</pre>
 </li>
 </ul>
 <a name="getLoadBalancer--">
@@ -4661,7 +4661,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getLoadBalancer</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/LoadBalancer.html" title="interface in org.apache.hadoop.hbase.master">LoadBalancer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3656">getLoadBalancer</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/LoadBalancer.html" title="interface in org.apache.hadoop.hbase.master">LoadBalancer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3657">getLoadBalancer</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getLoadBalancer--">getLoadBalancer</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></code></dd>
@@ -4676,7 +4676,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getFavoredNodesManager</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/favored/FavoredNodesManager.html" title="class in org.apache.hadoop.hbase.favored">FavoredNodesManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3661">getFavoredNodesManager</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/favored/FavoredNodesManager.html" title="class in org.apache.hadoop.hbase.favored">FavoredNodesManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3662">getFavoredNodesManager</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getFavoredNodesManager--">getFavoredNodesManager</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></code></dd>
@@ -4691,7 +4691,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>executePeerProcedure</h4>
-<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3665">executePeerProcedure</a>(<a href="../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a>&lt;?&gt;&nbsp;procedure)
+<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3666">executePeerProcedure</a>(<a href="../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a>&lt;?&gt;&nbsp;procedure)
                            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>
@@ -4705,7 +4705,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>addReplicationPeer</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3672">addReplicationPeer</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;peerId,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3673">addReplicationPeer</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;peerId,
                                <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;peerConfig,
                                boolean&nbsp;enabled)
                         throws <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a>,
@@ -4731,7 +4731,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>removeReplicationPeer</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3680">removeReplicationPeer</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;peerId)
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3681">removeReplicationPeer</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;peerId)
                            throws <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a>,
                                   <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"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#removeReplicationPeer-java.lang.String-">MasterServices</a></code></span></div>
@@ -4753,7 +4753,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>enableReplicationPeer</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3686">enableReplicationPeer</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;peerId)
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3687">enableReplicationPeer</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;peerId)
                            throws <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a>,
                                   <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"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#enableReplicationPeer-java.lang.String-">MasterServices</a></code></span></div>
@@ -4775,7 +4775,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>disableReplicationPeer</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3692">disableReplicationPeer</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;peerId)
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3693">disableReplicationPeer</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;peerId)
                             throws <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a>,
                                    <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"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#disableReplicationPeer-java.lang.String-">MasterServices</a></code></span></div>
@@ -4797,7 +4797,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getReplicationPeerConfig</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3698">getReplicationPeerConfig</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;peerId)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3699">getReplicationPeerConfig</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;peerId)
                                                throws <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a>,
                                                       <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"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getReplicationPeerConfig-java.lang.String-">MasterServices</a></code></span></div>
@@ -4821,7 +4821,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>updateReplicationPeerConfig</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3713">updateReplicationPeerConfig</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;peerId,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3714">updateReplicationPeerConfig</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;peerId,
                                         <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;peerConfig)
                                  throws <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a>,
                                         <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>
@@ -4845,7 +4845,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>listReplicationPeers</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/replication/ReplicationPeerDescription.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerDescription</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3721">listReplicationPeers</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;regex)
+<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/replication/ReplicationPeerDescription.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerDescription</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3722">listReplicationPeers</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;regex)
                                                       throws <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a>,
                                                              <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"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#listReplicationPeers-java.lang.String-">MasterServices</a></code></span></div>
@@ -4869,7 +4869,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>transitReplicationPeerSyncReplicationState</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3737">transitReplicationPeerSyncReplicationState</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;peerId,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3738">transitReplicationPeerSyncReplicationState</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;peerId,
                                                        <a href="../../../../../org/apache/hadoop/hbase/replication/SyncReplicationState.html" title="enum in org.apache.hadoop.hbase.replication">SyncReplicationState</a>&nbsp;state)
                                                 throws <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a>,
                                                        <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>
@@ -4893,7 +4893,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>decommissionRegionServers</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3751">decommissionRegionServers</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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;servers,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3752">decommissionRegionServers</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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;servers,
                                       boolean&nbsp;offload)
                                throws <a href="../../../../../org/apache/hadoop/hbase/HBaseIOException.html" title="class in org.apache.hadoop.hbase">HBaseIOException</a></pre>
 <div class="block">Mark region server(s) as decommissioned (previously called 'draining') to prevent additional
@@ -4912,7 +4912,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>listDecommissionedRegionServers</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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3790">listDecommissionedRegionServers</a>()</pre>
+<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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3791">listDecommissionedRegionServers</a>()</pre>
 <div class="block">List region servers marked as decommissioned (previously called 'draining') to not get regions
  assigned to them.</div>
 <dl>
@@ -4927,7 +4927,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>recommissionRegionServer</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3799">recommissionRegionServer</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;server,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3800">recommissionRegionServer</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;server,
                                      <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;byte[]&gt;&nbsp;encodedRegionNames)
                               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">Remove decommission marker (previously called 'draining') from a region server to allow regions
@@ -4946,7 +4946,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getLockManager</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/locking/LockManager.html" title="class in org.apache.hadoop.hbase.master.locking">LockManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3838">getLockManager</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/locking/LockManager.html" title="class in org.apache.hadoop.hbase.master.locking">LockManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3839">getLockManager</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getLockManager--">getLockManager</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></code></dd>
@@ -4961,7 +4961,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getQuotaObserverChore</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaObserverChore.html" title="class in org.apache.hadoop.hbase.quotas">QuotaObserverChore</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3842">getQuotaObserverChore</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaObserverChore.html" title="class in org.apache.hadoop.hbase.quotas">QuotaObserverChore</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3843">getQuotaObserverChore</a>()</pre>
 </li>
 </ul>
 <a name="getSpaceQuotaSnapshotNotifier--">
@@ -4970,7 +4970,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getSpaceQuotaSnapshotNotifier</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotNotifier.html" title="interface in org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotNotifier</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3846">getSpaceQuotaSnapshotNotifier</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotNotifier.html" title="interface in org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotNotifier</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3847">getSpaceQuotaSnapshotNotifier</a>()</pre>
 </li>
 </ul>
 <a name="getRemoteProcedure-long-">
@@ -4979,7 +4979,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getRemoteProcedure</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/RemoteProcedureDispatcher.RemoteProcedure.html" title="interface in org.apache.hadoop.hbase.procedure2">RemoteProcedureDispatcher.RemoteProcedure</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>,?&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3851">getRemoteProcedure</a>(long&nbsp;procId)</pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/RemoteProcedureDispatcher.RemoteProcedure.html" title="interface in org.apache.hadoop.hbase.procedure2">RemoteProcedureDispatcher.RemoteProcedure</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>,?&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3852">getRemoteProcedure</a>(long&nbsp;procId)</pre>
 </li>
 </ul>
 <a name="remoteProcedureCompleted-long-">
@@ -4988,7 +4988,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>remoteProcedureCompleted</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3860">remoteProcedureCompleted</a>(long&nbsp;procId)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3861">remoteProcedureCompleted</a>(long&nbsp;procId)</pre>
 </li>
 </ul>
 <a name="remoteProcedureFailed-long-org.apache.hadoop.hbase.procedure2.RemoteProcedureException-">
@@ -4997,7 +4997,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>remoteProcedureFailed</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3868">remoteProcedureFailed</a>(long&nbsp;procId,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3869">remoteProcedureFailed</a>(long&nbsp;procId,
                                   <a href="../../../../../org/apache/hadoop/hbase/procedure2/RemoteProcedureException.html" title="class in org.apache.hadoop.hbase.procedure2">RemoteProcedureException</a>&nbsp;error)</pre>
 </li>
 </ul>
@@ -5007,7 +5007,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getReplicationPeerManager</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html" title="class in org.apache.hadoop.hbase.master.replication">ReplicationPeerManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3877">getReplicationPeerManager</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html" title="class in org.apache.hadoop.hbase.master.replication">ReplicationPeerManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3878">getReplicationPeerManager</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getReplicationPeerManager--">MasterServices</a></code></span></div>
 <div class="block">Returns the <a href="../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html" title="class in org.apache.hadoop.hbase.master.replication"><code>ReplicationPeerManager</code></a>.</div>
 <dl>
@@ -5022,7 +5022,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getReplicationLoad</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</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/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>,<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationLoadSource.html" title="class in org.apache.hadoop.hbase.replication">ReplicationLoadSource</a>&gt;&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3882">getReplicationLoad</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>[]&nbsp;serverNames)</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</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/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>,<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationLoadSource.html" title="class in org.apache.hadoop.hbase.replication">ReplicationLoadSource</a>&gt;&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3883">getReplicationLoad</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>[]&nbsp;serverNames)</pre>
 </li>
 </ul>
 <a name="decorateMasterConfiguration-org.apache.hadoop.conf.Configuration-">
@@ -5031,7 +5031,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>decorateMasterConfiguration</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3911">decorateMasterConfiguration</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3912">decorateMasterConfiguration</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
 <div class="block">This method modifies the master's configuration in order to inject replication-related features</div>
 </li>
 </ul>
@@ -5041,7 +5041,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getSnapshotQuotaObserverChore</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/SnapshotQuotaObserverChore.html" title="class in org.apache.hadoop.hbase.quotas">SnapshotQuotaObserverChore</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3926">getSnapshotQuotaObserverChore</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/SnapshotQuotaObserverChore.html" title="class in org.apache.hadoop.hbase.quotas">SnapshotQuotaObserverChore</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3927">getSnapshotQuotaObserverChore</a>()</pre>
 </li>
 </ul>
 <a name="getSyncReplicationReplayWALManager--">
@@ -5050,7 +5050,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getSyncReplicationReplayWALManager</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3931">getSyncReplicationReplayWALManager</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3932">getSyncReplicationReplayWALManager</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getSyncReplicationReplayWALManager--">MasterServices</a></code></span></div>
 <div class="block">Returns the <a href="../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication"><code>SyncReplicationReplayWALManager</code></a>.</div>
 <dl>
index 5a2a23d..c579d19 100644 (file)
@@ -18,9 +18,9 @@
 <span class="sourceLineNo">010</span>  public static final String version = "3.0.0-SNAPSHOT";<a name="line.10"></a>
 <span class="sourceLineNo">011</span>  public static final String revision = "";<a name="line.11"></a>
 <span class="sourceLineNo">012</span>  public static final String user = "jenkins";<a name="line.12"></a>
-<span class="sourceLineNo">013</span>  public static final String date = "Tue Dec 18 14:46:13 UTC 2018";<a name="line.13"></a>
+<span class="sourceLineNo">013</span>  public static final String date = "Thu Dec 20 10:41:19 UTC 2018";<a name="line.13"></a>
 <span class="sourceLineNo">014</span>  public static final String url = "git://jenkins-websites1.apache.org/home/jenkins/jenkins-slave/workspace/hbase_generate_website/hbase";<a name="line.14"></a>
-<span class="sourceLineNo">015</span>  public static final String srcChecksum = "0ff9598693406383f0355b09c8c7ea64";<a name="line.15"></a>
+<span class="sourceLineNo">015</span>  public static final String srcChecksum = "cac6c13f455cde23001f256bae768095";<a name="line.15"></a>
 <span class="sourceLineNo">016</span>}<a name="line.16"></a>
 
 
index d8d391b..ab910a7 100644 (file)
 <span class="sourceLineNo">1300</span>      boolean isCompaction, boolean updateCacheMetrics, BlockType expectedBlockType,<a name="line.1300"></a>
 <span class="sourceLineNo">1301</span>      DataBlockEncoding expectedDataBlockEncoding) throws IOException {<a name="line.1301"></a>
 <span class="sourceLineNo">1302</span>    // Check cache for block. If found return.<a name="line.1302"></a>
-<span class="sourceLineNo">1303</span>    if (cacheConf.getBlockCache().isPresent()) {<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span>      BlockCache cache = cacheConf.getBlockCache().get();<a name="line.1304"></a>
+<span class="sourceLineNo">1303</span>    BlockCache cache = cacheConf.getBlockCache().orElse(null);<a name="line.1303"></a>
+<span class="sourceLineNo">1304</span>    if (cache != null) {<a name="line.1304"></a>
 <span class="sourceLineNo">1305</span>      HFileBlock cachedBlock =<a name="line.1305"></a>
 <span class="sourceLineNo">1306</span>          (HFileBlock) cache.getBlock(cacheKey, cacheBlock, useLock, updateCacheMetrics);<a name="line.1306"></a>
 <span class="sourceLineNo">1307</span>      if (cachedBlock != null) {<a name="line.1307"></a>
index d8d391b..ab910a7 100644 (file)
 <span class="sourceLineNo">1300</span>      boolean isCompaction, boolean updateCacheMetrics, BlockType expectedBlockType,<a name="line.1300"></a>
 <span class="sourceLineNo">1301</span>      DataBlockEncoding expectedDataBlockEncoding) throws IOException {<a name="line.1301"></a>
 <span class="sourceLineNo">1302</span>    // Check cache for block. If found return.<a name="line.1302"></a>
-<span class="sourceLineNo">1303</span>    if (cacheConf.getBlockCache().isPresent()) {<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span>      BlockCache cache = cacheConf.getBlockCache().get();<a name="line.1304"></a>
+<span class="sourceLineNo">1303</span>    BlockCache cache = cacheConf.getBlockCache().orElse(null);<a name="line.1303"></a>
+<span class="sourceLineNo">1304</span>    if (cache != null) {<a name="line.1304"></a>
 <span class="sourceLineNo">1305</span>      HFileBlock cachedBlock =<a name="line.1305"></a>
 <span class="sourceLineNo">1306</span>          (HFileBlock) cache.getBlock(cacheKey, cacheBlock, useLock, updateCacheMetrics);<a name="line.1306"></a>
 <span class="sourceLineNo">1307</span>      if (cachedBlock != null) {<a name="line.1307"></a>
index d8d391b..ab910a7 100644 (file)
 <span class="sourceLineNo">1300</span>      boolean isCompaction, boolean updateCacheMetrics, BlockType expectedBlockType,<a name="line.1300"></a>
 <span class="sourceLineNo">1301</span>      DataBlockEncoding expectedDataBlockEncoding) throws IOException {<a name="line.1301"></a>
 <span class="sourceLineNo">1302</span>    // Check cache for block. If found return.<a name="line.1302"></a>
-<span class="sourceLineNo">1303</span>    if (cacheConf.getBlockCache().isPresent()) {<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span>      BlockCache cache = cacheConf.getBlockCache().get();<a name="line.1304"></a>
+<span class="sourceLineNo">1303</span>    BlockCache cache = cacheConf.getBlockCache().orElse(null);<a name="line.1303"></a>
+<span class="sourceLineNo">1304</span>    if (cache != null) {<a name="line.1304"></a>
 <span class="sourceLineNo">1305</span>      HFileBlock cachedBlock =<a name="line.1305"></a>
 <span class="sourceLineNo">1306</span>          (HFileBlock) cache.getBlock(cacheKey, cacheBlock, useLock, updateCacheMetrics);<a name="line.1306"></a>
 <span class="sourceLineNo">1307</span>      if (cachedBlock != null) {<a name="line.1307"></a>
index d8d391b..ab910a7 100644 (file)
 <span class="sourceLineNo">1300</span>      boolean isCompaction, boolean updateCacheMetrics, BlockType expectedBlockType,<a name="line.1300"></a>
 <span class="sourceLineNo">1301</span>      DataBlockEncoding expectedDataBlockEncoding) throws IOException {<a name="line.1301"></a>
 <span class="sourceLineNo">1302</span>    // Check cache for block. If found return.<a name="line.1302"></a>
-<span class="sourceLineNo">1303</span>    if (cacheConf.getBlockCache().isPresent()) {<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span>      BlockCache cache = cacheConf.getBlockCache().get();<a name="line.1304"></a>
+<span class="sourceLineNo">1303</span>    BlockCache cache = cacheConf.getBlockCache().orElse(null);<a name="line.1303"></a>
+<span class="sourceLineNo">1304</span>    if (cache != null) {<a name="line.1304"></a>
 <span class="sourceLineNo">1305</span>      HFileBlock cachedBlock =<a name="line.1305"></a>
 <span class="sourceLineNo">1306</span>          (HFileBlock) cache.getBlock(cacheKey, cacheBlock, useLock, updateCacheMetrics);<a name="line.1306"></a>
 <span class="sourceLineNo">1307</span>      if (cachedBlock != null) {<a name="line.1307"></a>
index d8d391b..ab910a7 100644 (file)
 <span class="sourceLineNo">1300</span>      boolean isCompaction, boolean updateCacheMetrics, BlockType expectedBlockType,<a name="line.1300"></a>
 <span class="sourceLineNo">1301</span>      DataBlockEncoding expectedDataBlockEncoding) throws IOException {<a name="line.1301"></a>
 <span class="sourceLineNo">1302</span>    // Check cache for block. If found return.<a name="line.1302"></a>
-<span class="sourceLineNo">1303</span>    if (cacheConf.getBlockCache().isPresent()) {<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span>      BlockCache cache = cacheConf.getBlockCache().get();<a name="line.1304"></a>
+<span class="sourceLineNo">1303</span>    BlockCache cache = cacheConf.getBlockCache().orElse(null);<a name="line.1303"></a>
+<span class="sourceLineNo">1304</span>    if (cache != null) {<a name="line.1304"></a>
 <span class="sourceLineNo">1305</span>      HFileBlock cachedBlock =<a name="line.1305"></a>
 <span class="sourceLineNo">1306</span>          (HFileBlock) cache.getBlock(cacheKey, cacheBlock, useLock, updateCacheMetrics);<a name="line.1306"></a>
 <span class="sourceLineNo">1307</span>      if (cachedBlock != null) {<a name="line.1307"></a>
index fd8ff3b..f14e153 100644 (file)
 <span class="sourceLineNo">900</span>   */<a name="line.900"></a>
 <span class="sourceLineNo">901</span>  private void finishActiveMasterInitialization(MonitoredTask status) throws IOException,<a name="line.901"></a>
 <span class="sourceLineNo">902</span>          InterruptedException, KeeperException, ReplicationException {<a name="line.902"></a>
-<span class="sourceLineNo">903</span>    Thread zombieDetector = new Thread(new InitializationMonitor(this),<a name="line.903"></a>
-<span class="sourceLineNo">904</span>        "ActiveMasterInitializationMonitor-" + System.currentTimeMillis());<a name="line.904"></a>
-<span class="sourceLineNo">905</span>    zombieDetector.setDaemon(true);<a name="line.905"></a>
-<span class="sourceLineNo">906</span>    zombieDetector.start();<a name="line.906"></a>
+<span class="sourceLineNo">903</span>    /*<a name="line.903"></a>
+<span class="sourceLineNo">904</span>     * We are active master now... go initialize components we need to run.<a name="line.904"></a>
+<span class="sourceLineNo">905</span>     */<a name="line.905"></a>
+<span class="sourceLineNo">906</span>    status.setStatus("Initializing Master file system");<a name="line.906"></a>
 <span class="sourceLineNo">907</span><a name="line.907"></a>
-<span class="sourceLineNo">908</span>    /*<a name="line.908"></a>
-<span class="sourceLineNo">909</span>     * We are active master now... go initialize components we need to run.<a name="line.909"></a>
-<span class="sourceLineNo">910</span>     */<a name="line.910"></a>
-<span class="sourceLineNo">911</span>    status.setStatus("Initializing Master file system");<a name="line.911"></a>
-<span class="sourceLineNo">912</span><a name="line.912"></a>
-<span class="sourceLineNo">913</span>    this.masterActiveTime = System.currentTimeMillis();<a name="line.913"></a>
-<span class="sourceLineNo">914</span>    // TODO: Do this using Dependency Injection, using PicoContainer, Guice or Spring.<a name="line.914"></a>
-<span class="sourceLineNo">915</span><a name="line.915"></a>
-<span class="sourceLineNo">916</span>    // Only initialize the MemStoreLAB when master carry table<a name="line.916"></a>
-<span class="sourceLineNo">917</span>    if (LoadBalancer.isTablesOnMaster(conf)) {<a name="line.917"></a>
-<span class="sourceLineNo">918</span>      initializeMemStoreChunkCreator();<a name="line.918"></a>
-<span class="sourceLineNo">919</span>    }<a name="line.919"></a>
-<span class="sourceLineNo">920</span>    this.fileSystemManager = new MasterFileSystem(conf);<a name="line.920"></a>
-<span class="sourceLineNo">921</span>    this.walManager = new MasterWalManager(this);<a name="line.921"></a>
-<span class="sourceLineNo">922</span><a name="line.922"></a>
-<span class="sourceLineNo">923</span>    // enable table descriptors cache<a name="line.923"></a>
-<span class="sourceLineNo">924</span>    this.tableDescriptors.setCacheOn();<a name="line.924"></a>
-<span class="sourceLineNo">925</span><a name="line.925"></a>
-<span class="sourceLineNo">926</span>    // warm-up HTDs cache on master initialization<a name="line.926"></a>
-<span class="sourceLineNo">927</span>    if (preLoadTableDescriptors) {<a name="line.927"></a>
-<span class="sourceLineNo">928</span>      status.setStatus("Pre-loading table descriptors");<a name="line.928"></a>
-<span class="sourceLineNo">929</span>      this.tableDescriptors.getAll();<a name="line.929"></a>
-<span class="sourceLineNo">930</span>    }<a name="line.930"></a>
-<span class="sourceLineNo">931</span><a name="line.931"></a>
-<span class="sourceLineNo">932</span>    // Publish cluster ID; set it in Master too. The superclass RegionServer does this later but<a name="line.932"></a>
-<span class="sourceLineNo">933</span>    // only after it has checked in with the Master. At least a few tests ask Master for clusterId<a name="line.933"></a>
-<span class="sourceLineNo">934</span>    // before it has called its run method and before RegionServer has done the reportForDuty.<a name="line.934"></a>
-<span class="sourceLineNo">935</span>    ClusterId clusterId = fileSystemManager.getClusterId();<a name="line.935"></a>
-<span class="sourceLineNo">936</span>    status.setStatus("Publishing Cluster ID " + clusterId + " in ZooKeeper");<a name="line.936"></a>
-<span class="sourceLineNo">937</span>    ZKClusterId.setClusterId(this.zooKeeper, fileSystemManager.getClusterId());<a name="line.937"></a>
-<span class="sourceLineNo">938</span>    this.clusterId = clusterId.toString();<a name="line.938"></a>
-<span class="sourceLineNo">939</span><a name="line.939"></a>
-<span class="sourceLineNo">940</span>    // Precaution. Put in place the old hbck1 lock file to fence out old hbase1s running their<a name="line.940"></a>
-<span class="sourceLineNo">941</span>    // hbck1s against an hbase2 cluster; it could do damage. To skip this behavior, set<a name="line.941"></a>
-<span class="sourceLineNo">942</span>    // hbase.write.hbck1.lock.file to false.<a name="line.942"></a>
-<span class="sourceLineNo">943</span>    if (this.conf.getBoolean("hbase.write.hbck1.lock.file", true)) {<a name="line.943"></a>
-<span class="sourceLineNo">944</span>      HBaseFsck.checkAndMarkRunningHbck(this.conf,<a name="line.944"></a>
-<span class="sourceLineNo">945</span>          HBaseFsck.createLockRetryCounterFactory(this.conf).create());<a name="line.945"></a>
-<span class="sourceLineNo">946</span>    }<a name="line.946"></a>
-<span class="sourceLineNo">947</span><a name="line.947"></a>
-<span class="sourceLineNo">948</span>    status.setStatus("Initialize ServerManager and schedule SCP for crash servers");<a name="line.948"></a>
-<span class="sourceLineNo">949</span>    // The below two managers must be created before loading procedures, as they will be used during<a name="line.949"></a>
-<span class="sourceLineNo">950</span>    // loading.<a name="line.950"></a>
-<span class="sourceLineNo">951</span>    this.serverManager = createServerManager(this);<a name="line.951"></a>
-<span class="sourceLineNo">952</span>    this.syncReplicationReplayWALManager = new SyncReplicationReplayWALManager(this);<a name="line.952"></a>
-<span class="sourceLineNo">953</span>    createProcedureExecutor();<a name="line.953"></a>
-<span class="sourceLineNo">954</span>    @SuppressWarnings("rawtypes")<a name="line.954"></a>
-<span class="sourceLineNo">955</span>    Map&lt;Class&lt;? extends Procedure&gt;, List&lt;Procedure&lt;MasterProcedureEnv&gt;&gt;&gt; procsByType =<a name="line.955"></a>
-<span class="sourceLineNo">956</span>      procedureExecutor.getActiveProceduresNoCopy().stream()<a name="line.956"></a>
-<span class="sourceLineNo">957</span>        .collect(Collectors.groupingBy(p -&gt; p.getClass()));<a name="line.957"></a>
-<span class="sourceLineNo">958</span><a name="line.958"></a>
-<span class="sourceLineNo">959</span>    checkUnsupportedProcedure(procsByType);<a name="line.959"></a>
-<span class="sourceLineNo">960</span><a name="line.960"></a>
-<span class="sourceLineNo">961</span>    // Create Assignment Manager<a name="line.961"></a>
-<span class="sourceLineNo">962</span>    this.assignmentManager = createAssignmentManager(this);<a name="line.962"></a>
-<span class="sourceLineNo">963</span>    this.assignmentManager.start();<a name="line.963"></a>
-<span class="sourceLineNo">964</span>    // TODO: TRSP can perform as the sub procedure for other procedures, so even if it is marked as<a name="line.964"></a>
-<span class="sourceLineNo">965</span>    // completed, it could still be in the procedure list. This is a bit strange but is another<a name="line.965"></a>
-<span class="sourceLineNo">966</span>    // story, need to verify the implementation for ProcedureExecutor and ProcedureStore.<a name="line.966"></a>
-<span class="sourceLineNo">967</span>    List&lt;TransitRegionStateProcedure&gt; ritList =<a name="line.967"></a>
-<span class="sourceLineNo">968</span>      procsByType.getOrDefault(TransitRegionStateProcedure.class, Collections.emptyList()).stream()<a name="line.968"></a>
-<span class="sourceLineNo">969</span>        .filter(p -&gt; !p.isFinished()).map(p -&gt; (TransitRegionStateProcedure) p)<a name="line.969"></a>
-<span class="sourceLineNo">970</span>        .collect(Collectors.toList());<a name="line.970"></a>
-<span class="sourceLineNo">971</span>    this.assignmentManager.setupRIT(ritList);<a name="line.971"></a>
-<span class="sourceLineNo">972</span><a name="line.972"></a>
-<span class="sourceLineNo">973</span>    // Start RegionServerTracker with listing of servers found with exiting SCPs -- these should<a name="line.973"></a>
-<span class="sourceLineNo">974</span>    // be registered in the deadServers set -- and with the list of servernames out on the<a name="line.974"></a>
-<span class="sourceLineNo">975</span>    // filesystem that COULD BE 'alive' (we'll schedule SCPs for each and let SCP figure it out).<a name="line.975"></a>
-<span class="sourceLineNo">976</span>    // We also pass dirs that are already 'splitting'... so we can do some checks down in tracker.<a name="line.976"></a>
-<span class="sourceLineNo">977</span>    // TODO: Generate the splitting and live Set in one pass instead of two as we currently do.<a name="line.977"></a>
-<span class="sourceLineNo">978</span>    this.regionServerTracker = new RegionServerTracker(zooKeeper, this, this.serverManager);<a name="line.978"></a>
-<span class="sourceLineNo">979</span>    this.regionServerTracker.start(<a name="line.979"></a>
-<span class="sourceLineNo">980</span>      procsByType.getOrDefault(ServerCrashProcedure.class, Collections.emptyList()).stream()<a name="line.980"></a>
-<span class="sourceLineNo">981</span>        .map(p -&gt; (ServerCrashProcedure) p).map(p -&gt; p.getServerName()).collect(Collectors.toSet()),<a name="line.981"></a>
-<span class="sourceLineNo">982</span>      walManager.getLiveServersFromWALDir(), walManager.getSplittingServersFromWALDir());<a name="line.982"></a>
-<span class="sourceLineNo">983</span>    // This manager will be started AFTER hbase:meta is confirmed on line.<a name="line.983"></a>
-<span class="sourceLineNo">984</span>    // hbase.mirror.table.state.to.zookeeper is so hbase1 clients can connect. They read table<a name="line.984"></a>
-<span class="sourceLineNo">985</span>    // state from zookeeper while hbase2 reads it from hbase:meta. Disable if no hbase1 clients.<a name="line.985"></a>
-<span class="sourceLineNo">986</span>    this.tableStateManager =<a name="line.986"></a>
-<span class="sourceLineNo">987</span>      this.conf.getBoolean(MirroringTableStateManager.MIRROR_TABLE_STATE_TO_ZK_KEY, true)<a name="line.987"></a>
-<span class="sourceLineNo">988</span>        ?<a name="line.988"></a>
-<span class="sourceLineNo">989</span>        new MirroringTableStateManager(this):<a name="line.989"></a>
-<span class="sourceLineNo">990</span>        new TableStateManager(this);<a name="line.990"></a>
-<span class="sourceLineNo">991</span><a name="line.991"></a>
-<span class="sourceLineNo">992</span>    status.setStatus("Initializing ZK system trackers");<a name="line.992"></a>
-<span class="sourceLineNo">993</span>    initializeZKBasedSystemTrackers();<a name="line.993"></a>
-<span class="sourceLineNo">994</span>    status.setStatus("Loading last flushed sequence id of regions");<a name="line.994"></a>
-<span class="sourceLineNo">995</span>    try {<a name="line.995"></a>
-<span class="sourceLineNo">996</span>      this.serverManager.loadLastFlushedSequenceIds();<a name="line.996"></a>
-<span class="sourceLineNo">997</span>    } catch (IOException e) {<a name="line.997"></a>
-<span class="sourceLineNo">998</span>      LOG.debug("Failed to load last flushed sequence id of regions"<a name="line.998"></a>
-<span class="sourceLineNo">999</span>          + " from file system", e);<a name="line.999"></a>
-<span class="sourceLineNo">1000</span>    }<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>    // Set ourselves as active Master now our claim has succeeded up in zk.<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>    this.activeMaster = true;<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span><a name="line.1003"></a>
-<span class="sourceLineNo">1004</span>    // This is for backwards compatibility<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span>    // See HBASE-11393<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span>    status.setStatus("Update TableCFs node in ZNode");<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span>    ReplicationPeerConfigUpgrader tableCFsUpdater =<a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>        new ReplicationPeerConfigUpgrader(zooKeeper, conf);<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span>    tableCFsUpdater.copyTableCFs();<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span><a name="line.1010"></a>
-<span class="sourceLineNo">1011</span>    if (!maintenanceMode) {<a name="line.1011"></a>
-<span class="sourceLineNo">1012</span>      // Add the Observer to delete quotas on table deletion before starting all CPs by<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>      // default with quota support, avoiding if user specifically asks to not load this Observer.<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span>      if (QuotaUtil.isQuotaEnabled(conf)) {<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span>        updateConfigurationForQuotasObserver(conf);<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>      }<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span>      // initialize master side coprocessors before we start handling requests<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>      status.setStatus("Initializing master coprocessors");<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span>      this.cpHost = new MasterCoprocessorHost(this, this.conf);<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>    }<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span><a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>    // Checking if meta needs initializing.<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span>    status.setStatus("Initializing meta table if this is a new deploy");<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>    InitMetaProcedure initMetaProc = null;<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>    // Print out state of hbase:meta on startup; helps debugging.<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>    RegionState rs = this.assignmentManager.getRegionStates().<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span>        getRegionState(RegionInfoBuilder.FIRST_META_REGIONINFO);<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>    LOG.info("hbase:meta {}", rs);<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span>    if (rs.isOffline()) {<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span>      Optional&lt;InitMetaProcedure&gt; optProc = procedureExecutor.getProcedures().stream()<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span>        .filter(p -&gt; p instanceof InitMetaProcedure).map(o -&gt; (InitMetaProcedure) o).findAny();<a name="line.1031"></a>
-<span class="sourceLineNo">1032</span>      initMetaProc = optProc.orElseGet(() -&gt; {<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>        // schedule an init meta procedure if meta has not been deployed yet<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>        InitMetaProcedure temp = new InitMetaProcedure();<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span>        procedureExecutor.submitProcedure(temp);<a name="line.1035"></a>
-<span class="sourceLineNo">1036</span>        return temp;<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>      });<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>    }<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span>    if (this.balancer instanceof FavoredNodesPromoter) {<a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>      favoredNodesManager = new FavoredNodesManager(this);<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>    }<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span><a name="line.1042"></a>
-<span class="sourceLineNo">1043</span>    // initialize load balancer<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>    this.balancer.setMasterServices(this);<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>    this.balancer.setClusterMetrics(getClusterMetricsWithoutCoprocessor());<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span>    this.balancer.initialize();<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span><a name="line.1047"></a>
-<span class="sourceLineNo">1048</span>    // start up all service threads.<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span>    status.setStatus("Initializing master service threads");<a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>    startServiceThreads();<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>    // wait meta to be initialized after we start procedure executor<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span>    if (initMetaProc != null) {<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>      initMetaProc.await();<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>    }<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>    // Wake up this server to check in<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>    sleeper.skipSleepCycle();<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span><a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>    // Wait for region servers to report in.<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>    // With this as part of master initialization, it precludes our being able to start a single<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>    // server that is both Master and RegionServer. Needs more thought. TODO.<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span>    String statusStr = "Wait for region servers to report in";<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span>    status.setStatus(statusStr);<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>    LOG.info(Objects.toString(status));<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span>    waitForRegionServers(status);<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span><a name="line.1065"></a>
-<span class="sourceLineNo">1066</span>    // Check if master is shutting down because issue initializing regionservers or balancer.<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>    if (isStopped()) {<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>      return;<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>    }<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span><a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>    status.setStatus("Starting assignment manager");<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>    // FIRST HBASE:META READ!!!!<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>    // The below cannot make progress w/o hbase:meta being online.<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span>    // This is the FIRST attempt at going to hbase:meta. Meta on-lining is going on in background<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>    // as procedures run -- in particular SCPs for crashed servers... One should put up hbase:meta<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>    // if it is down. It may take a while to come online. So, wait here until meta if for sure<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>    // available. That's what waitForMetaOnline does.<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span>    if (!waitForMetaOnline()) {<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span>      return;<a name="line.1079"></a>
-<span class="sourceLineNo">1080</span>    }<a name="line.1080"></a>
-<span class="sourceLineNo">1081</span>    this.assignmentManager.joinCluster();<a name="line.1081"></a>
-<span class="sourceLineNo">1082</span>    // The below depends on hbase:meta being online.<a name="line.1082"></a>
-<span class="sourceLineNo">1083</span>    this.tableStateManager.start();<a name="line.1083"></a>
-<span class="sourceLineNo">1084</span>    // Below has to happen after tablestatemanager has started in the case where this hbase-2.x<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span>    // is being started over an hbase-1.x dataset. tablestatemanager runs a migration as part<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span>    // of its 'start' moving table state from zookeeper to hbase:meta. This migration needs to<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span>    // complete before we do this next step processing offline regions else it fails reading<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span>    // table states messing up master launch (namespace table, etc., are not assigned).<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span>    this.assignmentManager.processOfflineRegions();<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span>    // Initialize after meta is up as below scans meta<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span>    if (favoredNodesManager != null &amp;&amp; !maintenanceMode) {<a name="line.1091"></a>
-<span class="sourceLineNo">1092</span>      SnapshotOfRegionAssignmentFromMeta snapshotOfRegionAssignment =<a name="line.1092"></a>
-<span class="sourceLineNo">1093</span>          new SnapshotOfRegionAssignmentFromMeta(getConnection());<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span>      snapshotOfRegionAssignment.initialize();<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span>      favoredNodesManager.initialize(snapshotOfRegionAssignment);<a name="line.1095"></a>
-<span class="sourceLineNo">1096</span>    }<a name="line.1096"></a>
-<span class="sourceLineNo">1097</span><a name="line.1097"></a>
-<span class="sourceLineNo">1098</span>    // set cluster status again after user regions are assigned<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span>    this.balancer.setClusterMetrics(getClusterMetricsWithoutCoprocessor());<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span><a name="line.1100"></a>
-<span class="sourceLineNo">1101</span>    // Start balancer and meta catalog janitor after meta and regions have been assigned.<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span>    status.setStatus("Starting balancer and catalog janitor");<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span>    this.clusterStatusChore = new ClusterStatusChore(this, balancer);<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span>    getChoreService().scheduleChore(clusterStatusChore);<a name="line.1104"></a>
-<span class="sourceLineNo">1105</span>    this.balancerChore = new BalancerChore(this);<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span>    getChoreService().scheduleChore(balancerChore);<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span>    this.normalizerChore = new RegionNormalizerChore(this);<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span>    getChoreService().scheduleChore(normalizerChore);<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span>    this.catalogJanitorChore = new CatalogJanitor(this);<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span>    getChoreService().scheduleChore(catalogJanitorChore);<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span>    this.serverManager.startChore();<a name="line.1111"></a>
-<span class="sourceLineNo">1112</span><a name="line.1112"></a>
-<span class="sourceLineNo">1113</span>    // Only for rolling upgrade, where we need to migrate the data in namespace table to meta table.<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span>    if (!waitForNamespaceOnline()) {<a name="line.1114"></a>
-<span class="sourceLineNo">1115</span>      return;<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span>    }<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span>    status.setStatus("Starting cluster schema service");<a name="line.1117"></a>
-<span class="sourceLineNo">1118</span>    initClusterSchemaService();<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span><a name="line.1119"></a>
-<span class="sourceLineNo">1120</span>    if (this.cpHost != null) {<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span>      try {<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span>        this.cpHost.preMasterInitialization();<a name="line.1122"></a>
-<span class="sourceLineNo">1123</span>      } catch (IOException e) {<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span>        LOG.error("Coprocessor preMasterInitialization() hook failed", e);<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span>      }<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span>    }<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span><a name="line.1127"></a>
-<span class="sourceLineNo">1128</span>    status.markComplete("Initialization successful");<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span>    LOG.info(String.format("Master has completed initialization %.3fsec",<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span>       (System.currentTimeMillis() - masterActiveTime) / 1000.0f));<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span>    this.masterFinishedInitializationTime = System.currentTimeMillis();<a name="line.1131"></a>
-<span class="sourceLineNo">1132</span>    configurationManager.registerObserver(this.balancer);<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span>    configurationManager.registerObserver(this.hfileCleaner);<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span>    configurationManager.registerObserver(this.logCleaner);<a name="line.1134"></a>
-<span class="sourceLineNo">1135</span>    // Set master as 'initialized'.<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span>    setInitialized(true);<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span><a name="line.1137"></a>
-<span class="sourceLineNo">1138</span>    if (maintenanceMode) {<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span>      LOG.info("Detected repair mode, skipping final initialization steps.");<a name="line.1139"></a>
-<span class="sourceLineNo">1140</span>      return;<a name="line.1140"></a>
-<span class="sourceLineNo">1141</span>    }<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span><a name="line.1142"></a>
-<span class="sourceLineNo">1143</span>    assignmentManager.checkIfShouldMoveSystemRegionAsync();<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span>    status.setStatus("Assign meta replicas");<a name="line.1144"></a>
-<span class="sourceLineNo">1145</span>    MasterMetaBootstrap metaBootstrap = createMetaBootstrap();<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span>    metaBootstrap.assignMetaReplicas();<a name="line.1146"></a>
-<span class="sourceLineNo">1147</span>    status.setStatus("Starting quota manager");<a name="line.1147"></a>
-<span class="sourceLineNo">1148</span>    initQuotaManager();<a name="line.1148"></a>
-<span class="sourceLineNo">1149</span>    if (QuotaUtil.isQuotaEnabled(conf)) {<a name="line.1149"></a>
-<span class="sourceLineNo">1150</span>      // Create the quota snapshot notifier<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span>      spaceQuotaSnapshotNotifier = createQuotaSnapshotNotifier();<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span>      spaceQuotaSnapshotNotifier.initialize(getClusterConnection());<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span>      this.quotaObserverChore = new QuotaObserverChore(this, getMasterMetrics());<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span>      // Start the chore to read the region FS space reports and act on them<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span>      getChoreService().scheduleChore(quotaObserverChore);<a name="line.1155"></a>
-<span class="sourceLineNo">1156</span><a name="line.1156"></a>
-<span class="sourceLineNo">1157</span>      this.snapshotQuotaChore = new SnapshotQuotaObserverChore(this, getMasterMetrics());<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span>      // Start the chore to read snapshots and add their usage to table/NS quotas<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span>      getChoreService().scheduleChore(snapshotQuotaChore);<a name="line.1159"></a>
-<span class="sourceLineNo">1160</span>    }<a name="line.1160"></a>
-<span class="sourceLineNo">1161</span><a name="line.1161"></a>
-<span class="sourceLineNo">1162</span>    // clear the dead servers with same host name and port of online server because we are not<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span>    // removing dead server with same hostname and port of rs which is trying to check in before<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span>    // master initialization. See HBASE-5916.<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span>    this.serverManager.clearDeadServersWithSameHostNameAndPortOfOnlineServer();<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span><a name="line.1166"></a>
-<span class="sourceLineNo">1167</span>    // Check and set the znode ACLs if needed in case we are overtaking a non-secure configuration<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span>    status.setStatus("Checking ZNode ACLs");<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span>    zooKeeper.checkAndSetZNodeAcls();<a name="line.1169"></a>
-<span class="sourceLineNo">1170</span><a name="line.1170"></a>
-<span class="sourceLineNo">1171</span>    status.setStatus("Initializing MOB Cleaner");<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span>    initMobCleaner();<a name="line.1172"></a>
-<span class="sourceLineNo">1173</span><a name="line.1173"></a>
-<span class="sourceLineNo">1174</span>    status.setStatus("Calling postStartMaster coprocessors");<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span>    if (this.cpHost != null) {<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span>      // don't let cp initialization errors kill the master<a name="line.1176"></a>
-<span class="sourceLineNo">1177</span>      try {<a name="line.1177"></a>
-<span class="sourceLineNo">1178</span>        this.cpHost.postStartMaster();<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span>      } catch (IOException ioe) {<a name="line.1179"></a>
-<span class="sourceLineNo">1180</span>        LOG.error("Coprocessor postStartMaster() hook failed", ioe);<a name="line.1180"></a>
-<span class="sourceLineNo">1181</span>      }<a name="line.1181"></a>
-<span class="sourceLineNo">1182</span>    }<a name="line.1182"></a>
-<span class="sourceLineNo">1183</span><a name="line.1183"></a>
-<span class="sourceLineNo">1184</span>    zombieDetector.interrupt();<a name="line.1184"></a>
-<span class="sourceLineNo">1185</span><a name="line.1185"></a>
-<span class="sourceLineNo">1186</span>    /*<a name="line.1186"></a>
-<span class="sourceLineNo">1187</span>     * After master has started up, lets do balancer post startup initialization. Since this runs<a name="line.1187"></a>
-<span class="sourceLineNo">1188</span>     * in activeMasterManager thread, it should be fine.<a name="line.1188"></a>
-<span class="sourceLineNo">1189</span>     */<a name="line.1189"></a>
-<span class="sourceLineNo">1190</span>    long start = System.currentTimeMillis();<a name="line.1190"></a>
-<span class="sourceLineNo">1191</span>    this.balancer.postMasterStartupInitialize();<a name="line.1191"></a>
-<span class="sourceLineNo">1192</span>    if (LOG.isDebugEnabled()) {<a name="line.1192"></a>
-<span class="sourceLineNo">1193</span>      LOG.debug("Balancer post startup initialization complete, took " + (<a name="line.1193"></a>
-<span class="sourceLineNo">1194</span>          (System.currentTimeMillis() - start) / 1000) + " seconds");<a name="line.1194"></a>
-<span class="sourceLineNo">1195</span>    }<a name="line.1195"></a>
-<span class="sourceLineNo">1196</span>  }<a name="line.1196"></a>
-<span class="sourceLineNo">1197</span><a name="line.1197"></a>
-<span class="sourceLineNo">1198</span>  /**<a name="line.1198"></a>
-<span class="sourceLineNo">1199</span>   * Check hbase:meta is up and ready for reading. For use during Master startup only.<a name="line.1199"></a>
-<span class="sourceLineNo">1200</span>   * @return True if meta is UP and online and startup can progress. Otherwise, meta is not online<a name="line.1200"></a>
-<span class="sourceLineNo">1201</span>   *   and we will hold here until operator intervention.<a name="line.1201"></a>
-<span class="sourceLineNo">1202</span>   */<a name="line.1202"></a>
-<span class="sourceLineNo">1203</span>  @VisibleForTesting<a name="line.1203"></a>
-<span class="sourceLineNo">1204</span>  public boolean waitForMetaOnline() throws InterruptedException {<a name="line.1204"></a>
-<span class="sourceLineNo">1205</span>    return isRegionOnline(RegionInfoBuilder.FIRST_META_REGIONINFO);<a name="line.1205"></a>
-<span class="sourceLineNo">1206</span>  }<a name="line.1206"></a>
-<span class="sourceLineNo">1207</span><a name="line.1207"></a>
-<span class="sourceLineNo">1208</span>  /**<a name="line.1208"></a>
-<span class="sourceLineNo">1209</span>   * @return True if region is online and scannable else false if an error or shutdown (Otherwise<a name="line.1209"></a>
-<span class="sourceLineNo">1210</span>   *   we just block in here holding up all forward-progess).<a name="line.1210"></a>
-<span class="sourceLineNo">1211</span>   */<a name="line.1211"></a>
-<span class="sourceLineNo">1212</span>  private boolean isRegionOnline(RegionInfo ri) throws InterruptedException {<a name="line.1212"></a>
-<span class="sourceLineNo">1213</span>    RetryCounter rc = null;<a name="line.1213"></a>
-<span class="sourceLineNo">1214</span>    while (!isStopped()) {<a name="line.1214"></a>
-<span class="sourceLineNo">1215</span>      RegionState rs = this.assignmentManager.getRegionStates().getRegionState(ri);<a name="line.1215"></a>
-<span class="sourceLineNo">1216</span>      if (rs.isOpened()) {<a name="line.1216"></a>
-<span class="sourceLineNo">1217</span>        if (this.getServerManager().isServerOnline(rs.getServerName())) {<a name="line.1217"></a>
-<span class="sourceLineNo">1218</span>          return true;<a name="line.1218"></a>
-<span class="sourceLineNo">1219</span>        }<a name="line.1219"></a>
-<span class="sourceLineNo">1220</span>      }<a name="line.1220"></a>
-<span class="sourceLineNo">1221</span>      // Region is not OPEN.<a name="line.1221"></a>
-<span class="sourceLineNo">1222</span>      Optional&lt;Procedure&lt;MasterProcedureEnv&gt;&gt; optProc = this.procedureExecutor.getProcedures().<a name="line.1222"></a>
-<span class="sourceLineNo">1223</span>          stream().filter(p -&gt; p instanceof ServerCrashProcedure).findAny();<a name="line.1223"></a>
-<span class="sourceLineNo">1224</span>      // TODO: Add a page to refguide on how to do repair. Have this log message point to it.<a name="line.1224"></a>
-<span class="sourceLineNo">1225</span>      // Page will talk about loss of edits, how to schedule at least the meta WAL recovery, and<a name="line.1225"></a>
-<span class="sourceLineNo">1226</span>      // then how to assign including how to break region lock if one held.<a name="line.1226"></a>
-<span class="sourceLineNo">1227</span>      LOG.warn("{} is NOT online; state={}; ServerCrashProcedures={}. Master startup cannot " +<a name="line.1227"></a>
-<span class="sourceLineNo">1228</span>          "progress, in holding-pattern until region onlined.",<a name="line.1228"></a>
-<span class="sourceLineNo">1229</span>          ri.getRegionNameAsString(), rs, optProc.isPresent());<a name="line.1229"></a>
-<span class="sourceLineNo">1230</span>      // Check once-a-minute.<a name="line.1230"></a>
-<span class="sourceLineNo">1231</span>      if (rc == null) {<a name="line.1231"></a>
-<span class="sourceLineNo">1232</span>        rc = new RetryCounterFactory(1000).create();<a name="line.1232"></a>
-<span class="sourceLineNo">1233</span>      }<a name="line.1233"></a>
-<span class="sourceLineNo">1234</span>      Threads.sleep(rc.getBackoffTimeAndIncrementAttempts());<a name="line.1234"></a>
-<span class="sourceLineNo">1235</span>    }<a name="line.1235"></a>
-<span class="sourceLineNo">1236</span>    return false;<a name="line.1236"></a>
-<span class="sourceLineNo">1237</span>  }<a name="line.1237"></a>
-<span class="sourceLineNo">1238</span><a name="line.1238"></a>
-<span class="sourceLineNo">1239</span>  /**<a name="line.1239"></a>
-<span class="sourceLineNo">1240</span>   * Check hbase:namespace table is assigned. If not, startup will hang looking for the ns table<a name="line.1240"></a>
-<span class="sourceLineNo">1241</span>   * &lt;p/&gt;<a name="line.1241"></a>
-<span class="sourceLineNo">1242</span>   * This is for rolling upgrading, later we will migrate the data in ns table to the ns family of<a name="line.1242"></a>
-<span class="sourceLineNo">1243</span>   * meta table. And if this is a new clsuter, this method will return immediately as there will be<a name="line.1243"></a>
-<span class="sourceLineNo">1244</span>   * no namespace table/region.<a name="line.1244"></a>
-<span class="sourceLineNo">1245</span>   * @return True if namespace table is up/online.<a name="line.1245"></a>
-<span class="sourceLineNo">1246</span>   */<a name="line.1246"></a>
-<span class="sourceLineNo">1247</span>  private boolean waitForNamespaceOnline() throws InterruptedException, IOException {<a name="line.1247"></a>
-<span class="sourceLineNo">1248</span>    TableState nsTableState =<a name="line.1248"></a>
-<span class="sourceLineNo">1249</span>      MetaTableAccessor.getTableState(getClusterConnection(), TableName.NAMESPACE_TABLE_NAME);<a name="line.1249"></a>
-<span class="sourceLineNo">1250</span>    if (nsTableState == null || nsTableState.isDisabled()) {<a name="line.1250"></a>
-<span class="sourceLineNo">1251</span>      // this means we have already migrated the data and disabled or deleted the namespace table,<a name="line.1251"></a>
-<span class="sourceLineNo">1252</span>      // or this is a new depliy which does not have a namespace table from the beginning.<a name="line.1252"></a>
-<span class="sourceLineNo">1253</span>      return true;<a name="line.1253"></a>
-<span class="sourceLineNo">1254</span>    }<a name="line.1254"></a>
-<span class="sourceLineNo">1255</span>    List&lt;RegionInfo&gt; ris =<a name="line.1255"></a>
-<span class="sourceLineNo">1256</span>      this.assignmentManager.getRegionStates().getRegionsOfTable(TableName.NAMESPACE_TABLE_NAME);<a name="line.1256"></a>
-<span class="sourceLineNo">1257</span>    if (ris.isEmpty()) {<a name="line.1257"></a>
-<span class="sourceLineNo">1258</span>      // maybe this will not happen any more, but anyway, no harm to add a check here...<a name="line.1258"></a>
-<span class="sourceLineNo">1259</span>      return true;<a name="line.1259"></a>
-<span class="sourceLineNo">1260</span>    }<a name="line.1260"></a>
-<span class="sourceLineNo">1261</span>    // Else there are namespace regions up in meta. Ensure they are assigned before we go on.<a name="line.1261"></a>
-<span class="sourceLineNo">1262</span>    for (RegionInfo ri : ris) {<a name="line.1262"></a>
-<span class="sourceLineNo">1263</span>      isRegionOnline(ri);<a name="line.1263"></a>
-<span class="sourceLineNo">1264</span>    }<a name="line.1264"></a>
-<span class="sourceLineNo">1265</span>    return true;<a name="line.1265"></a>
-<span class="sourceLineNo">1266</span>  }<a name="line.1266"></a>
-<span class="sourceLineNo">1267</span><a name="line.1267"></a>
-<span class="sourceLineNo">1268</span>  /**<a name="line.1268"></a>
-<span class="sourceLineNo">1269</span>   * Adds the {@code MasterQuotasObserver} to the list of configured Master observers to<a name="line.1269"></a>
-<span class="sourceLineNo">1270</span>   * automatically remove quotas for a table when that table is deleted.<a name="line.1270"></a>
-<span class="sourceLineNo">1271</span>   */<a name="line.1271"></a>
-<span class="sourceLineNo">1272</span>  @VisibleForTesting<a name="line.1272"></a>
-<span class="sourceLineNo">1273</span>  public void updateConfigurationForQuotasObserver(Configuration conf) {<a name="line.1273"></a>
-<span class="sourceLineNo">1274</span>    // We're configured to not delete quotas on table deletion, so we don't need to add the obs.<a name="line.1274"></a>
-<span class="sourceLineNo">1275</span>    if (!conf.getBoolean(<a name="line.1275"></a>
-<span class="sourceLineNo">1276</span>          MasterQuotasObserver.REMOVE_QUOTA_ON_TABLE_DELETE,<a name="line.1276"></a>
-<span class="sourceLineNo">1277</span>          MasterQuotasObserver.REMOVE_QUOTA_ON_TABLE_DELETE_DEFAULT)) {<a name="line.1277"></a>
-<span class="sourceLineNo">1278</span>      return;<a name="line.1278"></a>
-<span class="sourceLineNo">1279</span>    }<a name="line.1279"></a>
-<span class="sourceLineNo">1280</span>    String[] masterCoprocs = conf.getStrings(CoprocessorHost.MASTER_COPROCESSOR_CONF_KEY);<a name="line.1280"></a>
-<span class="sourceLineNo">1281</span>    final int length = null == masterCoprocs ? 0 : masterCoprocs.length;<a name="line.1281"></a>
-<span class="sourceLineNo">1282</span>    String[] updatedCoprocs = new String[length + 1];<a name="line.1282"></a>
-<span class="sourceLineNo">1283</span>    if (length &gt; 0) {<a name="line.1283"></a>
-<span class="sourceLineNo">1284</span>      System.arraycopy(masterCoprocs, 0, updatedCoprocs, 0, masterCoprocs.length);<a name="line.1284"></a>
-<span class="sourceLineNo">1285</span>    }<a name="line.1285"></a>
-<span class="sourceLineNo">1286</span>    updatedCoprocs[length] = MasterQuotasObserver.class.getName();<a name="line.1286"></a>
-<span class="sourceLineNo">1287</span>    conf.setStrings(CoprocessorHost.MASTER_COPROCESSOR_CONF_KEY, updatedCoprocs);<a name="line.1287"></a>
-<span class="sourceLineNo">1288</span>  }<a name="line.1288"></a>
-<span class="sourceLineNo">1289</span><a name="line.1289"></a>
-<span class="sourceLineNo">1290</span>  private void initMobCleaner() {<a name="line.1290"></a>
-<span class="sourceLineNo">1291</span>    this.expiredMobFileCleanerChore = new ExpiredMobFileCleanerChore(this);<a name="line.1291"></a>
-<span class="sourceLineNo">1292</span>    getChoreService().scheduleChore(expiredMobFileCleanerChore);<a name="line.1292"></a>
-<span class="sourceLineNo">1293</span><a name="line.1293"></a>
-<span class="sourceLineNo">1294</span>    int mobCompactionPeriod = conf.getInt(MobConstants.MOB_COMPACTION_CHORE_PERIOD,<a name="line.1294"></a>
-<span class="sourceLineNo">1295</span>        MobConstants.DEFAULT_MOB_COMPACTION_CHORE_PERIOD);<a name="line.1295"></a>
-<span class="sourceLineNo">1296</span>    if (mobCompactionPeriod &gt; 0) {<a name="line.1296"></a>
-<span class="sourceLineNo">1297</span>      this.mobCompactChore = new MobCompactionChore(this, mobCompactionPeriod);<a name="line.1297"></a>
-<span class="sourceLineNo">1298</span>      getChoreService().scheduleChore(mobCompactChore);<a name="line.1298"></a>
-<span class="sourceLineNo">1299</span>    } else {<a name="line.1299"></a>
-<span class="sourceLineNo">1300</span>      LOG<a name="line.1300"></a>
-<span class="sourceLineNo">1301</span>        .info("The period is " + mobCompactionPeriod + " seconds, MobCompactionChore is disabled");<a name="line.1301"></a>
-<span class="sourceLineNo">1302</span>    }<a name="line.1302"></a>
-<span class="sourceLineNo">1303</span>    this.mobCompactThread = new MasterMobCompactionThread(this);<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span>  }<a name="line.1304"></a>
-<span class="sourceLineNo">1305</span><a name="line.1305"></a>
-<span class="sourceLineNo">1306</span>  /**<a name="line.1306"></a>
-<span class="sourceLineNo">1307</span>   * &lt;p&gt;<a name="line.1307"></a>
-<span class="sourceLineNo">1308</span>   * Create a {@link MasterMetaBootstrap} instance.<a name="line.1308"></a>
-<span class="sourceLineNo">1309</span>   * &lt;/p&gt;<a name="line.1309"></a>
-<span class="sourceLineNo">1310</span>   * &lt;p&gt;<a name="line.1310"></a>
-<span class="sourceLineNo">1311</span>   * Will be overridden in tests.<a name="line.1311"></a>
-<span class="sourceLineNo">1312</span>   * &lt;/p&gt;<a name="line.1312"></a>
-<span class="sourceLineNo">1313</span>   */<a name="line.1313"></a>
-<span class="sourceLineNo">1314</span>  @VisibleForTesting<a name="line.1314"></a>
-<span class="sourceLineNo">1315</span>  protected MasterMetaBootstrap createMetaBootstrap() {<a name="line.1315"></a>
-<span class="sourceLineNo">1316</span>    // We put this out here in a method so can do a Mockito.spy and stub it out<a name="line.1316"></a>
-<span class="sourceLineNo">1317</span>    // w/ a mocked up MasterMetaBootstrap.<a name="line.1317"></a>
-<span class="sourceLineNo">1318</span>    return new MasterMetaBootstrap(this);<a name="line.1318"></a>
-<span class="sourceLineNo">1319</span>  }<a name="line.1319"></a>
-<span class="sourceLineNo">1320</span><a name="line.1320"></a>
-<span class="sourceLineNo">1321</span>  /**<a name="line.1321"></a>
-<span class="sourceLineNo">1322</span>   * &lt;p&gt;<a name="line.1322"></a>
-<span class="sourceLineNo">1323</span>   * Create a {@link ServerManager} instance.<a name="line.1323"></a>
-<span class="sourceLineNo">1324</span>   * &lt;/p&gt;<a name="line.1324"></a>
-<span class="sourceLineNo">1325</span>   * &lt;p&gt;<a name="line.1325"></a>
-<span class="sourceLineNo">1326</span>   * Will be overridden in tests.<a name="line.1326"></a>
-<span class="sourceLineNo">1327</span>   * &lt;/p&gt;<a name="line.1327"></a>
-<span class="sourceLineNo">1328</span>   */<a name="line.1328"></a>
-<span class="sourceLineNo">1329</span>  @VisibleForTesting<a name="line.1329"></a>
-<span class="sourceLineNo">1330</span>  protected ServerManager createServerManager(final MasterServices master) throws IOException {<a name="line.1330"></a>
-<span class="sourceLineNo">1331</span>    // We put this out here in a method so can do a Mockito.spy and stub it out<a name="line.1331"></a>
-<span class="sourceLineNo">1332</span>    // w/ a mocked up ServerManager.<a name="line.1332"></a>
-<span class="sourceLineNo">1333</span>    setupClusterConnection();<a name="line.1333"></a>
-<span class="sourceLineNo">1334</span>    return new ServerManager(master);<a name="line.1334"></a>
-<span class="sourceLineNo">1335</span>  }<a name="line.1335"></a>
-<span class="sourceLineNo">1336</span><a name="line.1336"></a>
-<span class="sourceLineNo">1337</span>  private void waitForRegionServers(final MonitoredTask status)<a name="line.1337"></a>
-<span class="sourceLineNo">1338</span>      throws IOException, InterruptedException {<a name="line.1338"></a>
-<span class="sourceLineNo">1339</span>    this.serverManager.waitForRegionServers(status);<a name="line.1339"></a>
-<span class="sourceLineNo">1340</span>  }<a name="line.1340"></a>
-<span class="sourceLineNo">1341</span><a name="line.1341"></a>
-<span class="sourceLineNo">1342</span>  // Will be overridden in tests<a name="line.1342"></a>
-<span class="sourceLineNo">1343</span>  @VisibleForTesting<a name="line.1343"></a>
-<span class="sourceLineNo">1344</span>  protected void initClusterSchemaService() throws IOException, InterruptedException {<a name="line.1344"></a>
-<span class="sourceLineNo">1345</span>    this.clusterSchemaService = new ClusterSchemaServiceImpl(this);<a name="line.1345"></a>
-<span class="sourceLineNo">1346</span>    this.clusterSchemaService.startAsync();<a name="line.1346"></a>
-<span class="sourceLineNo">1347</span>    try {<a name="line.1347"></a>
-<span class="sourceLineNo">1348</span>      this.clusterSchemaService.awaitRunning(getConfiguration().getInt(<a name="line.1348"></a>
-<span class="sourceLineNo">1349</span>        HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS,<a name="line.1349"></a>
-<span class="sourceLineNo">1350</span>        DEFAULT_HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS), TimeUnit.SECONDS);<a name="line.1350"></a>
-<span class="sourceLineNo">1351</span>    } catch (TimeoutException toe) {<a name="line.1351"></a>
-<span class="sourceLineNo">1352</span>      throw new IOException("Timedout starting ClusterSchemaService", toe);<a name="line.1352"></a>
-<span class="sourceLineNo">1353</span>    }<a name="line.1353"></a>
-<span class="sourceLineNo">1354</span>  }<a name="line.1354"></a>
-<span class="sourceLineNo">1355</span><a name="line.1355"></a>
-<span class="sourceLineNo">1356</span>  private void initQuotaManager() throws IOException {<a name="line.1356"></a>
-<span class="sourceLineNo">1357</span>    MasterQuotaManager quotaManager = new MasterQuotaManager(this);<a name="line.1357"></a>
-<span class="sourceLineNo">1358</span>    quotaManager.start();<a name="line.1358"></a>
-<span class="sourceLineNo">1359</span>    this.quotaManager = quotaManager;<a name="line.1359"></a>
-<span class="sourceLineNo">1360</span>  }<a name="line.1360"></a>
-<span class="sourceLineNo">1361</span><a name="line.1361"></a>
-<span class="sourceLineNo">1362</span>  private SpaceQuotaSnapshotNotifier createQuotaSnapshotNotifier() {<a name="line.1362"></a>
-<span class="sourceLineNo">1363</span>    SpaceQuotaSnapshotNotifier notifier =<a name="line.1363"></a>
-<span class="sourceLineNo">1364</span>        SpaceQuotaSnapshotNotifierFactory.getInstance().create(getConfiguration());<a name="line.1364"></a>
-<span class="sourceLineNo">1365</span>    return notifier;<a name="line.1365"></a>
-<span class="sourceLineNo">1366</span>  }<a name="line.1366"></a>
-<span class="sourceLineNo">1367</span><a name="line.1367"></a>
-<span class="sourceLineNo">1368</span>  boolean isCatalogJanitorEnabled() {<a name="line.1368"></a>
-<span class="sourceLineNo">1369</span>    return catalogJanitorChore != null ?<a name="line.1369"></a>
-<span class="sourceLineNo">1370</span>      catalogJanitorChore.getEnabled() : false;<a name="line.1370"></a>
-<span class="sourceLineNo">1371</span>  }<a name="line.1371"></a>
-<span class="sourceLineNo">1372</span><a name="line.1372"></a>
-<span class="sourceLineNo">1373</span>  boolean isCleanerChoreEnabled() {<a name="line.1373"></a>
-<span class="sourceLineNo">1374</span>    boolean hfileCleanerFlag = true, logCleanerFlag = true;<a name="line.1374"></a>
-<span class="sourceLineNo">1375</span><a name="line.1375"></a>
-<span class="sourceLineNo">1376</span>    if (hfileCleaner != null) {<a name="line.1376"></a>
-<span class="sourceLineNo">1377</span>      hfileCleanerFlag = hfileCleaner.getEnabled();<a name="line.1377"></a>
-<span class="sourceLineNo">1378</span>    }<a name="line.1378"></a>
-<span class="sourceLineNo">1379</span><a name="line.1379"></a>
-<span class="sourceLineNo">1380</span>    if (logCleaner != null) {<a name="line.1380"></a>
-<span class="sourceLineNo">1381</span>      logCleanerFlag = logCleaner.getEnabled();<a name="line.1381"></a>
-<span class="sourceLineNo">1382</span>    }<a name="line.1382"></a>
-<span class="sourceLineNo">1383</span><a name="line.1383"></a>
-<span class="sourceLineNo">1384</span>    return (hfileCleanerFlag &amp;&amp; logCleanerFlag);<a name="line.1384"></a>
-<span class="sourceLineNo">1385</span>  }<a name="line.1385"></a>
-<span class="sourceLineNo">1386</span><a name="line.1386"></a>
-<span class="sourceLineNo">1387</span>  @Override<a name="line.1387"></a>
-<span class="sourceLineNo">1388</span>  public ServerManager getServerManager() {<a name="line.1388"></a>
-<span class="sourceLineNo">1389</span>    return this.serverManager;<a name="line.1389"></a>
-<span class="sourceLineNo">1390</span>  }<a name="line.1390"></a>
-<span class="sourceLineNo">1391</span><a name="line.1391"></a>
-<span class="sourceLineNo">1392</span>  @Override<a name="line.1392"></a>
-<span class="sourceLineNo">1393</span>  public MasterFileSystem getMasterFileSystem() {<a name="line.1393"></a>
-<span class="sourceLineNo">1394</span>    return this.fileSystemManager;<a name="line.1394"></a>
-<span class="sourceLineNo">1395</span>  }<a name="line.1395"></a>
-<span class="sourceLineNo">1396</span><a name="line.1396"></a>
-<span class="sourceLineNo">1397</span>  @Override<a name="line.1397"></a>
-<span class="sourceLineNo">1398</span>  public MasterWalManager getMasterWalManager() {<a name="line.1398"></a>
-<span class="sourceLineNo">1399</span>    return this.walManager;<a name="line.1399"></a>
-<span class="sourceLineNo">1400</span>  }<a name="line.1400"></a>
-<span class="sourceLineNo">1401</span><a name="line.1401"></a>
-<span class="sourceLineNo">1402</span>  @Override<a name="line.1402"></a>
-<span class="sourceLineNo">1403</span>  public TableStateManager getTableStateManager() {<a name="line.1403"></a>
-<span class="sourceLineNo">1404</span>    return tableStateManager;<a name="line.1404"></a>
-<span class="sourceLineNo">1405</span>  }<a name="line.1405"></a>
-<span class="sourceLineNo">1406</span><a name="line.1406"></a>
-<span class="sourceLineNo">1407</span>  /*<a name="line.1407"></a>
-<span class="sourceLineNo">1408</span>   * Start up all services. If any of these threads gets an unhandled exception<a name="line.1408"></a>
-<span class="sourceLineNo">1409</span>   * then they just die with a logged message.  This should be fine because<a name="line.1409"></a>
-<span class="sourceLineNo">1410</span>   * in general, we do not expect the master to get such unhandled exceptions<a name="line.1410"></a>
-<span class="sourceLineNo">1411</span>   *  as OOMEs; it should be lightly loaded. See what HRegionServer does if<a name="line.1411"></a>
-<span class="sourceLineNo">1412</span>   *  need to install an unexpected exception handler.<a name="line.1412"></a>
-<span class="sourceLineNo">1413</span>   */<a name="line.1413"></a>
-<span class="sourceLineNo">1414</span>  private void startServiceThreads() throws IOException{<a name="line.1414"></a>
-<span class="sourceLineNo">1415</span>   // Start the executor service pools<a name="line.1415"></a>
-<span class="sourceLineNo">1416</span>   this.executorService.startExecutorService(ExecutorType.MASTER_OPEN_REGION,<a name="line.1416"></a>
-<span class="sourceLineNo">1417</span>      conf.getInt("hbase.master.executor.openregion.threads", 5));<a name="line.1417"></a>
-<span class="sourceLineNo">1418</span>   this.executorService.startExecutorService(ExecutorType.MASTER_CLOSE_REGION,<a name="line.1418"></a>
-<span class="sourceLineNo">1419</span>      conf.getInt("hbase.master.executor.closeregion.threads", 5));<a name="line.1419"></a>
-<span class="sourceLineNo">1420</span>   this.executorService.startExecutorService(ExecutorType.MASTER_SERVER_OPERATIONS,<a name="line.1420"></a>
-<span class="sourceLineNo">1421</span>      conf.getInt("hbase.master.executor.serverops.threads", 5));<a name="line.1421"></a>
-<span class="sourceLineNo">1422</span>   this.executorService.startExecutorService(ExecutorType.MASTER_META_SERVER_OPERATIONS,<a name="line.1422"></a>
-<span class="sourceLineNo">1423</span>      conf.getInt("hbase.master.executor.meta.serverops.threads", 5));<a name="line.1423"></a>
-<span class="sourceLineNo">1424</span>   this.executorService.startExecutorService(ExecutorType.M_LOG_REPLAY_OPS,<a name="line.1424"></a>
-<span class="sourceLineNo">1425</span>      conf.getInt("hbase.master.executor.logreplayops.threads", 10));<a name="line.1425"></a>
-<span class="sourceLineNo">1426</span><a name="line.1426"></a>
-<span class="sourceLineNo">1427</span>   // We depend on there being only one instance of this executor running<a name="line.1427"></a>
-<span class="sourceLineNo">1428</span>   // at a time.  To do concurrency, would need fencing of enable/disable of<a name="line.1428"></a>
-<span class="sourceLineNo">1429</span>   // tables.<a name="line.1429"></a>
-<span class="sourceLineNo">1430</span>   // Any time changing this maxThreads to &gt; 1, pls see the comment at<a name="line.1430"></a>
-<span class="sourceLineNo">1431</span>   // AccessController#postCompletedCreateTableAction<a name="line.1431"></a>
-<span class="sourceLineNo">1432</span>   this.executorService.startExecutorService(ExecutorType.MASTER_TABLE_OPERATIONS, 1);<a name="line.1432"></a>
-<span class="sourceLineNo">1433</span>   startProcedureExecutor();<a name="line.1433"></a>
-<span class="sourceLineNo">1434</span><a name="line.1434"></a>
-<span class="sourceLineNo">1435</span>    // Initial cleaner chore<a name="line.1435"></a>
-<span class="sourceLineNo">1436</span>    CleanerChore.initChorePool(conf);<a name="line.1436"></a>
-<span class="sourceLineNo">1437</span>   // Start log cleaner thread<a name="line.1437"></a>
-<span class="sourceLineNo">1438</span>   int cleanerInterval = conf.getInt("hbase.master.cleaner.interval", 600 * 1000);<a name="line.1438"></a>
-<span class="sourceLineNo">1439</span>   this.logCleaner =<a name="line.1439"></a>
-<span class="sourceLineNo">1440</span>      new LogCleaner(cleanerInterval,<a name="line.1440"></a>
-<span class="sourceLineNo">1441</span>         this, conf, getMasterWalManager().getFileSystem(),<a name="line.1441"></a>
-<span class="sourceLineNo">1442</span>         getMasterWalManager().getOldLogDir());<a name="line.1442"></a>
-<span class="sourceLineNo">1443</span>    getChoreService().scheduleChore(logCleaner);<a name="line.1443"></a>
-<span class="sourceLineNo">1444</span><a name="line.1444"></a>
-<span class="sourceLineNo">1445</span>    // start the hfile archive cleaner thread<a name="line.1445"></a>
-<span class="sourceLineNo">1446</span>    Path archiveDir = HFileArchiveUtil.getArchivePath(conf);<a name="line.1446"></a>
-<span class="sourceLineNo">1447</span>    Map&lt;String, Object&gt; params = new HashMap&lt;&gt;();<a name="line.1447"></a>
-<span class="sourceLineNo">1448</span>    params.put(MASTER, this);<a name="line.1448"></a>
-<span class="sourceLineNo">1449</span>    this.hfileCleaner = new HFileCleaner(cleanerInterval, this, conf, getMasterFileSystem()<a name="line.1449"></a>
-<span class="sourceLineNo">1450</span>        .getFileSystem(), archiveDir, params);<a name="line.1450"></a>
-<span class="sourceLineNo">1451</span>    getChoreService().scheduleChore(hfileCleaner);<a name="line.1451"></a>
-<span class="sourceLineNo">1452</span><a name="line.1452"></a>
-<span class="sourceLineNo">1453</span>    replicationBarrierCleaner = new ReplicationBarrierCleaner(conf, this, getConnection(),<a name="line.1453"></a>
-<span class="sourceLineNo">1454</span>      replicationPeerManager);<a name="line.1454"></a>
-<span class="sourceLineNo">1455</span>    getChoreService().scheduleChore(replicationBarrierCleaner);<a name="line.1455"></a>
-<span class="sourceLineNo">1456</span><a name="line.1456"></a>
-<span class="sourceLineNo">1457</span>    serviceStarted = true;<a name="line.1457"></a>
-<span class="sourceLineNo">1458</span>    if (LOG.isTraceEnabled()) {<a name="line.1458"></a>
-<span class="sourceLineNo">1459</span>      LOG.trace("Started service threads");<a name="line.1459"></a>
-<span class="sourceLineNo">1460</span>    }<a name="line.1460"></a>
-<span class="sourceLineNo">1461</span>  }<a name="line.1461"></a>
-<span class="sourceLineNo">1462</span><a name="line.1462"></a>
-<span class="sourceLineNo">1463</span>  @Override<a name="line.1463"></a>
-<span class="sourceLineNo">1464</span>  protected void stopServiceThreads() {<a name="line.1464"></a>
-<span class="sourceLineNo">1465</span>    if (masterJettyServer != null) {<a name="line.1465"></a>
-<span class="sourceLineNo">1466</span>      LOG.info("Stopping master jetty server");<a name="line.1466"></a>
-<span class="sourceLineNo">1467</span>      try {<a name="line.1467"></a>
-<span class="sourceLineNo">1468</span>        masterJettyServer.stop();<a name="line.1468"></a>
-<span class="sourceLineNo">1469</span>      } catch (Exception e) {<a name="line.1469"></a>
-<span class="sourceLineNo">1470</span>        LOG.error("Failed to stop master jetty server", e);<a name="line.1470"></a>
-<span class="sourceLineNo">1471</span>      }<a name="line.1471"></a>
-<span class="sourceLineNo">1472</span>    }<a name="line.1472"></a>
-<span class="sourceLineNo">1473</span>    stopChores();<a name="line.1473"></a>
-<span class="sourceLineNo">1474</span>    if (this.mobCompactThread != null) {<a name="line.1474"></a>
-<span class="sourceLineNo">1475</span>      this.mobCompactThread.close();<a name="line.1475"></a>
-<span class="sourceLineNo">1476</span>    }<a name="line.1476"></a>
-<span class="sourceLineNo">1477</span>    super.stopServiceThreads();<a name="line.1477"></a>
-<span class="sourceLineNo">1478</span>    CleanerChore.shutDownChorePool();<a name="line.1478"></a>
-<span class="sourceLineNo">1479</span><a name="line.1479"></a>
-<span class="sourceLineNo">1480</span>    LOG.debug("Stopping service threads");<a name="line.1480"></a>
-<span class="sourceLineNo">1481</span><a name="line.1481"></a>
-<span class="sourceLineNo">1482</span>    if (this.quotaManager != null) {<a name="line.1482"></a>
-<span class="sourceLineNo">1483</span>      this.quotaManager.stop();<a name="line.1483"></a>
-<span class="sourceLineNo">1484</span>    }<a name="line.1484"></a>
-<span class="sourceLineNo">1485</span><a name="line.1485"></a>
-<span class="sourceLineNo">1486</span>    if (this.activeMasterManager != null) {<a name="line.1486"></a>
-<span class="sourceLineNo">1487</span>      this.activeMasterManager.stop();<a name="line.1487"></a>
-<span class="sourceLineNo">1488</span>    }<a name="line.1488"></a>
-<span class="sourceLineNo">1489</span>    if (this.serverManager != null) {<a name="line.1489"></a>
-<span class="sourceLineNo">1490</span>      this.serverManager.stop();<a name="line.1490"></a>
-<span class="sourceLineNo">1491</span>    }<a name="line.1491"></a>
-<span class="sourceLineNo">1492</span>    if (this.assignmentManager != null) {<a name="line.1492"></a>
-<span class="sourceLineNo">1493</span>      this.assignmentManager.stop();<a name="line.1493"></a>
-<span class="sourceLineNo">1494</span>    }<a name="line.1494"></a>
-<span class="sourceLineNo">1495</span><a name="line.1495"></a>
-<span class="sourceLineNo">1496</span>    stopProcedureExecutor();<a name="line.1496"></a>
-<span class="sourceLineNo">1497</span><a name="line.1497"></a>
-<span class="sourceLineNo">1498</span>    if (this.walManager != null) {<a name="line.1498"></a>
-<span class="sourceLineNo">1499</span>      this.walManager.stop();<a name="line.1499"></a>
-<span class="sourceLineNo">1500</span>    }<a name="line.1500"></a>
-<span class="sourceLineNo">1501</span>    if (this.fileSystemManager != null) {<a name="line.1501"></a>
-<span class="sourceLineNo">1502</span>      this.fileSystemManager.stop();<a name="line.1502"></a>
-<span class="sourceLineNo">1503</span>    }<a name="line.1503"></a>
-<span class="sourceLineNo">1504</span>    if (this.mpmHost != null) {<a name="line.1504"></a>
-<span class="sourceLineNo">1505</span>      this.mpmHost.stop("server shutting down.");<a name="line.1505"></a>
-<span class="sourceLineNo">1506</span>    }<a name="line.1506"></a>
-<span class="sourceLineNo">1507</span>    if (this.regionServerTracker != null) {<a name="line.1507"></a>
-<span class="sourceLineNo">1508</span>      this.regionServerTracker.stop();<a name="line.1508"></a>
-<span class="sourceLineNo">1509</span>    }<a name="line.1509"></a>
-<span class="sourceLineNo">1510</span>  }<a name="line.1510"></a>
-<span class="sourceLineNo">1511</span><a name="line.1511"></a>
-<span class="sourceLineNo">1512</span>  private void createProcedureExecutor() throws IOException {<a name="line.1512"></a>
-<span class="sourceLineNo">1513</span>    MasterProcedureEnv procEnv = new MasterProcedureEnv(this);<a name="line.1513"></a>
-<span class="sourceLineNo">1514</span>    procedureStore =<a name="line.1514"></a>
-<span class="sourceLineNo">1515</span>      new WALProcedureStore(conf, new MasterProcedureEnv.WALStoreLeaseRecovery(this));<a name="line.1515"></a>
-<span class="sourceLineNo">1516</span>    procedureStore.registerListener(new ProcedureStoreListener() {<a name="line.1516"></a>
-<span class="sourceLineNo">1517</span><a name="line.1517"></a>
-<span class="sourceLineNo">1518</span>      @Override<a name="line.1518"></a>
-<span class="sourceLineNo">1519</span>      public void abortProcess() {<a name="line.1519"></a>
-<span class="sourceLineNo">1520</span>        abort("The Procedure Store lost the lease", null);<a name="line.1520"></a>
-<span class="sourceLineNo">1521</span>      }<a name="line.1521"></a>
-<span class="sourceLineNo">1522</span>    });<a name="line.1522"></a>
-<span class="sourceLineNo">1523</span>    MasterProcedureScheduler procedureScheduler = procEnv.getProcedureScheduler();<a name="line.1523"></a>
-<span class="sourceLineNo">1524</span>    procedureExecutor = new ProcedureExecutor&lt;&gt;(conf, procEnv, procedureStore, procedureScheduler);<a name="line.1524"></a>
-<span class="sourceLineNo">1525</span>    configurationManager.registerObserver(procEnv);<a name="line.1525"></a>
-<span class="sourceLineNo">1526</span><a name="line.1526"></a>
-<span class="sourceLineNo">1527</span>    int cpus = Runtime.getRuntime().availableProcessors();<a name="line.1527"></a>
-<span class="sourceLineNo">1528</span>    final int numThreads = conf.getInt(MasterProcedureConstants.MASTER_PROCEDURE_THREADS, Math.max(<a name="line.1528"></a>
-<span class="sourceLineNo">1529</span>      (cpus &gt; 0 ? cpus / 4 : 0), MasterProcedureConstants.DEFAULT_MIN_MASTER_PROCEDURE_THREADS));<a name="line.1529"></a>
-<span class="sourceLineNo">1530</span>    final boolean abortOnCorruption =<a name="line.1530"></a>
-<span class="sourceLineNo">1531</span>      conf.getBoolean(MasterProcedureConstants.EXECUTOR_ABORT_ON_CORRUPTION,<a name="line.1531"></a>
-<span class="sourceLineNo">1532</span>        MasterProcedureConstants.DEFAULT_EXECUTOR_ABORT_ON_CORRUPTION);<a name="line.1532"></a>
-<span class="sourceLineNo">1533</span>    procedureStore.start(numThreads);<a name="line.1533"></a>
-<span class="sourceLineNo">1534</span>    // Just initialize it but do not start the workers, we will start the workers later by calling<a name="line.1534"></a>
-<span class="sourceLineNo">1535</span>    // startProcedureExecutor. See the javadoc for finishActiveMasterInitialization for more<a name="line.1535"></a>
-<span class="sourceLineNo">1536</span>    // details.<a name="line.1536"></a>
-<span class="sourceLineNo">1537</span>    procedureExecutor.init(numThreads, abortOnCorruption);<a name="line.1537"></a>
-<span class="sourceLineNo">1538</span>    procEnv.getRemoteDispatcher().start();<a name="line.1538"></a>
-<span class="sourceLineNo">1539</span>  }<a name="line.1539"></a>
-<span class="sourceLineNo">1540</span><a name="line.1540"></a>
-<span class="sourceLineNo">1541</span>  private void startProcedureExecutor() throws IOException {<a name="line.1541"></a>
-<span class="sourceLineNo">1542</span>    procedureExecutor.startWorkers();<a name="line.1542"></a>
-<span class="sourceLineNo">1543</span>  }<a name="line.1543"></a>
-<span class="sourceLineNo">1544</span><a name="line.1544"></a>
-<span class="sourceLineNo">1545</span>  private void stopProcedureExecutor() {<a name="line.1545"></a>
-<span class="sourceLineNo">1546</span>    if (procedureExecutor != null) {<a name="line.1546"></a>
-<span class="sourceLineNo">1547</span>      configurationManager.deregisterObserver(procedureExecutor.getEnvironment());<a name="line.1547"></a>
-<span class="sourceLineNo">1548</span>      procedureExecutor.getEnvironment().getRemoteDispatcher().stop();<a name="line.1548"></a>
-<span class="sourceLineNo">1549</span>      procedureExecutor.stop();<a name="line.1549"></a>
-<span class="sourceLineNo">1550</span>      procedureExecutor.join();<a name="line.1550"></a>
-<span class="sourceLineNo">1551</span>      procedureExecutor = null;<a name="line.1551"></a>
-<span class="sourceLineNo">1552</span>    }<a name="line.1552"></a>
-<span class="sourceLineNo">1553</span><a name="line.1553"></a>
-<span class="sourceLineNo">1554</span>    if (procedureStore != null) {<a name="line.1554"></a>
-<span class="sourceLineNo">1555</span>      procedureStore.stop(isAborted());<a name="line.1555"></a>
-<span class="sourceLineNo">1556</span>      procedureStore = null;<a name="line.1556"></a>
-<span class="sourceLineNo">1557</span>    }<a name="line.1557"></a>
-<span class="sourceLineNo">1558</span>  }<a name="line.1558"></a>
-<span class="sourceLineNo">1559</span><a name="line.1559"></a>
-<span class="sourceLineNo">1560</span>  private void stopChores() {<a name="line.1560"></a>
-<span class="sourceLineNo">1561</span>    ChoreService choreService = getChoreService();<a name="line.1561"></a>
-<span class="sourceLineNo">1562</span>    if (choreService != null) {<a name="line.1562"></a>
-<span class="sourceLineNo">1563</span>      choreService.cancelChore(this.expiredMobFileCleanerChore);<a name="line.1563"></a>
-<span class="sourceLineNo">1564</span>      choreService.cancelChore(this.mobCompactChore);<a name="line.1564"></a>
-<span class="sourceLineNo">1565</span>      choreService.cancelChore(this.balancerChore);<a name="line.1565"></a>
-<span class="sourceLineNo">1566</span>      choreService.cancelChore(this.normalizerChore);<a name="line.1566"></a>
-<span class="sourceLineNo">1567</span>      choreService.cancelChore(this.clusterStatusChore);<a name="line.1567"></a>
-<span class="sourceLineNo">1568</span>      choreService.cancelChore(this.catalogJanitorChore);<a name="line.1568"></a>
-<span class="sourceLineNo">1569</span>      choreService.cancelChore(this.clusterStatusPublisherChore);<a name="line.1569"></a>
-<span class="sourceLineNo">1570</span>      choreService.cancelChore(this.snapshotQuotaChore);<a name="line.1570"></a>
-<span class="sourceLineNo">1571</span>      choreService.cancelChore(this.logCleaner);<a name="line.1571"></a>
-<span class="sourceLineNo">1572</span>      choreService.cancelChore(this.hfileCleaner);<a name="line.1572"></a>
-<span class="sourceLineNo">1573</span>      choreService.cancelChore(this.replicationBarrierCleaner);<a name="line.1573"></a>
-<span class="sourceLineNo">1574</span>    }<a name="line.1574"></a>
-<span class="sourceLineNo">1575</span>  }<a name="line.1575"></a>
-<span class="sourceLineNo">1576</span><a name="line.1576"></a>
-<span class="sourceLineNo">1577</span>  /**<a name="line.1577"></a>
-<span class="sourceLineNo">1578</span>   * @return Get remote side's InetAddress<a name="line.1578"></a>
-<span class="sourceLineNo">1579</span>   */<a name="line.1579"></a>
-<span class="sourceLineNo">1580</span>  InetAddress getRemoteInetAddress(final int port,<a name="line.1580"></a>
-<span class="sourceLineNo">1581</span>      final long serverStartCode) throws UnknownHostException {<a name="line.1581"></a>
-<span class="sourceLineNo">1582</span>    // Do it out here in its own little method so can fake an address when<a name="line.1582"></a>
-<span class="sourceLineNo">1583</span>    // mocking up in tests.<a name="line.1583"></a>
-<span class="sourceLineNo">1584</span>    InetAddress ia = RpcServer.getRemoteIp();<a name="line.1584"></a>
-<span class="sourceLineNo">1585</span><a name="line.1585"></a>
-<span class="sourceLineNo">1586</span>    // The call could be from the local regionserver,<a name="line.1586"></a>
-<span class="sourceLineNo">1587</span>    // in which case, there is no remote address.<a name="line.1587"></a>
-<span class="sourceLineNo">1588</span>    if (ia == null &amp;&amp; serverStartCode == startcode) {<a name="line.1588"></a>
-<span class="sourceLineNo">1589</span>      InetSocketAddress isa = rpcServices.getSocketAddress();<a name="line.1589"></a>
-<span class="sourceLineNo">1590</span>      if (isa != null &amp;&amp; isa.getPort() == port) {<a name="line.1590"></a>
-<span class="sourceLineNo">1591</span>        ia = isa.getAddress();<a name="line.1591"></a>
-<span class="sourceLineNo">1592</span>      }<a name="line.1592"></a>
-<span class="sourceLineNo">1593</span>    }<a name="line.1593"></a>
-<span class="sourceLineNo">1594</span>    return ia;<a name="line.1594"></a>
-<span class="sourceLineNo">1595</span>  }<a name="line.1595"></a>
-<span class="sourceLineNo">1596</span><a name="line.1596"></a>
-<span class="sourceLineNo">1597</span>  /**<a name="line.1597"></a>
-<span class="sourceLineNo">1598</span>   * @return Maximum time we should run balancer for<a name="line.1598"></a>
-<span class="sourceLineNo">1599</span>   */<a name="line.1599"></a>
-<span class="sourceLineNo">1600</span>  private int getMaxBalancingTime() {<a name="line.1600"></a>
-<span class="sourceLineNo">1601</span>    int maxBalancingTime = getConfiguration().getInt(HConstants.HBASE_BALANCER_MAX_BALANCING, -1);<a name="line.1601"></a>
-<span class="sourceLineNo">1602</span>    if (maxBalancingTime == -1) {<a name="line.1602"></a>
-<span class="sourceLineNo">1603</span>      // if max balancing time isn't set, defaulting it to period time<a name="line.1603"></a>
-<span class="sourceLineNo">1604</span>      maxBalancingTime = getConfiguration().getInt(HConstants.HBASE_BALANCER_PERIOD,<a name="line.1604"></a>
-<span class="sourceLineNo">1605</span>        HConstants.DEFAULT_HBASE_BALANCER_PERIOD);<a name="line.1605"></a>
-<span class="sourceLineNo">1606</span>    }<a name="line.1606"></a>
-<span class="sourceLineNo">1607</span>    return maxBalancingTime;<a name="line.1607"></a>
-<span class="sourceLineNo">1608</span>  }<a name="line.1608"></a>
-<span class="sourceLineNo">1609</span><a name="line.1609"></a>
-<span class="sourceLineNo">1610</span>  /**<a name="line.1610"></a>
-<span class="sourceLineNo">1611</span>   * @return Maximum number of regions in transition<a name="line.1611"></a>
-<span class="sourceLineNo">1612</span>   */<a name="line.1612"></a>
-<span class="sourceLineNo">1613</span>  private int getMaxRegionsInTransition() {<a name="line.1613"></a>
-<span class="sourceLineNo">1614</span>    int numRegions = this.assignmentManager.getRegionStates().getRegionAssignments().size();<a name="line.1614"></a>
-<span class="sourceLineNo">1615</span>    return Math.max((int) Math.floor(numRegions * this.maxRitPercent), 1);<a name="line.1615"></a>
-<span class="sourceLineNo">1616</span>  }<a name="line.1616"></a>
-<span class="sourceLineNo">1617</span><a name="line.1617"></a>
-<span class="sourceLineNo">1618</span>  /**<a name="line.1618"></a>
-<span class="sourceLineNo">1619</span>   * It first sleep to the next balance plan start time. Meanwhile, throttling by the max<a name="line.1619"></a>
-<span class="sourceLineNo">1620</span>   * number regions in transition to protect availability.<a name="line.1620"></a>
-<span class="sourceLineNo">1621</span>   * @param nextBalanceStartTime The next balance plan start time<a name="line.1621"></a>
-<span class="sourceLineNo">1622</span>   * @param maxRegionsInTransition max number of regions in transition<a name="line.1622"></a>
-<span class="sourceLineNo">1623</span>   * @param cutoffTime when to exit balancer<a name="line.1623"></a>
-<span class="sourceLineNo">1624</span>   */<a name="line.1624"></a>
-<span class="sourceLineNo">1625</span>  private void balanceThrottling(long nextBalanceStartTime, int maxRegionsInTransition,<a name="line.1625"></a>
-<span class="sourceLineNo">1626</span>      long cutoffTime) {<a name="line.1626"></a>
-<span class="sourceLineNo">1627</span>    boolean interrupted = false;<a name="line.1627"></a>
-<span class="sourceLineNo">1628</span><a name="line.1628"></a>
-<span class="sourceLineNo">1629</span>    // Sleep to next balance plan start time<a name="line.1629"></a>
-<span class="sourceLineNo">1630</span>    // But if there are zero regions in transition, it can skip sleep to speed up.<a name="line.1630"></a>
-<span class="sourceLineNo">1631</span>    while (!interrupted &amp;&amp; System.currentTimeMillis() &lt; nextBalanceStartTime<a name="line.1631"></a>
-<span class="sourceLineNo">1632</span>        &amp;&amp; this.assignmentManager.getRegionStates().hasRegionsInTransition()) {<a name="line.1632"></a>
-<span class="sourceLineNo">1633</span>      try {<a name="line.1633"></a>
-<span class="sourceLineNo">1634</span>        Thread.sleep(100);<a name="line.1634"></a>
-<span class="sourceLineNo">1635</span>      } catch (InterruptedException ie) {<a name="line.1635"></a>
-<span class="sourceLineNo">1636</span>        interrupted = true;<a name="line.1636"></a>
-<span class="sourceLineNo">1637</span>      }<a name="line.1637"></a>
-<span class="sourceLineNo">1638</span>    }<a name="line.1638"></a>
-<span class="sourceLineNo">1639</span><a name="line.1639"></a>
-<span class="sourceLineNo">1640</span>    // Throttling by max number regions in transition<a name="line.1640"></a>
-<span class="sourceLineNo">1641</span>    while (!interrupted<a name="line.1641"></a>
-<span class="sourceLineNo">1642</span>        &amp;&amp; maxRegionsInTransition &gt; 0<a name="line.1642"></a>
-<span class="sourceLineNo">1643</span>        &amp;&amp; this.assignmentManager.getRegionStates().getRegionsInTransitionCount()<a name="line.1643"></a>
-<span class="sourceLineNo">1644</span>        &gt;= maxRegionsInTransition &amp;&amp; System.currentTimeMillis() &lt;= cutoffTime) {<a name="line.1644"></a>
-<span class="sourceLineNo">1645</span>      try {<a name="line.1645"></a>
-<span class="sourceLineNo">1646</span>        // sleep if the number of regions in transition exceeds the limit<a name="line.1646"></a>
-<span class="sourceLineNo">1647</span>        Thread.sleep(100);<a name="line.1647"></a>
-<span class="sourceLineNo">1648</span>      } catch (InterruptedException ie) {<a name="line.1648"></a>
-<span class="sourceLineNo">1649</span>        interrupted = true;<a name="line.1649"></a>
-<span class="sourceLineNo">1650</span>      }<a name="line.1650"></a>
-<span class="sourceLineNo">1651</span>    }<a name="line.1651"></a>
-<span class="sourceLineNo">1652</span><a name="line.1652"></a>
-<span class="sourceLineNo">1653</span>    if (interrupted) Thread.currentThread().interrupt();<a name="line.1653"></a>
-<span class="sourceLineNo">1654</span>  }<a name="line.1654"></a>
-<span class="sourceLineNo">1655</span><a name="line.1655"></a>
-<span class="sourceLineNo">1656</span>  public boolean balance() throws IOException {<a name="line.1656"></a>
-<span class="sourceLineNo">1657</span>    return balance(false);<a name="line.1657"></a>
-<span class="sourceLineNo">1658</span>  }<a name="line.1658"></a>
-<span class="sourceLineNo">1659</span><a name="line.1659"></a>
-<span class="sourceLineNo">1660</span>  public boolean balance(boolean force) throws IOException {<a name="line.1660"></a>
-<span class="sourceLineNo">1661</span>    // if master not initialized, don't run balancer.<a name="line.1661"></a>
-<span class="sourceLineNo">1662</span>    if (!isInitialized()) {<a name="line.1662"></a>
-<span class="sourceLineNo">1663</span>      LOG.debug("Master has not been initialized, don't run balancer.");<a name="line.1663"></a>
-<span class="sourceLineNo">1664</span>      return false;<a name="line.1664"></a>
-<span class="sourceLineNo">1665</span>    }<a name="line.1665"></a>
-<span class="sourceLineNo">1666</span><a name="line.1666"></a>
-<span class="sourceLineNo">1667</span>    if (isInMaintenanceMode()) {<a name="line.1667"></a>
-<span class="sourceLineNo">1668</span>      LOG.info("Master is in maintenanceMode mode, don't run balancer.");<a name="line.1668"></a>
-<span class="sourceLineNo">1669</span>      return false;<a name="line.1669"></a>
-<span class="sourceLineNo">1670</span>    }<a name="line.1670"></a>
-<span class="sourceLineNo">1671</span><a name="line.1671"></a>
-<span class="sourceLineNo">1672</span>    int maxRegionsInTransition = getMaxRegionsInTransition();<a name="line.1672"></a>
-<span class="sourceLineNo">1673</span>    synchronized (this.balancer) {<a name="line.1673"></a>
-<span class="sourceLineNo">1674</span>      // If balance not true, don't run balancer.<a name="line.1674"></a>
-<span class="sourceLineNo">1675</span>      if (!this.loadBalancerTracker.isBalancerOn()) return false;<a name="line.1675"></a>
-<span class="sourceLineNo">1676</span>        // Only allow one balance run at at time.<a name="line.1676"></a>
-<span class="sourceLineNo">1677</span>      if (this.assignmentManager.hasRegionsInTransition()) {<a name="line.1677"></a>
-<span class="sourceLineNo">1678</span>        List&lt;RegionStateNode&gt; regionsInTransition = assignmentManager.getRegionsInTransition();<a name="line.1678"></a>
-<span class="sourceLineNo">1679</span>        // if hbase:meta region is in transition, result of assignment cannot be recorded<a name="line.1679"></a>
-<span class="sourceLineNo">1680</span>        // ignore the force flag in that case<a name="line.1680"></a>
-<span class="sourceLineNo">1681</span>        boolean metaInTransition = assignmentManager.isMetaRegionInTransition();<a name="line.1681"></a>
-<span class="sourceLineNo">1682</span>        String prefix = force &amp;&amp; !metaInTransition ? "R" : "Not r";<a name="line.1682"></a>
-<span class="sourceLineNo">1683</span>        List&lt;RegionStateNode&gt; toPrint = regionsInTransition;<a name="line.1683"></a>
-<span class="sourceLineNo">1684</span>        int max = 5;<a name="line.1684"></a>
-<span class="sourceLineNo">1685</span>        boolean truncated = false;<a name="line.1685"></a>
-<span class="sourceLineNo">1686</span>        if (regionsInTransition.size() &gt; max) {<a name="line.1686"></a>
-<span class="sourceLineNo">1687</span>          toPrint = regionsInTransition.subList(0, max);<a name="line.1687"></a>
-<span class="sourceLineNo">1688</span>          truncated = true;<a name="line.1688"></a>
-<span class="sourceLineNo">1689</span>        }<a name="line.1689"></a>
-<span class="sourceLineNo">1690</span>        LOG.info(prefix + "unning balancer because " + regionsInTransition.size() +<a name="line.1690"></a>
-<span class="sourceLineNo">1691</span>          " region(s) in transition: " + toPrint + (truncated? "(truncated list)": ""));<a name="line.1691"></a>
-<span class="sourceLineNo">1692</span>        if (!force || metaInTransition) return false;<a name="line.1692"></a>
-<span class="sourceLineNo">1693</span>      }<a name="line.1693"></a>
-<span class="sourceLineNo">1694</span>      if (this.serverManager.areDeadServersInProgress()) {<a name="line.1694"></a>
-<span class="sourceLineNo">1695</span>        LOG.info("Not running balancer because processing dead regionserver(s): " +<a name="line.1695"></a>
-<span class="sourceLineNo">1696</span>          this.serverManager.getDeadServers());<a name="line.1696"></a>
-<span class="sourceLineNo">1697</span>        return false;<a name="line.1697"></a>
-<span class="sourceLineNo">1698</span>      }<a name="line.1698"></a>
-<span class="sourceLineNo">1699</span><a name="line.1699"></a>
-<span class="sourceLineNo">1700</span>      if (this.cpHost != null) {<a name="line.1700"></a>
-<span class="sourceLineNo">1701</span>        try {<a name="line.1701"></a>
-<span class="sourceLineNo">1702</span>          if (this.cpHost.preBalance()) {<a name="line.1702"></a>
-<span class="sourceLineNo">1703</span>            LOG.debug("Coprocessor bypassing balancer request");<a name="line.1703"></a>
-<span class="sourceLineNo">1704</span>            return false;<a name="line.1704"></a>
-<span class="sourceLineNo">1705</span>          }<a name="line.1705"></a>
-<span class="sourceLineNo">1706</span>        } catch (IOException ioe) {<a name="line.1706"></a>
-<span class="sourceLineNo">1707</span>          LOG.error("Error invoking master coprocessor preBalance()", ioe);<a name="line.1707"></a>
-<span class="sourceLineNo">1708</span>          return false;<a name="line.1708"></a>
-<span class="sourceLineNo">1709</span>        }<a name="line.1709"></a>
-<span class="sourceLineNo">1710</span>      }<a name="line.1710"></a>
-<span class="sourceLineNo">1711</span><a name="line.1711"></a>
-<span class="sourceLineNo">1712</span>      boolean isByTable = getConfiguration().getBoolean("hbase.master.loadbalance.bytable", false);<a name="line.1712"></a>
-<span class="sourceLineNo">1713</span>      Map&lt;TableName, Map&lt;ServerName, List&lt;RegionInfo&gt;&gt;&gt; assignmentsByTable =<a name="line.1713"></a>
-<span class="sourceLineNo">1714</span>        this.assignmentManager.getRegionStates().getAssignmentsByTable(!isByTable);<a name="line.1714"></a>
-<span class="sourceLineNo">1715</span><a name="line.1715"></a>
-<span class="sourceLineNo">1716</span>      List&lt;RegionPlan&gt; plans = new ArrayList&lt;&gt;();<a name="line.1716"></a>
-<span class="sourceLineNo">1717</span><a name="line.1717"></a>
-<span class="sourceLineNo">1718</span>      //Give the balancer the current cluster state.<a name="line.1718"></a>
-<span class="sourceLineNo">1719</span>      this.balancer.setClusterMetrics(getClusterMetricsWithoutCoprocessor());<a name="line.1719"></a>
-<span class="sourceLineNo">1720</span>      this.balancer.setClusterLoad(assignmentsByTable);<a name="line.1720"></a>
-<span class="sourceLineNo">1721</span><a name="line.1721"></a>
-<span class="sourceLineNo">1722</span>      for (Map&lt;ServerName, List&lt;RegionInfo&gt;&gt; serverMap : assignmentsByTable.values()) {<a name="line.1722"></a>
-<span class="sourceLineNo">1723</span>        serverMap.keySet().removeAll(this.serverManager.getDrainingServersList());<a name="line.1723"></a>
-<span class="sourceLineNo">1724</span>      }<a name="line.1724"></a>
-<span class="sourceLineNo">1725</span>      for (Entry&lt;TableName, Map&lt;ServerName, List&lt;RegionInfo&gt;&gt;&gt; e : assignmentsByTable.entrySet()) {<a name="line.1725"></a>
-<span class="sourceLineNo">1726</span>        List&lt;RegionPlan&gt; partialPlans = this.balancer.balanceCluster(e.getKey(), e.getValue());<a name="line.1726"></a>
-<span class="sourceLineNo">1727</span>        if (partialPlans != null) plans.addAll(partialPlans);<a name="line.1727"></a>
-<span class="sourceLineNo">1728</span>      }<a name="line.1728"></a>
-<span class="sourceLineNo">1729</span><a name="line.1729"></a>
-<span class="sourceLineNo">1730</span>      long balanceStartTime = System.currentTimeMillis();<a name="line.1730"></a>
-<span class="sourceLineNo">1731</span>      long cutoffTime = balanceStartTime + this.maxBlancingTime;<a name="line.1731"></a>
-<span class="sourceLineNo">1732</span>      int rpCount = 0;  // number of RegionPlans balanced so far<a name="line.1732"></a>
-<span class="sourceLineNo">1733</span>      if (plans != null &amp;&amp; !plans.isEmpty()) {<a name="line.1733"></a>
-<span class="sourceLineNo">1734</span>        int balanceInterval = this.maxBlancingTime / plans.size();<a name="line.1734"></a>
-<span class="sourceLineNo">1735</span>        LOG.info("Balancer plans size is " + plans.size() + ", the balance interval is "<a name="line.1735"></a>
-<span class="sourceLineNo">1736</span>            + balanceInterval + " ms, and the max number regions in transition is "<a name="line.1736"></a>
-<span class="sourceLineNo">1737</span>            + maxRegionsInTransition);<a name="line.1737"></a>
-<span class="sourceLineNo">1738</span><a name="line.1738"></a>
-<span class="sourceLineNo">1739</span>        for (RegionPlan plan: plans) {<a name="line.1739"></a>
-<span class="sourceLineNo">1740</span>          LOG.info("balance " + plan);<a name="line.1740"></a>
-<span class="sourceLineNo">1741</span>          //TODO: bulk assign<a name="line.1741"></a>
-<span class="sourceLineNo">1742</span>          try {<a name="line.1742"></a>
-<span class="sourceLineNo">1743</span>            this.assignmentManager.moveAsync(plan);<a name="line.1743"></a>
-<span class="sourceLineNo">1744</span>          } catch (HBaseIOException hioe) {<a name="line.1744"></a>
-<span class="sourceLineNo">1745</span>            //should ignore failed plans here, avoiding the whole balance plans be aborted<a name="line.1745"></a>
-<span class="sourceLineNo">1746</span>            //later calls of balance() can fetch up the failed and skipped plans<a name="line.1746"></a>
-<span class="sourceLineNo">1747</span>            LOG.warn("Failed balance plan: {}, just skip it", plan, hioe);<a name="line.1747"></a>
-<span class="sourceLineNo">1748</span>          }<a name="line.1748"></a>
-<span class="sourceLineNo">1749</span>          //rpCount records balance plans processed, does not care if a plan succeeds<a name="line.1749"></a>
-<span class="sourceLineNo">1750</span>          rpCount++;<a name="line.1750"></a>
-<span class="sourceLineNo">1751</span><a name="line.1751"></a>
-<span class="sourceLineNo">1752</span>          balanceThrottling(balanceStartTime + rpCount * balanceInterval, maxRegionsInTransition,<a name="line.1752"></a>
-<span class="sourceLineNo">1753</span>            cutoffTime);<a name="line.1753"></a>
-<span class="sourceLineNo">1754</span><a name="line.1754"></a>
-<span class="sourceLineNo">1755</span>          // if performing next balance exceeds cutoff time, exit the loop<a name="line.1755"></a>
-<span class="sourceLineNo">1756</span>          if (rpCount &lt; plans.size() &amp;&amp; System.currentTimeMillis() &gt; cutoffTime) {<a name="line.1756"></a>
-<span class="sourceLineNo">1757</span>            // TODO: After balance, there should not be a cutoff time (keeping it as<a name="line.1757"></a>
-<span class="sourceLineNo">1758</span>            // a security net for now)<a name="line.1758"></a>
-<span class="sourceLineNo">1759</span>            LOG.debug("No more balancing till next balance run; maxBalanceTime="<a name="line.1759"></a>
-<span class="sourceLineNo">1760</span>                + this.maxBlancingTime);<a name="line.1760"></a>
-<span class="sourceLineNo">1761</span>            break;<a name="line.1761"></a>
-<span class="sourceLineNo">1762</span>          }<a name="line.1762"></a>
-<span class="sourceLineNo">1763</span>        }<a name="line.1763"></a>
-<span class="sourceLineNo">1764</span>      }<a name="line.1764"></a>
-<span class="sourceLineNo">1765</span><a name="line.1765"></a>
-<span class="sourceLineNo">1766</span>      if (this.cpHost != null) {<a name="line.1766"></a>
-<span class="sourceLineNo">1767</span>        try {<a name="line.1767"></a>
-<span class="sourceLineNo">1768</span>          this.cpHost.postBalance(rpCount &lt; plans.size() ? plans.subList(0, rpCount) : plans);<a name="line.1768"></a>
-<span class="sourceLineNo">1769</span>        } catch (IOException ioe) {<a name="line.1769"></a>
-<span class="sourceLineNo">1770</span>          // balancing already succeeded so don't change the result<a name="line.1770"></a>
-<span class="sourceLineNo">1771</span>          LOG.error("Error invoking master coprocessor postBalance()", ioe);<a name="line.1771"></a>
-<span class="sourceLineNo">1772</span>        }<a name="line.1772"></a>
-<span class="sourceLineNo">1773</span>      }<a name="line.1773"></a>
-<span class="sourceLineNo">1774</span>    }<a name="line.1774"></a>
-<span class="sourceLineNo">1775</span>    // If LoadBalancer did not generate any plans, it means the cluster is already balanced.<a name="line.1775"></a>
-<span class="sourceLineNo">1776</span>    // Return true indicating a success.<a name="line.1776"></a>
-<span class="sourceLineNo">1777</span>    return true;<a name="line.1777"></a>
-<span class="sourceLineNo">1778</span>  }<a name="line.1778"></a>
-<span class="sourceLineNo">1779</span><a name="line.1779"></a>
-<span class="sourceLineNo">1780</span>  @Override<a name="line.1780"></a>
-<span class="sourceLineNo">1781</span>  @VisibleForTesting<a name="line.1781"></a>
-<span class="sourceLineNo">1782</span>  public RegionNormalizer getRegionNormalizer() {<a name="line.1782"></a>
-<span class="sourceLineNo">1783</span>    return this.normalizer;<a name="line.1783"></a>
-<span class="sourceLineNo">1784</span>  }<a name="line.1784"></a>
-<span class="sourceLineNo">1785</span><a name="line.1785"></a>
-<span class="sourceLineNo">1786</span>  /**<a name="line.1786"></a>
-<span class="sourceLineNo">1787</span>   * Perform normalization of cluster (invoked by {@link RegionNormalizerChore}).<a name="line.1787"></a>
-<span class="sourceLineNo">1788</span>   *<a name="line.1788"></a>
-<span class="sourceLineNo">1789</span>   * @return true if normalization step was performed successfully, false otherwise<a name="line.1789"></a>
-<span class="sourceLineNo">1790</span>   *    (specifically, if HMaster hasn't been initialized properly or normalization<a name="line.1790"></a>
-<span class="sourceLineNo">1791</span>   *    is globally disabled)<a name="line.1791"></a>
-<span class="sourceLineNo">1792</span>   */<a name="line.1792"></a>
-<span class="sourceLineNo">1793</span>  public boolean normalizeRegions() throws IOException {<a name="line.1793"></a>
-<span class="sourceLineNo">1794</span>    if (!isInitialized()) {<a name="line.1794"></a>
-<span class="sourceLineNo">1795</span>      LOG.debug("Master has not been initialized, don't run region normalizer.");<a name="line.1795"></a>
-<span class="sourceLineNo">1796</span>      return false;<a name="line.1796"></a>
-<span class="sourceLineNo">1797</span>    }<a name="line.1797"></a>
-<span class="sourceLineNo">1798</span>    if (this.getServerManager().isClusterShutdown()) {<a name="line.1798"></a>
-<span class="sourceLineNo">1799</span>      LOG.info("Cluster is shutting down, don't run region normalizer.");<a name="line.1799"></a>
-<span class="sourceLineNo">1800</span>      return false;<a name="line.1800"></a>
-<span class="sourceLineNo">1801</span>    }<a name="line.1801"></a>
-<span class="sourceLineNo">1802</span>    if (isInMaintenanceMode()) {<a name="line.1802"></a>
-<span class="sourceLineNo">1803</span>      LOG.info("Master is in maintenance mode, don't run region normalizer.");<a name="line.1803"></a>
-<span class="sourceLineNo">1804</span>      return false;<a name="line.1804"></a>
-<span class="sourceLineNo">1805</span>    }<a name="line.1805"></a>
-<span class="sourceLineNo">1806</span>    if (!this.regionNormalizerTracker.isNormalizerOn()) {<a name="line.1806"></a>
-<span class="sourceLineNo">1807</span>      LOG.debug("Region normalization is disabled, don't run region normalizer.");<a name="line.1807"></a>
-<span class="sourceLineNo">1808</span>      return false;<a name="line.1808"></a>
-<span class="sourceLineNo">1809</span>    }<a name="line.1809"></a>
-<span class="sourceLineNo">1810</span><a name="line.1810"></a>
-<span class="sourceLineNo">1811</span>    synchronized (this.normalizer) {<a name="line.1811"></a>
-<span class="sourceLineNo">1812</span>      // Don't run the normalizer concurrently<a name="line.1812"></a>
-<span class="sourceLineNo">1813</span>      List&lt;TableName&gt; allEnabledTables = new ArrayList&lt;&gt;(<a name="line.1813"></a>
-<span class="sourceLineNo">1814</span>        this.tableStateManager.getTablesInStates(TableState.State.ENABLED));<a name="line.1814"></a>
-<span class="sourceLineNo">1815</span><a name="line.1815"></a>
-<span class="sourceLineNo">1816</span>      Collections.shuffle(allEnabledTables);<a name="line.1816"></a>
-<span class="sourceLineNo">1817</span><a name="line.1817"></a>
-<span class="sourceLineNo">1818</span>      for (TableName table : allEnabledTables) {<a name="line.1818"></a>
-<span class="sourceLineNo">1819</span>        if (isInMaintenanceMode()) {<a name="line.1819"></a>
-<span class="sourceLineNo">1820</span>          LOG.debug("Master is in maintenance mode, stop running region normalizer.");<a name="line.1820"></a>
-<span class="sourceLineNo">1821</span>          return false;<a name="line.1821"></a>
-<span class="sourceLineNo">1822</span>        }<a name="line.1822"></a>
-<span class="sourceLineNo">1823</span><a name="line.1823"></a>
-<span class="sourceLineNo">1824</span>        TableDescriptor tblDesc = getTableDescriptors().get(table);<a name="line.1824"></a>
-<span class="sourceLineNo">1825</span>        if (table.isSystemTable() || (tblDesc != null &amp;&amp;<a name="line.1825"></a>
-<span class="sourceLineNo">1826</span>            !tblDesc.isNormalizationEnabled())) {<a name="line.1826"></a>
-<span class="sourceLineNo">1827</span>          LOG.trace("Skipping normalization for {}, as it's either system"<a name="line.1827"></a>
-<span class="sourceLineNo">1828</span>              + " table or doesn't have auto normalization turned on", table);<a name="line.1828"></a>
-<span class="sourceLineNo">1829</span>          continue;<a name="line.1829"></a>
-<span class="sourceLineNo">1830</span>        }<a name="line.1830"></a>
-<span class="sourceLineNo">1831</span>        List&lt;NormalizationPlan&gt; plans = this.normalizer.computePlanForTable(table);<a name="line.1831"></a>
-<span class="sourceLineNo">1832</span>        if (plans != null) {<a name="line.1832"></a>
-<span class="sourceLineNo">1833</span>          for (NormalizationPlan plan : plans) {<a name="line.1833"></a>
-<span class="sourceLineNo">1834</span>            plan.execute(clusterConnection.getAdmin());<a name="line.1834"></a>
-<span class="sourceLineNo">1835</span>            if (plan.getType() == PlanType.SPLIT) {<a name="line.1835"></a>
-<span class="sourceLineNo">1836</span>              splitPlanCount++;<a name="line.1836"></a>
-<span class="sourceLineNo">1837</span>            } else if (plan.getType() == PlanType.MERGE) {<a name="line.1837"></a>
-<span class="sourceLineNo">1838</span>              mergePlanCount++;<a name="line.1838"></a>
-<span class="sourceLineNo">1839</span>            }<a name="line.1839"></a>
-<span class="sourceLineNo">1840</span>          }<a name="line.1840"></a>
-<span class="sourceLineNo">1841</span>        }<a name="line.1841"></a>
-<span class="sourceLineNo">1842</span>      }<a name="line.1842"></a>
-<span class="sourceLineNo">1843</span>    }<a name="line.1843"></a>
-<span class="sourceLineNo">1844</span>    // If Region did not generate any plans, it means the cluster is already balanced.<a name="line.1844"></a>
-<span class="sourceLineNo">1845</span>    // Return true indicating a success.<a name="line.1845"></a>
-<span class="sourceLineNo">1846</span>    return true;<a name="line.1846"></a>
-<span class="sourceLineNo">1847</span>  }<a name="line.1847"></a>
-<span class="sourceLineNo">1848</span><a name="line.1848"></a>
-<span class="sourceLineNo">1849</span>  /**<a name="line.1849"></a>
-<span class="sourceLineNo">1850</span>   * @return Client info for use as prefix on an audit log string; who did an action<a name="line.1850"></a>
-<span class="sourceLineNo">1851</span>   */<a name="line.1851"></a>
-<span class="sourceLineNo">1852</span>  @Override<a name="line.1852"></a>
-<span class="sourceLineNo">1853</span>  public String getClientIdAuditPrefix() {<a name="line.1853"></a>
-<span class="sourceLineNo">1854</span>    return "Client=" + RpcServer.getRequestUserName().orElse(null)<a name="line.1854"></a>
-<span class="sourceLineNo">1855</span>        + "/" + RpcServer.getRemoteAddress().orElse(null);<a name="line.1855"></a>
-<span class="sourceLineNo">1856</span>  }<a name="line.1856"></a>
-<span class="sourceLineNo">1857</span><a name="line.1857"></a>
-<span class="sourceLineNo">1858</span>  /**<a name="line.1858"></a>
-<span class="sourceLineNo">1859</span>   * Switch for the background CatalogJanitor thread.<a name="line.1859"></a>
-<span class="sourceLineNo">1860</span>   * Used for testing.  The thread will continue to run.  It will just be a noop<a name="line.1860"></a>
-<span class="sourceLineNo">1861</span>   * if disabled.<a name="line.1861"></a>
-<span class="sourceLineNo">1862</span>   * @param b If false, the catalog janitor won't do anything.<a name="line.1862"></a>
-<span class="sourceLineNo">1863</span>   */<a name="line.1863"></a>
-<span class="sourceLineNo">1864</span>  public void setCatalogJanitorEnabled(final boolean b) {<a name="line.1864"></a>
-<span class="sourceLineNo">1865</span>    this.catalogJanitorChore.setEnabled(b);<a name="line.1865"></a>
-<span class="sourceLineNo">1866</span>  }<a name="line.1866"></a>
-<span class="sourceLineNo">1867</span><a name="line.1867"></a>
-<span class="sourceLineNo">1868</span>  @Override<a name="line.1868"></a>
-<span class="sourceLineNo">1869</span>  public long mergeRegions(<a name="line.1869"></a>
-<span class="sourceLineNo">1870</span>      final RegionInfo[] regionsToMerge,<a name="line.1870"></a>
-<span class="sourceLineNo">1871</span>      final boolean forcible,<a name="line.1871"></a>
-<span class="sourceLineNo">1872</span>      final long nonceGroup,<a name="line.1872"></a>
-<span class="sourceLineNo">1873</span>      final long nonce) throws IOException {<a name="line.1873"></a>
-<span class="sourceLineNo">1874</span>    checkInitialized();<a name="line.1874"></a>
-<span class="sourceLineNo">1875</span><a name="line.1875"></a>
-<span class="sourceLineNo">1876</span>    assert(regionsToMerge.length == 2);<a name="line.1876"></a>
-<span class="sourceLineNo">1877</span><a name="line.1877"></a>
-<span class="sourceLineNo">1878</span>    TableName tableName = regionsToMerge[0].getTable();<a name="line.1878"></a>
-<span class="sourceLineNo">1879</span>    if (tableName == null || regionsToMerge[1].getTable() == null) {<a name="line.1879"></a>
-<span class="sourceLineNo">1880</span>      throw new UnknownRegionException ("Can't merge regions without table associated");<a name="line.1880"></a>
-<span class="sourceLineNo">1881</span>    }<a name="line.1881"></a>
-<span class="sourceLineNo">1882</span><a name="line.1882"></a>
-<span class="sourceLineNo">1883</span>    if (!tableName.equals(regionsToMerge[1].getTable())) {<a name="line.1883"></a>
-<span class="sourceLineNo">1884</span>      throw new IOException (<a name="line.1884"></a>
-<span class="sourceLineNo">1885</span>        "Cannot merge regions from two different tables " + regionsToMerge[0].getTable()<a name="line.1885"></a>
-<span class="sourceLineNo">1886</span>        + " and " + regionsToMerge[1].getTable());<a name="line.1886"></a>
-<span class="sourceLineNo">1887</span>    }<a name="line.1887"></a>
-<span class="sourceLineNo">1888</span><a name="line.1888"></a>
-<span class="sourceLineNo">1889</span>    if (RegionInfo.COMPARATOR.compare(regionsToMerge[0], regionsToMerge[1]) == 0) {<a name="line.1889"></a>
-<span class="sourceLineNo">1890</span>      throw new MergeRegionException(<a name="line.1890"></a>
-<span class="sourceLineNo">1891</span>        "Cannot merge a region to itself " + regionsToMerge[0] + ", " + regionsToMerge[1]);<a name="line.1891"></a>
-<span class="sourceLineNo">1892</span>    }<a name="line.1892"></a>
-<span class="sourceLineNo">1893</span><a name="line.1893"></a>
-<span class="sourceLineNo">1894</span>    return MasterProcedureUtil.submitProcedure(<a name="line.1894"></a>
-<span class="sourceLineNo">1895</span>        new MasterProcedureUtil.NonceProcedureRunnable(this, nonceGroup, nonce) {<a name="line.1895"></a>
-<span class="sourceLineNo">1896</span>      @Override<a name="line.1896"></a>
-<span class="sourceLineNo">1897</span>      protected void run() throws IOException {<a name="line.1897"></a>
-<span class="sourceLineNo">1898</span>        getMaster().getMasterCoprocessorHost().preMergeRegions(regionsToMerge);<a name="line.1898"></a>
-<span class="sourceLineNo">1899</span><a name="line.1899"></a>
-<span class="sourceLineNo">1900</span>        LOG.info(getClientIdAuditPrefix() + " Merge regions " +<a name="line.1900"></a>
-<span class="sourceLineNo">1901</span>          regionsToMerge[0].getEncodedName() + " and " + regionsToMerge[1].getEncodedName());<a name="line.1901"></a>
-<span class="sourceLineNo">1902</span><a name="line.1902"></a>
-<span class="sourceLineNo">1903</span>        submitProcedure(new MergeTableRegionsProcedure(procedureExecutor.getEnvironment(),<a name="line.1903"></a>
-<span class="sourceLineNo">1904</span>          regionsToMerge, forcible));<a name="line.1904"></a>
-<span class="sourceLineNo">1905</span><a name="line.1905"></a>
-<span class="sourceLineNo">1906</span>        getMaster().getMasterCoprocessorHost().postMergeRegions(regionsToMerge);<a name="line.1906"></a>
-<span class="sourceLineNo">1907</span>      }<a name="line.1907"></a>
-<span class="sourceLineNo">1908</span><a name="line.1908"></a>
-<span class="sourceLineNo">1909</span>      @Override<a name="line.1909"></a>
-<span class="sourceLineNo">1910</span>      protected String getDescription() {<a name="line.1910"></a>
-<span class="sourceLineNo">1911</span>        return "MergeTableProcedure";<a name="line.1911"></a>
-<span class="sourceLineNo">1912</span>      }<a name="line.1912"></a>
-<span class="sourceLineNo">1913</span>    });<a name="line.1913"></a>
-<span class="sourceLineNo">1914</span>  }<a name="line.1914"></a>
-<span class="sourceLineNo">1915</span><a name="line.1915"></a>
-<span class="sourceLineNo">1916</span>  @Override<a name="line.1916"></a>
-<span class="sourceLineNo">1917</span>  public long splitRegion(final RegionInfo regionInfo, final byte[] splitRow,<a name="line.1917"></a>
-<span class="sourceLineNo">1918</span>      final long nonceGroup, final long nonce)<a name="line.1918"></a>
-<span class="sourceLineNo">1919</span>  throws IOException {<a name="line.1919"></a>
-<span class="sourceLineNo">1920</span>    checkInitialized();<a name="line.1920"></a>
-<span class="sourceLineNo">1921</span>    return MasterProcedureUtil.submitProcedure(<a name="line.1921"></a>
-<span class="sourceLineNo">1922</span>        new MasterProcedureUtil.NonceProcedureRunnable(this, nonceGroup, nonce) {<a name="line.1922"></a>
-<span class="sourceLineNo">1923</span>      @Override<a name="line.1923"></a>
-<span class="sourceLineNo">1924</span>      protected void run() throws IOException {<a name="line.1924"></a>
-<span class="sourceLineNo">1925</span>        getMaster().getMasterCoprocessorHost().preSplitRegion(regionInfo.getTable(), splitRow);<a name="line.1925"></a>
-<span class="sourceLineNo">1926</span>        LOG.info(getClientIdAuditPrefix() + " split " + regionInfo.getRegionNameAsString());<a name="line.1926"></a>
-<span class="sourceLineNo">1927</span><a name="line.1927"></a>
-<span class="sourceLineNo">1928</span>        // Execute the operation asynchronously<a name="line.1928"></a>
-<span class="sourceLineNo">1929</span>        submitProcedure(getAssignmentManager().createSplitProcedure(regionInfo, splitRow));<a name="line.1929"></a>
-<span class="sourceLineNo">1930</span>      }<a name="line.1930"></a>
-<span class="sourceLineNo">1931</span><a name="line.1931"></a>
-<span class="sourceLineNo">1932</span>      @Override<a name="line.1932"></a>
-<span class="sourceLineNo">1933</span>      protected String getDescription() {<a name="line.1933"></a>
-<span class="sourceLineNo">1934</span>        return "SplitTableProcedure";<a name="line.1934"></a>
-<span class="sourceLineNo">1935</span>      }<a name="line.1935"></a>
-<span class="sourceLineNo">1936</span>    });<a name="line.1936"></a>
-<span class="sourceLineNo">1937</span>  }<a name="line.1937"></a>
-<span class="sourceLineNo">1938</span><a name="line.1938"></a>
-<span class="sourceLineNo">1939</span>  // Public so can be accessed by tests. Blocks until move is done.<a name="line.1939"></a>
-<span class="sourceLineNo">1940</span>  // Replace with an async implementation from which you can get<a name="line.1940"></a>
-<span class="sourceLineNo">1941</span>  // a success/failure result.<a name="line.1941"></a>
-<span class="sourceLineNo">1942</span>  @VisibleForTesting<a name="line.1942"></a>
-<span class="sourceLineNo">1943</span>  public void move(final byte[] encodedRegionName, byte[] destServerName) throws HBaseIOException {<a name="line.1943"></a>
-<span class="sourceLineNo">1944</span>    RegionState regionState = assignmentManager.getRegionStates().<a name="line.1944"></a>
-<span class="sourceLineNo">1945</span>      getRegionState(Bytes.toString(encodedRegionName));<a name="line.1945"></a>
-<span class="sourceLineNo">1946</span><a name="line.1946"></a>
-<span class="sourceLineNo">1947</span>    RegionInfo hri;<a name="line.1947"></a>
-<span class="sourceLineNo">1948</span>    if (regionState != null) {<a name="line.1948"></a>
-<span class="sourceLineNo">1949</span>      hri = regionState.getRegion();<a name="line.1949"></a>
-<span class="sourceLineNo">1950</span>    } else {<a name="line.1950"></a>
-<span class="sourceLineNo">1951</span>      throw new UnknownRegionException(Bytes.toStringBinary(encodedRegionName));<a name="line.1951"></a>
-<span class="sourceLineNo">1952</span>    }<a name="line.1952"></a>
-<span class="sourceLineNo">1953</span><a name="line.1953"></a>
-<span class="sourceLineNo">1954</span>    ServerName dest;<a name="line.1954"></a>
-<span class="sourceLineNo">1955</span>    List&lt;ServerName&gt; exclude = hri.getTable().isSystemTable() ? assignmentManager.getExcludedServersForSystemTable()<a name="line.1955"></a>
-<span class="sourceLineNo">1956</span>        : new ArrayList&lt;&gt;(1);<a name="line.1956"></a>
-<span class="sourceLineNo">1957</span>    if (destServerName != null &amp;&amp; exclude.contains(ServerName.valueOf(Bytes.toString(destServerName)))) {<a name="line.1957"></a>
-<span class="sourceLineNo">1958</span>      LOG.info(<a name="line.1958"></a>
-<span class="sourceLineNo">1959</span>          Bytes.toString(encodedRegionName) + " can not move to " + Bytes.toString(destServerName)<a name="line.1959"></a>
-<span class="sourceLineNo">1960</span>              + " because the server is in exclude list");<a name="line.1960"></a>
-<span class="sourceLineNo">1961</span>      destServerName = null;<a name="line.1961"></a>
-<span class="sourceLineNo">1962</span>    }<a name="line.1962"></a>
-<span class="sourceLineNo">1963</span>    if (destServerName == null || destServerName.length == 0) {<a name="line.1963"></a>
-<span class="sourceLineNo">1964</span>      LOG.info("Passed destination servername is null/empty so " +<a name="line.1964"></a>
-<span class="sourceLineNo">1965</span>        "choosing a server at random");<a name="line.1965"></a>
-<span class="sourceLineNo">1966</span>      exclude.add(regionState.getServerName());<a name="line.1966"></a>
-<span class="sourceLineNo">1967</span>      final List&lt;ServerName&gt; destServers = this.serverManager.createDestinationServersList(exclude);<a name="line.1967"></a>
-<span class="sourceLineNo">1968</span>      dest = balancer.randomAssignment(hri, destServers);<a name="line.1968"></a>
-<span class="sourceLineNo">1969</span>      if (dest == null) {<a name="line.1969"></a>
-<span class="sourceLineNo">1970</span>        LOG.debug("Unable to determine a plan to assign " + hri);<a name="line.1970"></a>
-<span class="sourceLineNo">1971</span>        return;<a name="line.1971"></a>
-<span class="sourceLineNo">1972</span>      }<a name="line.1972"></a>
-<span class="sourceLineNo">1973</span>    } else {<a name="line.1973"></a>
-<span class="sourceLineNo">1974</span>      ServerName candidate = ServerName.valueOf(Bytes.toString(destServerName));<a name="line.1974"></a>
-<span class="sourceLineNo">1975</span>      dest = balancer.randomAssignment(hri, Lists.newArrayList(candidate));<a name="line.1975"></a>
-<span class="sourceLineNo">1976</span>      if (dest == null) {<a name="line.1976"></a>
-<span class="sourceLineNo">1977</span>        LOG.debug("Unable to determine a plan to assign " + hri);<a name="line.1977"></a>
-<span class="sourceLineNo">1978</span>        return;<a name="line.1978"></a>
-<span class="sourceLineNo">1979</span>      }<a name="line.1979"></a>
-<span class="sourceLineNo">1980</span>      // TODO: What is this? I don't get it.<a name="line.1980"></a>
-<span class="sourceLineNo">1981</span>      if (dest.equals(serverName) &amp;&amp; balancer instanceof BaseLoadBalancer<a name="line.1981"></a>
-<span class="sourceLineNo">1982</span>          &amp;&amp; !((BaseLoadBalancer)balancer).shouldBeOnMaster(hri)) {<a name="line.1982"></a>
-<span class="sourceLineNo">1983</span>        // To avoid unnecessary region moving later by balancer. Don't put user<a name="line.1983"></a>
-<span class="sourceLineNo">1984</span>        // regions on master.<a name="line.1984"></a>
-<span class="sourceLineNo">1985</span>        LOG.debug("Skipping move of region " + hri.getRegionNameAsString()<a name="line.1985"></a>
-<span class="sourceLineNo">1986</span>          + " to avoid unnecessary region moving later by load balancer,"<a name="line.1986"></a>
-<span class="sourceLineNo">1987</span>          + " because it should not be on master");<a name="line.1987"></a>
-<span class="sourceLineNo">1988</span>        return;<a name="line.1988"></a>
-<span class="sourceLineNo">1989</span>      }<a name="line.1989"></a>
-<span class="sourceLineNo">1990</span>    }<a name="line.1990"></a>
-<span class="sourceLineNo">1991</span><a name="line.1991"></a>
-<span class="sourceLineNo">1992</span>    if (dest.equals(regionState.getServerName())) {<a name="line.1992"></a>
-<span class="sourceLineNo">1993</span>      LOG.debug("Skipping move of region " + hri.getRegionNameAsString()<a name="line.1993"></a>
-<span class="sourceLineNo">1994</span>        + " because region already assigned to the same server " + dest + ".");<a name="line.1994"></a>
-<span class="sourceLineNo">1995</span>      return;<a name="line.1995"></a>
-<span class="sourceLineNo">1996</span>    }<a name="line.1996"></a>
-<span class="sourceLineNo">1997</span><a name="line.1997"></a>
-<span class="sourceLineNo">1998</span>    // Now we can do the move<a name="line.1998"></a>
-<span class="sourceLineNo">1999</span>    RegionPlan rp = new RegionPlan(hri, regionState.getServerName(), dest);<a name="line.1999"></a>
-<span class="sourceLineNo">2000</span>    assert rp.getDestination() != null: rp.toString() + " " + dest;<a name="line.2000"></a>
-<span class="sourceLineNo">2001</span><a name="line.2001"></a>
-<span class="sourceLineNo">2002</span>    try {<a name="line.2002"></a>
-<span class="sourceLineNo">2003</span>      checkInitialized();<a name="line.2003"></a>
-<span class="sourceLineNo">2004</span>      if (this.cpHost != null) {<a name="line.2004"></a>
-<span class="sourceLineNo">2005</span>        this.cpHost.preMove(hri, rp.getSource(), rp.getDestination());<a name="line.2005"></a>
-<span class="sourceLineNo">2006</span>      }<a name="line.2006"></a>
-<span class="sourceLineNo">2007</span>      // Warmup the region on the destination before initiating the move. this call<a name="line.2007"></a>
-<span class="sourceLineNo">2008</span>      // is synchronous and takes some time. doing it before the source region gets<a name="line.2008"></a>
-<span class="sourceLineNo">2009</span>      // closed<a name="line.2009"></a>
-<span class="sourceLineNo">2010</span>      serverManager.sendRegionWarmup(rp.getDestination(), hri);<a name="line.2010"></a>
-<span class="sourceLineNo">2011</span><a name="line.2011"></a>
-<span class="sourceLineNo">2012</span>      LOG.info(getClientIdAuditPrefix() + " move " + rp + ", running balancer");<a name="line.2012"></a>
-<span class="sourceLineNo">2013</span>      Future&lt;byte []&gt; future = this.assignmentManager.moveAsync(rp);<a name="line.2013"></a>
-<span class="sourceLineNo">2014</span>      try {<a name="line.2014"></a>
-<span class="sourceLineNo">2015</span>        // Is this going to work? Will we throw exception on error?<a name="line.2015"></a>
-<span class="sourceLineNo">2016</span>        // TODO: CompletableFuture rather than this stunted Future.<a name="line.2016"></a>
-<span class="sourceLineNo">2017</span>        future.get();<a name="line.2017"></a>
-<span class="sourceLineNo">2018</span>      } catch (InterruptedException | ExecutionException e) {<a name="line.2018"></a>
-<span class="sourceLineNo">2019</span>        throw new HBaseIOException(e);<a name="line.2019"></a>
-<span class="sourceLineNo">2020</span>      }<a name="line.2020"></a>
-<span class="sourceLineNo">2021</span>      if (this.cpHost != null) {<a name="line.2021"></a>
-<span class="sourceLineNo">2022</span>        this.cpHost.postMove(hri, rp.getSource(), rp.getDestination());<a name="line.2022"></a>
-<span class="sourceLineNo">2023</span>      }<a name="line.2023"></a>
-<span class="sourceLineNo">2024</span>    } catch (IOException ioe) {<a name="line.2024"></a>
-<span class="sourceLineNo">2025</span>      if (ioe instanceof HBaseIOException) {<a name="line.2025"></a>
-<span class="sourceLineNo">2026</span>        throw (HBaseIOException)ioe;<a name="line.2026"></a>
-<span class="sourceLineNo">2027</span>      }<a name="line.2027"></a>
-<span class="sourceLineNo">2028</span>      throw new HBaseIOException(ioe);<a name="line.2028"></a>
-<span class="sourceLineNo">2029</span>    }<a name="line.2029"></a>
-<span class="sourceLineNo">2030</span>  }<a name="line.2030"></a>
-<span class="sourceLineNo">2031</span><a name="line.2031"></a>
-<span class="sourceLineNo">2032</span>  @Override<a name="line.2032"></a>
-<span class="sourceLineNo">2033</span>  public long createTable(final TableDescriptor tableDescriptor, final byte[][] splitKeys,<a name="line.2033"></a>
-<span class="sourceLineNo">2034</span>      final long nonceGroup, final long nonce) throws IOException {<a name="line.2034"></a>
-<span class="sourceLineNo">2035</span>    checkInitialized();<a name="line.2035"></a>
-<span class="sourceLineNo">2036</span>    TableDescriptor desc = getMasterCoprocessorHost().preCreateTableRegionsInfos(tableDescriptor);<a name="line.2036"></a>
-<span class="sourceLineNo">2037</span>    if (desc == null) {<a name="line.2037"></a>
-<span class="sourceLineNo">2038</span>      throw new IOException("Creation for " + tableDescriptor + " is canceled by CP");<a name="line.2038"></a>
-<span class="sourceLineNo">2039</span>    }<a name="line.2039"></a>
-<span class="sourceLineNo">2040</span>    String namespace = desc.getTableName().getNamespaceAsString();<a name="line.2040"></a>
-<span class="sourceLineNo">2041</span>    this.clusterSchemaService.getNamespace(namespace);<a name="line.2041"></a>
-<span class="sourceLineNo">2042</span><a name="line.2042"></a>
-<span class="sourceLineNo">2043</span>    RegionInfo[] newRegions = ModifyRegionUtils.createRegionInfos(desc, splitKeys);<a name="line.2043"></a>
-<span class="sourceLineNo">2044</span>    sanityCheckTableDescriptor(desc);<a name="line.2044"></a>
-<span class="sourceLineNo">2045</span><a name="line.2045"></a>
-<span class="sourceLineNo">2046</span>    return MasterProcedureUtil<a name="line.2046"></a>
-<span class="sourceLineNo">2047</span>      .submitProcedure(new MasterProcedureUtil.NonceProcedureRunnable(this, nonceGroup, nonce) {<a name="line.2047"></a>
-<span class="sourceLineNo">2048</span>        @Override<a name="line.2048"></a>
-<span class="sourceLineNo">2049</span>        protected void run() throws IOException {<a name="line.2049"></a>
-<span class="sourceLineNo">2050</span>          getMaster().getMasterCoprocessorHost().preCreateTable(desc, newRegions);<a name="line.2050"></a>
-<span class="sourceLineNo">2051</span><a name="line.2051"></a>
-<span class="sourceLineNo">2052</span>          LOG.info(getClientIdAuditPrefix() + " create " + desc);<a name="line.2052"></a>
-<span class="sourceLineNo">2053</span><a name="line.2053"></a>
-<span class="sourceLineNo">2054</span>          // TODO: We can handle/merge duplicate requests, and differentiate the case of<a name="line.2054"></a>
-<span class="sourceLineNo">2055</span>          // TableExistsException by saying if the schema is the same or not.<a name="line.2055"></a>
-<span class="sourceLineNo">2056</span>          //<a name="line.2056"></a>
-<span class="sourceLineNo">2057</span>          // We need to wait for the procedure to potentially fail due to "prepare" sanity<a name="line.2057"></a>
-<span class="sourceLineNo">2058</span>          // checks. This will block only the beginning of the procedure. See HBASE-19953.<a name="line.2058"></a>
-<span class="sourceLineNo">2059</span>          ProcedurePrepareLatch latch = ProcedurePrepareLatch.createBlockingLatch();<a name="line.2059"></a>
-<span class="sourceLineNo">2060</span>          submitProcedure(<a name="line.2060"></a>
-<span class="sourceLineNo">2061</span>            new CreateTableProcedure(procedureExecutor.getEnvironment(), desc, newRegions, latch));<a name="line.2061"></a>
-<span class="sourceLineNo">2062</span>          latch.await();<a name="line.2062"></a>
-<span class="sourceLineNo">2063</span><a name="line.2063"></a>
-<span class="sourceLineNo">2064</span>          getMaster().getMasterCoprocessorHost().postCreateTable(desc, newRegions);<a name="line.2064"></a>
-<span class="sourceLineNo">2065</span>        }<a name="line.2065"></a>
-<span class="sourceLineNo">2066</span><a name="line.2066"></a>
-<span class="sourceLineNo">2067</span>        @Override<a name="line.2067"></a>
-<span class="sourceLineNo">2068</span>        protected String getDescription() {<a name="line.2068"></a>
-<span class="sourceLineNo">2069</span>          return "CreateTableProcedure";<a name="line.2069"></a>
-<span class="sourceLineNo">2070</span>        }<a name="line.2070"></a>
-<span class="sourceLineNo">2071</span>      });<a name="line.2071"></a>
-<span class="sourceLineNo">2072</span>  }<a name="line.2072"></a>
-<span class="sourceLineNo">2073</span><a name="line.2073"></a>
-<span class="sourceLineNo">2074</span>  @Override<a name="line.2074"></a>
-<span class="sourceLineNo">2075</span>  public long createSystemTable(final TableDescriptor tableDescriptor) throws IOException {<a name="line.2075"></a>
-<span class="sourceLineNo">2076</span>    if (isStopped()) {<a name="line.2076"></a>
-<span class="sourceLineNo">2077</span>      throw new MasterNotRunningException();<a name="line.2077"></a>
-<span class="sourceLineNo">2078</span>    }<a name="line.2078"></a>
-<span class="sourceLineNo">2079</span><a name="line.2079"></a>
-<span class="sourceLineNo">2080</span>    TableName tableName = tableDescriptor.getTableName();<a name="line.2080"></a>
-<span class="sourceLineNo">2081</span>    if (!(tableName.isSystemTable())) {<a name="line.2081"></a>
-<span class="sourceLineNo">2082</span>      throw new IllegalArgumentException(<a name="line.2082"></a>
-<span class="sourceLineNo">2083</span>        "Only system table creation can use this createSystemTable API");<a name="line.2083"></a>
-<span class="sourceLineNo">2084</span>    }<a name="line.2084"></a>
-<span class="sourceLineNo">2085</span><a name="line.2085"></a>
-<span class="sourceLineNo">2086</span>    RegionInfo[] newRegions = ModifyRegionUtils.createRegionInfos(tableDescriptor, null);<a name="line.2086"></a>
-<span class="sourceLineNo">2087</span><a name="line.2087"></a>
-<span class="sourceLineNo">2088</span>    LOG.info(getClientIdAuditPrefix() + " create " + tableDescriptor);<a name="line.2088"></a>
-<span class="sourceLineNo">2089</span><a name="line.2089"></a>
-<span class="sourceLineNo">2090</span>    // This special create table is called locally to master.  Therefore, no RPC means no need<a name="line.2090"></a>
-<span class="sourceLineNo">2091</span>    // to use nonce to detect duplicated RPC call.<a name="line.2091"></a>
-<span class="sourceLineNo">2092</span>    long procId = this.procedureExecutor.submitProcedure(<a name="line.2092"></a>
-<span class="sourceLineNo">2093</span>      new CreateTableProcedure(procedureExecutor.getEnvironment(), tableDescriptor, newRegions));<a name="line.2093"></a>
-<span class="sourceLineNo">2094</span><a name="line.2094"></a>
-<span class="sourceLineNo">2095</span>    return procId;<a name="line.2095"></a>
-<span class="sourceLineNo">2096</span>  }<a name="line.2096"></a>
-<span class="sourceLineNo">2097</span><a name="line.2097"></a>
-<span class="sourceLineNo">2098</span>  /**<a name="line.2098"></a>
-<span class="sourceLineNo">2099</span>   * Checks whether the table conforms to some sane limits, and configured<a name="line.2099"></a>
-<span class="sourceLineNo">2100</span>   * values (compression, etc) work. Throws an exception if something is wrong.<a name="line.2100"></a>
-<span class="sourceLineNo">2101</span>   * @throws IOException<a name="line.2101"></a>
-<span class="sourceLineNo">2102</span>   */<a name="line.2102"></a>
-<span class="sourceLineNo">2103</span>  private void sanityCheckTableDescriptor(final TableDescriptor htd) throws IOException {<a name="line.2103"></a>
-<span class="sourceLineNo">2104</span>    final String CONF_KEY = "hbase.table.sanity.checks";<a name="line.2104"></a>
-<span class="sourceLineNo">2105</span>    boolean logWarn = false;<a name="line.2105"></a>
-<span class="sourceLineNo">2106</span>    if (!conf.getBoolean(CONF_KEY, true)) {<a name="line.2106"></a>
-<span class="sourceLineNo">2107</span>      logWarn = true;<a name="line.2107"></a>
-<span class="sourceLineNo">2108</span>    }<a name="line.2108"></a>
-<span class="sourceLineNo">2109</span>    String tableVal = htd.getValue(CONF_KEY);<a name="line.2109"></a>
-<span class="sourceLineNo">2110</span>    if (tableVal != null &amp;&amp; !Boolean.valueOf(tableVal)) {<a name="line.2110"></a>
-<span class="sourceLineNo">2111</span>      logWarn = true;<a name="line.2111"></a>
-<span class="sourceLineNo">2112</span>    }<a name="line.2112"></a>
-<span class="sourceLineNo">2113</span><a name="line.2113"></a>
-<span class="sourceLineNo">2114</span>    // check max file size<a name="line.2114"></a>
-<span class="sourceLineNo">2115</span>    long maxFileSizeLowerLimit = 2 * 1024 * 1024L; // 2M is the default lower limit<a name="line.2115"></a>
-<span class="sourceLineNo">2116</span>    long maxFileSize = htd.getMaxFileSize();<a name="line.2116"></a>
-<span class="sourceLineNo">2117</span>    if (maxFileSize &lt; 0) {<a name="line.2117"></a>
-<span class="sourceLineNo">2118</span>      maxFileSize = conf.getLong(HConstants.HREGION_MAX_FILESIZE, maxFileSizeLowerLimit);<a name="line.2118"></a>
-<span class="sourceLineNo">2119</span>    }<a name="line.2119"></a>
-<span class="sourceLineNo">2120</span>    if (maxFileSize &lt; conf.getLong("hbase.hregion.max.filesize.limit", maxFileSizeLowerLimit)) {<a name="line.2120"></a>
-<span class="sourceLineNo">2121</span>      String message = "MAX_FILESIZE for table descriptor or "<a name="line.2121"></a>
-<span class="sourceLineNo">2122</span>          + "\"hbase.hregion.max.filesize\" (" + maxFileSize<a name="line.2122"></a>
-<span class="sourceLineNo">2123</span>          + ") is too small, which might cause over splitting into unmanageable "<a name="line.2123"></a>
-<span class="sourceLineNo">2124</span>          + "number of regions.";<a name="line.2124"></a>
-<span class="sourceLineNo">2125</span>      warnOrThrowExceptionForFailure(logWarn, CONF_KEY, message, null);<a name="line.2125"></a>
-<span class="sourceLineNo">2126</span>    }<a name="line.2126"></a>
-<span class="sourceLineNo">2127</span><a name="line.2127"></a>
-<span class="sourceLineNo">2128</span>    // check flush size<a name="line.2128"></a>
-<span class="sourceLineNo">2129</span>    long flushSizeLowerLimit = 1024 * 1024L; // 1M is the default lower limit<a name="line.2129"></a>
-<span class="sourceLineNo">2130</span>    long flushSize = htd.getMemStoreFlushSize();<a name="line.2130"></a>
-<span class="sourceLineNo">2131</span>    if (flushSize &lt; 0) {<a name="line.2131"></a>
-<span class="sourceLineNo">2132</span>      flushSize = conf.getLong(HConstants.HREGION_MEMSTORE_FLUSH_SIZE, flushSizeLowerLimit);<a name="line.2132"></a>
-<span class="sourceLineNo">2133</span>    }<a name="line.2133"></a>
-<span class="sourceLineNo">2134</span>    if (flushSize &lt; conf.getLong("hbase.hregion.memstore.flush.size.limit", flushSizeLowerLimit)) {<a name="line.2134"></a>
-<span class="sourceLineNo">2135</span>      String message = "MEMSTORE_FLUSHSIZE for table descriptor or "<a name="line.2135"></a>
-<span class="sourceLineNo">2136</span>          + "\"hbase.hregion.memstore.flush.size\" ("+flushSize+") is too small, which might cause"<a name="line.2136"></a>
-<span class="sourceLineNo">2137</span>          + " very frequent flushing.";<a name="line.2137"></a>
-<span class="sourceLineNo">2138</span>      warnOrThrowExceptionForFailure(logWarn, CONF_KEY, message, null);<a name="line.2138"></a>
-<span class="sourceLineNo">2139</span>    }<a name="line.2139"></a>
-<span class="sourceLineNo">2140</span><a name="line.2140"></a>
-<span class="sourceLineNo">2141</span>    // check that coprocessors and other specified plugin classes can be loaded<a name="line.2141"></a>
-<span class="sourceLineNo">2142</span>    try {<a name="line.2142"></a>
-<span class="sourceLineNo">2143</span>      checkClassLoading(conf, htd);<a name="line.2143"></a>
-<span class="sourceLineNo">2144</span>    } catch (Exception ex) {<a name="line.2144"></a>
-<span class="sourceLineNo">2145</span>      warnOrThrowExceptionForFailure(logWarn, CONF_KEY, ex.getMessage(), null);<a name="line.2145"></a>
-<span class="sourceLineNo">2146</span>    }<a name="line.2146"></a>
-<span class="sourceLineNo">2147</span><a name="line.2147"></a>
-<span class="sourceLineNo">2148</span>    // check compression can be loaded<a name="line.2148"></a>
-<span class="sourceLineNo">2149</span>    try {<a name="line.2149"></a>
-<span class="sourceLineNo">2150</span>      checkCompression(htd);<a name="line.2150"></a>
-<span class="sourceLineNo">2151</span>    } catch (IOException e) {<a name="line.2151"></a>
-<span class="sourceLineNo">2152</span>      warnOrThrowExceptionForFailure(logWarn, CONF_KEY, e.getMessage(), e);<a name="line.2152"></a>
-<span class="sourceLineNo">2153</span>    }<a name="line.2153"></a>
-<span class="sourceLineNo">2154</span><a name="line.2154"></a>
-<span class="sourceLineNo">2155</span>    // check encryption can be loaded<a name="line.2155"></a>
-<span class="sourceLineNo">2156</span>    try {<a name="line.2156"></a>
-<span class="sourceLineNo">2157</span>      checkEncryption(conf, htd);<a name="line.2157"></a>
-<span class="sourceLineNo">2158</span>    } catch (IOException e) {<a name="line.2158"></a>
-<span class="sourceLineNo">2159</span>      warnOrThrowExceptionForFailure(logWarn, CONF_KEY, e.getMessage(), e);<a name="line.2159"></a>
-<span class="sourceLineNo">2160</span>    }<a name="line.2160"></a>
-<span class="sourceLineNo">2161</span>    // Verify compaction policy<a name="line.2161"></a>
-<span class="sourceLineNo">2162</span>    try{<a name="line.2162"></a>
-<span class="sourceLineNo">2163</span>      checkCompactionPolicy(conf, htd);<a name="line.2163"></a>
-<span class="sourceLineNo">2164</span>    } catch(IOException e){<a name="line.2164"></a>
-<span class="sourceLineNo">2165</span>      warnOrThrowExceptionForFailure(false, CONF_KEY, e.getMessage(), e);<a name="line.2165"></a>
-<span class="sourceLineNo">2166</span>    }<a name="line.2166"></a>
-<span class="sourceLineNo">2167</span>    // check that we have at least 1 CF<a name="line.2167"></a>
-<span class="sourceLineNo">2168</span>    if (htd.getColumnFamilyCount() == 0) {<a name="line.2168"></a>
-<span class="sourceLineNo">2169</span>      String message = "Table should have at least one column family.";<a name="line.2169"></a>
-<span class="sourceLineNo">2170</span>      warnOrThrowExceptionForFailure(logWarn, CONF_KEY, message, null);<a name="line.2170"></a>
-<span class="sourceLineNo">2171</span>    }<a name="line.2171"></a>
-<span class="sourceLineNo">2172</span><a name="line.2172"></a>
-<span class="sourceLineNo">2173</span>    for (ColumnFamilyDescriptor hcd : htd.getColumnFamilies()) {<a name="line.2173"></a>
-<span class="sourceLineNo">2174</span>      if (hcd.getTimeToLive() &lt;= 0) {<a name="line.2174"></a>
-<span class="sourceLineNo">2175</span>        String message = "TTL for column family " + hcd.getNameAsString() + " must be positive.";<a name="line.2175"></a>
-<span class="sourceLineNo">2176</span>        warnOrThrowExceptionForFailure(logWarn, CONF_KEY, message, null);<a name="line.2176"></a>
-<span class="sourceLineNo">2177</span>      }<a name="line.2177"></a>
-<span class="sourceLineNo">2178</span><a name="line.2178"></a>
-<span class="sourceLineNo">2179</span>      // check blockSize<a name="line.2179"></a>
-<span class="sourceLineNo">2180</span>      if (hcd.getBlocksize() &lt; 1024 || hcd.getBlocksize() &gt; 16 * 1024 * 1024) {<a name="line.2180"></a>
-<span class="sourceLineNo">2181</span>        String message = "Block size for column family " + hcd.getNameAsString()<a name="line.2181"></a>
-<span class="sourceLineNo">2182</span>            + "  must be between 1K and 16MB.";<a name="line.2182"></a>
-<span class="sourceLineNo">2183</span>        warnOrThrowExceptionForFailure(logWarn, CONF_KEY, message, null);<a name="line.2183"></a>
-<span class="sourceLineNo">2184</span>      }<a name="line.2184"></a>
-<span class="sourceLineNo">2185</span><a name="line.2185"></a>
-<span class="sourceLineNo">2186</span>      // check versions<a name="line.2186"></a>
-<span class="sourceLineNo">2187</span>      if (hcd.getMinVersions() &lt; 0) {<a name="line.2187"></a>
-<span class="sourceLineNo">2188</span>        String message = "Min versions for column family " + hcd.getNameAsString()<a name="line.2188"></a>
-<span class="sourceLineNo">2189</span>          + "  must be positive.";<a name="line.2189"></a>
-<span class="sourceLineNo">2190</span>        warnOrThrowExceptionForFailure(logWarn, CONF_KEY, message, null);<a name="line.2190"></a>
-<span class="sourceLineNo">2191</span>      }<a name="line.2191"></a>
-<span class="sourceLineNo">2192</span>      // max versions already being checked<a name="line.2192"></a>
-<span class="sourceLineNo">2193</span><a name="line.2193"></a>
-<span class="sourceLineNo">2194</span>      // HBASE-13776 Setting illegal versions for ColumnFamilyDescriptor<a name="line.2194"></a>
-<span class="sourceLineNo">2195</span>      //  does not throw IllegalArgumentException<a name="line.2195"></a>
-<span class="sourceLineNo">2196</span>      // check minVersions &lt;= maxVerions<a name="line.2196"></a>
-<span class="sourceLineNo">2197</span>      if (hcd.getMinVersions() &gt; hcd.getMaxVersions()) {<a name="line.2197"></a>
-<span class="sourceLineNo">2198</span>        String message = "Min versions for column family " + hcd.getNameAsString()<a name="line.2198"></a>
-<span class="sourceLineNo">2199</span>            + " must be less than the Max versions.";<a name="line.2199"></a>
-<span class="sourceLineNo">2200</span>        warnOrThrowExceptionForFailure(logWarn, CONF_KEY, message, null);<a name="line.2200"></a>
-<span class="sourceLineNo">2201</span>      }<a name="line.2201"></a>
-<span class="sourceLineNo">2202</span><a name="line.2202"></a>
-<span class="sourceLineNo">2203</span>      // check replication scope<a name="line.2203"></a>
-<span class="sourceLineNo">2204</span>      checkReplicationScope(hcd);<a name="line.2204"></a>
-<span class="sourceLineNo">2205</span>      // check bloom filter type<a name="line.2205"></a>
-<span class="sourceLineNo">2206</span>      checkBloomFilterType(hcd);<a name="line.2206"></a>
-<span class="sourceLineNo">2207</span><a name="line.2207"></a>
-<span class="sourceLineNo">2208</span>      // check data replication factor, it can be 0(default value) when user has not explicitly<a name="line.2208"></a>
-<span class="sourceLineNo">2209</span>      // set the value, in this case we use default replication factor set in the file system.<a name="line.2209"></a>
-<span class="sourceLineNo">2210</span>      if (hcd.getDFSReplication() &lt; 0) {<a name="line.2210"></a>
-<span class="sourceLineNo">2211</span>        String message = "HFile Replication for column family " + hcd.getNameAsString()<a name="line.2211"></a>
-<span class="sourceLineNo">2212</span>            + "  must be greater than zero.";<a name="line.2212"></a>
-<span class="sourceLineNo">2213</span>        warnOrThrowExceptionForFailure(logWarn, CONF_KEY, message, null);<a name="line.2213"></a>
-<span class="sourceLineNo">2214</span>      }<a name="line.2214"></a>
-<span class="sourceLineNo">2215</span><a name="line.2215"></a>
-<span class="sourceLineNo">2216</span>      // TODO: should we check coprocessors and encryption ?<a name="line.2216"></a>
-<span class="sourceLineNo">2217</span>    }<a name="line.2217"></a>
-<span class="sourceLineNo">2218</span>  }<a name="line.2218"></a>
-<span class="sourceLineNo">2219</span><a name="line.2219"></a>
-<span class="sourceLineNo">2220</span>  private void checkReplicationScope(ColumnFamilyDescriptor hcd) throws IOException{<a name="line.2220"></a>
-<span class="sourceLineNo">2221</span>    // check replication scope<a name="line.2221"></a>
-<span class="sourceLineNo">2222</span>    WALProtos.ScopeType scop = WALProtos.ScopeType.valueOf(hcd.getScope());<a name="line.2222"></a>
-<span class="sourceLineNo">2223</span>    if (scop == null) {<a name="line.2223"></a>
-<span class="sourceLineNo">2224</span>      String message = "Replication scope for column family "<a name="line.2224"></a>
-<span class="sourceLineNo">2225</span>          + hcd.getNameAsString() + " is " + hcd.getScope() + " which is invalid.";<a name="line.2225"></a>
-<span class="sourceLineNo">2226</span><a name="line.2226"></a>
-<span class="sourceLineNo">2227</span>      LOG.error(message);<a name="line.2227"></a>
-<span class="sourceLineNo">2228</span>      throw new DoNotRetryIOException(message);<a name="line.2228"></a>
-<span class="sourceLineNo">2229</span>    }<a name="line.2229"></a>
-<span class="sourceLineNo">2230</span>  }<a name="line.2230"></a>
-<span class="sourceLineNo">2231</span><a name="line.2231"></a>
-<span class="sourceLineNo">2232</span>  private void checkCompactionPolicy(Configuration conf, TableDescriptor htd)<a name="line.2232"></a>
-<span class="sourceLineNo">2233</span>      throws IOException {<a name="line.2233"></a>
-<span class="sourceLineNo">2234</span>    // FIFO compaction has some requirements<a name="line.2234"></a>
-<span class="sourceLineNo">2235</span>    // Actually FCP ignores periodic major compactions<a name="line.2235"></a>
-<span class="sourceLineNo">2236</span>    String className = htd.getValue(DefaultStoreEngine.DEFAULT_COMPACTION_POLICY_CLASS_KEY);<a name="line.2236"></a>
-<span class="sourceLineNo">2237</span>    if (className == null) {<a name="line.2237"></a>
-<span class="sourceLineNo">2238</span>      className =<a name="line.2238"></a>
-<span class="sourceLineNo">2239</span>          conf.get(DefaultStoreEngine.DEFAULT_COMPACTION_POLICY_CLASS_KEY,<a name="line.2239"></a>
-<span class="sourceLineNo">2240</span>            ExploringCompactionPolicy.class.getName());<a name="line.2240"></a>
-<span class="sourceLineNo">2241</span>    }<a name="line.2241"></a>
-<span class="sourceLineNo">2242</span><a name="line.2242"></a>
-<span class="sourceLineNo">2243</span>    int blockingFileCount = HStore.DEFAULT_BLOCKING_STOREFILE_COUNT;<a name="line.2243"></a>
-<span class="sourceLineNo">2244</span>    String sv = htd.getValue(HStore.BLOCKING_STOREFILES_KEY);<a name="line.2244"></a>
-<span class="sourceLineNo">2245</span>    if (sv != null) {<a name="line.2245"></a>
-<span class="sourceLineNo">2246</span>      blockingFileCount = Integer.parseInt(sv);<a name="line.2246"></a>
-<span class="sourceLineNo">2247</span>    } else {<a name="line.2247"></a>
-<span class="sourceLineNo">2248</span>      blockingFileCount = conf.getInt(HStore.BLOCKING_STOREFILES_KEY, blockingFileCount);<a name="line.2248"></a>
-<span class="sourceLineNo">2249</span>    }<a name="line.2249"></a>
-<span class="sourceLineNo">2250</span><a name="line.2250"></a>
-<span class="sourceLineNo">2251</span>    for (ColumnFamilyDescriptor hcd : htd.getColumnFamilies()) {<a name="line.2251"></a>
-<span class="sourceLineNo">2252</span>      String compactionPolicy =<a name="line.2252"></a>
-<span class="sourceLineNo">2253</span>          hcd.getConfigurationValue(DefaultStoreEngine.DEFAULT_COMPACTION_POLICY_CLASS_KEY);<a name="line.2253"></a>
-<span class="sourceLineNo">2254</span>      if (compactionPolicy == null) {<a name="line.2254"></a>
-<span class="sourceLineNo">2255</span>        compactionPolicy = className;<a name="line.2255"></a>
-<span class="sourceLineNo">2256</span>      }<a name="line.2256"></a>
-<span class="sourceLineNo">2257</span>      if (!compactionPolicy.equals(FIFOCompactionPolicy.class.getName())) {<a name="line.2257"></a>
-<span class="sourceLineNo">2258</span>        continue;<a name="line.2258"></a>
-<span class="sourceLineNo">2259</span>      }<a name="line.2259"></a>
-<span class="sourceLineNo">2260</span>      // FIFOCompaction<a name="line.2260"></a>
-<span class="sourceLineNo">2261</span>      String message = null;<a name="line.2261"></a>
-<span class="sourceLineNo">2262</span><a name="line.2262"></a>
-<span class="sourceLineNo">2263</span>      // 1. Check TTL<a name="line.2263"></a>
-<span class="sourceLineNo">2264</span>      if (hcd.getTimeToLive() == ColumnFamilyDescriptorBuilder.DEFAULT_TTL) {<a name="line.2264"></a>
-<span class="sourceLineNo">2265</span>        message = "Default TTL is not supported for FIFO compaction";<a name="line.2265"></a>
-<span class="sourceLineNo">2266</span>        throw new IOException(message);<a name="line.2266"></a>
-<span class="sourceLineNo">2267</span>      }<a name="line.2267"></a>
-<span class="sourceLineNo">2268</span><a name="line.2268"></a>
-<span class="sourceLineNo">2269</span>      // 2. Check min versions<a name="line.2269"></a>
-<span class="sourceLineNo">2270</span>      if (hcd.getMinVersions() &gt; 0) {<a name="line.2270"></a>
-<span class="sourceLineNo">2271</span>        message = "MIN_VERSION &gt; 0 is not supported for FIFO compaction";<a name="line.2271"></a>
-<span class="sourceLineNo">2272</span>        throw new IOException(message);<a name="line.2272"></a>
-<span class="sourceLineNo">2273</span>      }<a name="line.2273"></a>
-<span class="sourceLineNo">2274</span><a name="line.2274"></a>
-<span class="sourceLineNo">2275</span>      // 3. blocking file count<a name="line.2275"></a>
-<span class="sourceLineNo">2276</span>      sv = hcd.getConfigurationValue(HStore.BLOCKING_STOREFILES_KEY);<a name="line.2276"></a>
-<span class="sourceLineNo">2277</span>      if (sv != null) {<a name="line.2277"></a>
-<span class="sourceLineNo">2278</span>        blockingFileCount = Integer.parseInt(sv);<a name="line.2278"></a>
-<span class="sourceLineNo">2279</span>      }<a name="line.2279"></a>
-<span class="sourceLineNo">2280</span>      if (blockingFileCount &lt; 1000) {<a name="line.2280"></a>
-<span class="sourceLineNo">2281</span>        message =<a name="line.2281"></a>
-<span class="sourceLineNo">2282</span>            "Blocking file count '" + HStore.BLOCKING_STOREFILES_KEY + "' " + blockingFileCount<a name="line.2282"></a>
-<span class="sourceLineNo">2283</span>                + " is below recommended minimum of 1000 for column family "+ hcd.getNameAsString();<a name="line.2283"></a>
-<span class="sourceLineNo">2284</span>        throw new IOException(message);<a name="line.2284"></a>
-<span class="sourceLineNo">2285</span>      }<a name="line.2285"></a>
-<span class="sourceLineNo">2286</span>    }<a name="line.2286"></a>
-<span class="sourceLineNo">2287</span>  }<a name="line.2287"></a>
-<span class="sourceLineNo">2288</span><a name="line.2288"></a>
-<span class="sourceLineNo">2289</span>  private static void checkBloomFilterType(ColumnFamilyDescriptor cfd)<a name="line.2289"></a>
-<span class="sourceLineNo">2290</span>      throws IOException {<a name="line.2290"></a>
-<span class="sourceLineNo">2291</span>    Configuration conf = new CompoundConfiguration().addStringMap(cfd.getConfiguration());<a name="line.2291"></a>
-<span class="sourceLineNo">2292</span>    try {<a name="line.2292"></a>
-<span class="sourceLineNo">2293</span>      BloomFilterUtil.getBloomFilterParam(cfd.getBloomFilterType(), conf);<a name="line.2293"></a>
-<span class="sourceLineNo">2294</span>    } catch (IllegalArgumentException e) {<a name="line.2294"></a>
-<span class="sourceLineNo">2295</span>      throw new DoNotRetryIOException("Failed to get bloom filter param", e);<a name="line.2295"></a>
-<span class="sourceLineNo">2296</span>    }<a name="line.2296"></a>
-<span class="sourceLineNo">2297</span>  }<a name="line.2297"></a>
-<span class="sourceLineNo">2298</span><a name="line.2298"></a>
-<span class="sourceLineNo">2299</span>  // HBASE-13350 - Helper method to log warning on sanity check failures if checks disabled.<a name="line.2299"></a>
-<span class="sourceLineNo">2300</span>  private static void warnOrThrowExceptionForFailure(boolean logWarn, String confKey,<a name="line.2300"></a>
-<span class="sourceLineNo">2301</span>      String message, Exception cause) throws IOException {<a name="line.2301"></a>
-<span class="sourceLineNo">2302</span>    if (!logWarn) {<a name="line.2302"></a>
-<span class="sourceLineNo">2303</span>      throw new DoNotRetryIOException(message + " Set " + confKey +<a name="line.2303"></a>
-<span class="sourceLineNo">2304</span>          " to false at conf or table descriptor if you want to bypass sanity checks", cause);<a name="line.2304"></a>
-<span class="sourceLineNo">2305</span>    }<a name="line.2305"></a>
-<span class="sourceLineNo">2306</span>    LOG.warn(message);<a name="line.2306"></a>
-<span class="sourceLineNo">2307</span>  }<a name="line.2307"></a>
-<span class="sourceLineNo">2308</span><a name="line.2308"></a>
-<span class="sourceLineNo">2309</span>  private void startActiveMasterManager(int infoPort) throws KeeperException {<a name="line.2309"></a>
-<span class="sourceLineNo">2310</span>    String backupZNode = ZNodePaths.joinZNode(<a name="line.2310"></a>
-<span class="sourceLineNo">2311</span>      zooKeeper.getZNodePaths().backupMasterAddressesZNode, serverName.toString());<a name="line.2311"></a>
-<span class="sourceLineNo">2312</span>    /*<a name="line.2312"></a>
-<span class="sourceLineNo">2313</span>    * Add a ZNode for ourselves in the backup master directory since we<a name="line.2313"></a>
-<span class="sourceLineNo">2314</span>    * may not become the active master. If so, we want the actual active<a name="line.2314"></a>
-<span class="sourceLineNo">2315</span>    * master to know we are backup masters, so that it won't assign<a name="line.2315"></a>
-<span class="sourceLineNo">2316</span>    * regions to us if so configured.<a name="line.2316"></a>
-<span class="sourceLineNo">2317</span>    *<a name="line.2317"></a>
-<span class="sourceLineNo">2318</span>    * If we become the active master later, ActiveMasterManager will delete<a name="line.2318"></a>
-<span class="sourceLineNo">2319</span>    * this node explicitly.  If we crash before then, ZooKeeper will delete<a name="line.2319"></a>
-<span class="sourceLineNo">2320</span>    * this node for us since it is ephemeral.<a name="line.2320"></a>
-<span class="sourceLineNo">2321</span>    */<a name="line.2321"></a>
-<span class="sourceLineNo">2322</span>    LOG.info("Adding backup master ZNode " + backupZNode);<a name="line.2322"></a>
-<span class="sourceLineNo">2323</span>    if (!MasterAddressTracker.setMasterAddress(zooKeeper, backupZNode, serverName, infoPort)) {<a name="line.2323"></a>
-<span class="sourceLineNo">2324</span>      LOG.warn("Failed create of " + backupZNode + " by " + serverName);<a name="line.2324"></a>
-<span class="sourceLineNo">2325</span>    }<a name="line.2325"></a>
-<span class="sourceLineNo">2326</span>    this.activeMasterManager.setInfoPort(infoPort);<a name="line.2326"></a>
-<span class="sourceLineNo">2327</span>    int timeout = conf.getInt(HConstants.ZK_SESSION_TIMEOUT, HConstants.DEFAULT_ZK_SESSION_TIMEOUT);<a name="line.2327"></a>
-<span class="sourceLineNo">2328</span>    // If we're a backup master, stall until a primary to write this address<a name="line.2328"></a>
-<span class="sourceLineNo">2329</span>    if (conf.getBoolean(HConstants.MASTER_TYPE_BACKUP, HConstants.DEFAULT_MASTER_TYPE_BACKUP)) {<a name="line.2329"></a>
-<span class="sourceLineNo">2330</span>      LOG.debug("HMaster started in backup mode. Stalling until master znode is written.");<a name="line.2330"></a>
-<span class="sourceLineNo">2331</span>      // This will only be a minute or so while the cluster starts up,<a name="line.2331"></a>
-<span class="sourceLineNo">2332</span>      // so don't worry about setting watches on the parent znode<a name="line.2332"></a>
-<span class="sourceLineNo">2333</span>      while (!activeMasterManager.hasActiveMaster()) {<a name="line.2333"></a>
-<span class="sourceLineNo">2334</span>        LOG.debug("Waiting for master address and cluster state znode to be written.");<a name="line.2334"></a>
-<span class="sourceLineNo">2335</span>        Threads.sleep(timeout);<a name="line.2335"></a>
-<span class="sourceLineNo">2336</span>      }<a name="line.2336"></a>
-<span class="sourceLineNo">2337</span>    }<a name="line.2337"></a>
-<span class="sourceLineNo">2338</span>    MonitoredTask status = TaskMonitor.get().createStatus("Master startup");<a name="line.2338"></a>
-<span class="sourceLineNo">2339</span>    status.setDescription("Master startup");<a name="line.2339"></a>
-<span class="sourceLineNo">2340</span>    try {<a name="line.2340"></a>
-<span class="sourceLineNo">2341</span>      if (activeMasterManager.blockUntilBecomingActiveMaster(timeout, status)) {<a name="line.2341"></a>
-<span class="sourceLineNo">2342</span>        finishActiveMasterInitialization(status);<a name="line.2342"></a>
-<span class="sourceLineNo">2343</span>      }<a name="line.2343"></a>
-<span class="sourceLineNo">2344</span>    } catch (Throwable t) {<a name="line.2344"></a>
-<span class="sourceLineNo">2345</span>      status.setStatus("Failed to become active: " + t.getMessage());<a name="line.2345"></a>
-<span class="sourceLineNo">2346</span>      LOG.error(HBaseMarkers.FATAL, "Failed to become active master", t);<a name="line.2346"></a>
-<span class="sourceLineNo">2347</span>      // HBASE-5680: Likely hadoop23 vs hadoop 20.x/1.x incompatibility<a name="line.2347"></a>
-<span class="sourceLineNo">2348</span>      if (t instanceof NoClassDefFoundError &amp;&amp; t.getMessage().<a name="line.2348"></a>
-<span class="sourceLineNo">2349</span>          contains("org/apache/hadoop/hdfs/protocol/HdfsConstants$SafeModeAction")) {<a name="line.2349"></a>
-<span class="sourceLineNo">2350</span>        // improved error message for this special case<a name="line.2350"></a>
-<span class="sourceLineNo">2351</span>        abort("HBase is having a problem with its Hadoop jars.  You may need to recompile " +<a name="line.2351"></a>
-<span class="sourceLineNo">2352</span>          "HBase against Hadoop version " + org.apache.hadoop.util.VersionInfo.getVersion() +<a name="line.2352"></a>
-<span class="sourceLineNo">2353</span>          " or change your hadoop jars to start properly", t);<a name="line.2353"></a>
-<span class="sourceLineNo">2354</span>      } else {<a name="line.2354"></a>
-<span class="sourceLineNo">2355</span>        abort("Unhandled exception. Starting shutdown.", t);<a name="line.2355"></a>
-<span class="sourceLineNo">2356</span>      }<a name="line.2356"></a>
-<span class="sourceLineNo">2357</span>    } finally {<a name="line.2357"></a>
-<span class="sourceLineNo">2358</span>      status.cleanup();<a name="line.2358"></a>
-<span class="sourceLineNo">2359</span>    }<a name="line.2359"></a>
-<span class="sourceLineNo">2360</span>  }<a name="line.2360"></a>
-<span class="sourceLineNo">2361</span><a name="line.2361"></a>
-<span class="sourceLineNo">2362</span>  private void checkCompression(final TableDescriptor htd)<a name="line.2362"></a>
-<span class="sourceLineNo">2363</span>  throws IOException {<a name="line.2363"></a>
-<span class="sourceLineNo">2364</span>    if (!this.masterCheckCompression) return;<a name="line.2364"></a>
-<span class="sourceLineNo">2365</span>    for (ColumnFamilyDescriptor hcd : htd.getColumnFamilies()) {<a name="line.2365"></a>
-<span class="sourceLineNo">2366</span>      checkCompression(hcd);<a name="line.2366"></a>
-<span class="sourceLineNo">2367</span>    }<a name="line.2367"></a>
-<span class="sourceLineNo">2368</span>  }<a name="line.2368"></a>
-<span class="sourceLineNo">2369</span><a name="line.2369"></a>
-<span class="sourceLineNo">2370</span>  private void checkCompression(final ColumnFamilyDescriptor hcd)<a name="line.2370"></a>
-<span class="sourceLineNo">2371</span>  throws IOException {<a name="line.2371"></a>
-<span class="sourceLineNo">2372</span>    if (!this.masterCheckCompression) return;<a name="line.2372"></a>
-<span class="sourceLineNo">2373</span>    CompressionTest.testCompression(hcd.getCompressionType());<a name="line.2373"></a>
-<span class="sourceLineNo">2374</span>    CompressionTest.testCompression(hcd.getCompactionCompressionType());<a name="line.2374"></a>
-<span class="sourceLineNo">2375</span>  }<a name="line.2375"></a>
-<span class="sourceLineNo">2376</span><a name="line.2376"></a>
-<span class="sourceLineNo">2377</span>  private void checkEncryption(final Configuration conf, final TableDescriptor htd)<a name="line.2377"></a>
-<span class="sourceLineNo">2378</span>  throws IOException {<a name="line.2378"></a>
-<span class="sourceLineNo">2379</span>    if (!this.masterCheckEncryption) return;<a name="line.2379"></a>
-<span class="sourceLineNo">2380</span>    for (ColumnFamilyDescriptor hcd : htd.getColumnFamilies()) {<a name="line.2380"></a>
-<span class="sourceLineNo">2381</span>      checkEncryption(conf, hcd);<a name="line.2381"></a>
-<span class="sourceLineNo">2382</span>    }<a name="line.2382"></a>
-<span class="sourceLineNo">2383</span>  }<a name="line.2383"></a>
-<span class="sourceLineNo">2384</span><a name="line.2384"></a>
-<span class="sourceLineNo">2385</span>  private void checkEncryption(final Configuration conf, final ColumnFamilyDescriptor hcd)<a name="line.2385"></a>
-<span class="sourceLineNo">2386</span>  throws IOException {<a name="line.2386"></a>
-<span class="sourceLineNo">2387</span>    if (!this.masterCheckEncryption) return;<a name="line.2387"></a>
-<span class="sourceLineNo">2388</span>    EncryptionTest.testEncryption(conf, hcd.getEncryptionType(), hcd.getEncryptionKey());<a name="line.2388"></a>
-<span class="sourceLineNo">2389</span>  }<a name="line.2389"></a>
-<span class="sourceLineNo">2390</span><a name="line.2390"></a>
-<span class="sourceLineNo">2391</span>  private void checkClassLoading(final Configuration conf, final TableDescriptor htd)<a name="line.2391"></a>
-<span class="sourceLineNo">2392</span>  throws IOException {<a name="line.2392"></a>
-<span class="sourceLineNo">2393</span>    RegionSplitPolicy.getSplitPolicyClass(htd, conf);<a name="line.2393"></a>
-<span class="sourceLineNo">2394</span>    RegionCoprocessorHost.testTableCoprocessorAttrs(conf, htd);<a name="line.2394"></a>
-<span class="sourceLineNo">2395</span>  }<a name="line.2395"></a>
-<span class="sourceLineNo">2396</span><a name="line.2396"></a>
-<span class="sourceLineNo">2397</span>  private static boolean isCatalogTable(final TableName tableName) {<a name="line.2397"></a>
-<span class="sourceLineNo">2398</span>    return tableName.equals(TableName.META_TABLE_NAME);<a name="line.2398"></a>
-<span class="sourceLineNo">2399</span>  }<a name="line.2399"></a>
-<span class="sourceLineNo">2400</span><a name="line.2400"></a>
-<span class="sourceLineNo">2401</span>  @Override<a name="line.2401"></a>
-<span class="sourceLineNo">2402</span>  public long deleteTable(<a name="line.2402"></a>
-<span class="sourceLineNo">2403</span>      final TableName tableName,<a name="line.2403"></a>
-<span class="sourceLineNo">2404</span>      final long nonceGroup,<a name="line.2404"></a>
-<span class="sourceLineNo">2405</span>      final long nonce) throws IOException {<a name="line.2405"></a>
-<span class="sourceLineNo">2406</span>    checkInitialized();<a name="line.2406"></a>
-<span class="sourceLineNo">2407</span><a name="line.2407"></a>
-<span class="sourceLineNo">2408</span>    return MasterProcedureUtil.submitProcedure(<a name="line.2408"></a>
-<span class="sourceLineNo">2409</span>        new MasterProcedureUtil.NonceProcedureRunnable(this, nonceGroup, nonce) {<a name="line.2409"></a>
-<span class="sourceLineNo">2410</span>      @Override<a name="line.2410"></a>
-<span class="sourceLineNo">2411</span>      protected void run() throws IOException {<a name="line.2411"></a>
-<span class="sourceLineNo">2412</span>        getMaster().getMasterCoprocessorHost().preDeleteTable(tableName);<a name="line.2412"></a>
-<span class="sourceLineNo">2413</span><a name="line.2413"></a>
-<span class="sourceLineNo">2414</span>        LOG.info(getClientIdAuditPrefix() + " delete " + tableName);<a name="line.2414"></a>
-<span class="sourceLineNo">2415</span><a name="line.2415"></a>
-<span class="sourceLineNo">2416</span>        // TODO: We can handle/merge duplicate request<a name="line.2416"></a>
-<span class="sourceLineNo">2417</span>        //<a name="line.2417"></a>
-<span class="sourceLineNo">2418</span>        // We need to wait for the procedure to potentially fail due to "prepare" sanity<a name="line.2418"></a>
-<span class="sourceLineNo">2419</span>        // checks. This will block only the beginning of the procedure. See HBASE-19953.<a name="line.2419"></a>
-<span class="sourceLineNo">2420</span>        ProcedurePrepareLatch latch = ProcedurePrepareLatch.createBlockingLatch();<a name="line.2420"></a>
-<span class="sourceLineNo">2421</span>        submitProcedure(new DeleteTableProcedure(procedureExecutor.getEnvironment(),<a name="line.2421"></a>
-<span class="sourceLineNo">2422</span>            tableName, latch));<a name="line.2422"></a>
-<span class="sourceLineNo">2423</span>        latch.await();<a name="line.2423"></a>
-<span class="sourceLineNo">2424</span><a name="line.2424"></a>
-<span class="sourceLineNo">2425</span>        getMaster().getMasterCoprocessorHost().postDeleteTable(tableName);<a name="line.2425"></a>
-<span class="sourceLineNo">2426</span>      }<a name="line.2426"></a>
-<span class="sourceLineNo">2427</span><a name="line.2427"></a>
-<span class="sourceLineNo">2428</span>      @Override<a name="line.2428"></a>
-<span class="sourceLineNo">2429</span>      protected String getDescription() {<a name="line.2429"></a>
-<span class="sourceLineNo">2430</span>        return "DeleteTableProcedure";<a name="line.2430"></a>
-<span class="sourceLineNo">2431</span>      }<a name="line.2431"></a>
-<span class="sourceLineNo">2432</span>    });<a name="line.2432"></a>
-<span class="sourceLineNo">2433</span>  }<a name="line.2433"></a>
-<span class="sourceLineNo">2434</span><a name="line.2434"></a>
-<span class="sourceLineNo">2435</span>  @Override<a name="line.2435"></a>
-<span class="sourceLineNo">2436</span>  public long truncateTable(<a name="line.2436"></a>
-<span class="sourceLineNo">2437</span>      final TableName tableName,<a name="line.2437"></a>
-<span class="sourceLineNo">2438</span>      final boolean preserveSplits,<a name="line.2438"></a>
-<span class="sourceLineNo">2439</span>      final long nonceGroup,<a name="line.2439"></a>
-<span class="sourceLineNo">2440</span>      final long nonce) throws IOException {<a name="line.2440"></a>
-<span class="sourceLineNo">2441</span>    checkInitialized();<a name="line.2441"></a>
-<span class="sourceLineNo">2442</span><a name="line.2442"></a>
-<span class="sourceLineNo">2443</span>    return MasterProcedureUtil.submitProcedure(<a name="line.2443"></a>
-<span class="sourceLineNo">2444</span>        new MasterProcedureUtil.NonceProcedureRunnable(this, nonceGroup, nonce) {<a name="line.2444"></a>
-<span class="sourceLineNo">2445</span>      @Override<a name="line.2445"></a>
-<span class="sourceLineNo">2446</span>      protected void run() throws IOException {<a name="line.2446"></a>
-<span class="sourceLineNo">2447</span>        getMaster().getMasterCoprocessorHost().preTruncateTable(tableName);<a name="line.2447"></a>
-<span class="sourceLineNo">2448</span><a name="line.2448"></a>
-<span class="sourceLineNo">2449</span>        LOG.info(getClientIdAuditPrefix() + " truncate " + tableName);<a name="line.2449"></a>
-<span class="sourceLineNo">2450</span>        ProcedurePrepareLatch latch = ProcedurePrepareLatch.createLatch(2, 0);<a name="line.2450"></a>
-<span class="sourceLineNo">2451</span>        submitProcedure(new TruncateTableProcedure(procedureExecutor.getEnvironment(),<a name="line.2451"></a>
-<span class="sourceLineNo">2452</span>            tableName, preserveSplits, latch));<a name="line.2452"></a>
-<span class="sourceLineNo">2453</span>        latch.await();<a name="line.2453"></a>
-<span class="sourceLineNo">2454</span><a name="line.2454"></a>
-<span class="sourceLineNo">2455</span>        getMaster().getMasterCoprocessorHost().postTruncateTable(tableName);<a name="line.2455"></a>
-<span class="sourceLineNo">2456</span>      }<a name="line.2456"></a>
-<span class="sourceLineNo">2457</span><a name="line.2457"></a>
-<span class="sourceLineNo">2458</span>      @Override<a name="line.2458"></a>
-<span class="sourceLineNo">2459</span>      protected String getDescription() {<a name="line.2459"></a>
-<span class="sourceLineNo">2460</span>        return "TruncateTableProcedure";<a name="line.2460"></a>
-<span class="sourceLineNo">2461</span>      }<a name="line.2461"></a>
-<span class="sourceLineNo">2462</span>    });<a name="line.2462"></a>
-<span class="sourceLineNo">2463</span>  }<a name="line.2463"></a>
-<span class="sourceLineNo">2464</span><a name="line.2464"></a>
-<span class="sourceLineNo">2465</span>  @Override<a name="line.2465"></a>
-<span class="sourceLineNo">2466</span>  public long addColumn(final TableName tableName, final ColumnFamilyDescriptor column,<a name="line.2466"></a>
-<span class="sourceLineNo">2467</span>      final long nonceGroup, final long nonce) throws IOException {<a name="line.2467"></a>
-<span class="sourceLineNo">2468</span>    checkInitialized();<a name="line.2468"></a>
-<span class="sourceLineNo">2469</span>    checkTableExists(tableName);<a name="line.2469"></a>
-<span class="sourceLineNo">2470</span><a name="line.2470"></a>
-<span class="sourceLineNo">2471</span>    return modifyTable(tableName, new TableDescriptorGetter() {<a name="line.2471"></a>
-<span class="sourceLineNo">2472</span><a name="line.2472"></a>
-<span class="sourceLineNo">2473</span>      @Override<a name="line.2473"></a>
-<span class="sourceLineNo">2474</span>      public TableDescriptor get() throws IOException {<a name="line.2474"></a>
-<span class="sourceLineNo">2475</span>        TableDescriptor old = getTableDescriptors().get(tableName);<a name="line.2475"></a>
-<span class="sourceLineNo">2476</span>        if (old.hasColumnFamily(column.getName())) {<a name="line.2476"></a>
-<span class="sourceLineNo">2477</span>          throw new InvalidFamilyOperationException("Column family '" + column.getNameAsString()<a name="line.2477"></a>
-<span class="sourceLineNo">2478</span>              + "' in table '" + tableName + "' already exists so cannot be added");<a name="line.2478"></a>
-<span class="sourceLineNo">2479</span>        }<a name="line.2479"></a>
-<span class="sourceLineNo">2480</span><a name="line.2480"></a>
-<span class="sourceLineNo">2481</span>        return TableDescriptorBuilder.newBuilder(old).setColumnFamily(column).build();<a name="line.2481"></a>
-<span class="sourceLineNo">2482</span>      }<a name="line.2482"></a>
-<span class="sourceLineNo">2483</span>    }, nonceGroup, nonce);<a name="line.2483"></a>
-<span class="sourceLineNo">2484</span>  }<a name="line.2484"></a>
-<span class="sourceLineNo">2485</span><a name="line.2485"></a>
-<span class="sourceLineNo">2486</span>  /**<a name="line.2486"></a>
-<span class="sourceLineNo">2487</span>   * Implement to return TableDescriptor after pre-checks<a name="line.2487"></a>
-<span class="sourceLineNo">2488</span>   */<a name="line.2488"></a>
-<span class="sourceLineNo">2489</span>  protected interface TableDescriptorGetter {<a name="line.2489"></a>
-<span class="sourceLineNo">2490</span>    TableDescriptor get() throws IOException;<a name="line.2490"></a>
-<span class="sourceLineNo">2491</span>  }<a name="line.2491"></a>
-<span class="sourceLineNo">2492</span><a name="line.2492"></a>
-<span class="sourceLineNo">2493</span>  @Override<a name="line.2493"></a>
-<span class="sourceLineNo">2494</span>  public long modifyColumn(final TableName tableName, final ColumnFamilyDescriptor descriptor,<a name="line.2494"></a>
-<span class="sourceLineNo">2495</span>      final long nonceGroup, final long nonce) throws IOException {<a name="line.2495"></a>
-<span class="sourceLineNo">2496</span>    checkInitialized();<a name="line.2496"></a>
-<span class="sourceLineNo">2497</span>    checkTableExists(tableName);<a name="line.2497"></a>
-<span class="sourceLineNo">2498</span>    return modifyTable(tableName, new TableDescriptorGetter() {<a name="line.2498"></a>
-<span class="sourceLineNo">2499</span><a name="line.2499"></a>
-<span class="sourceLineNo">2500</span>      @Override<a name="line.2500"></a>
-<span class="sourceLineNo">2501</span>      public TableDescriptor get() throws IOException {<a name="line.2501"></a>
-<span class="sourceLineNo">2502</span>        TableDescriptor old = getTableDescriptors().get(tableName);<a name="line.2502"></a>
-<span class="sourceLineNo">2503</span>        if (!old.hasColumnFamily(descriptor.getName())) {<a name="line.2503"></a>
-<span class="sourceLineNo">2504</span>          throw new InvalidFamilyOperationException("Family '" + descriptor.getNameAsString()<a name="line.2504"></a>
-<span class="sourceLineNo">2505</span>              + "' does not exist, so it cannot be modified");<a name="line.2505"></a>
-<span class="sourceLineNo">2506</span>        }<a name="line.2506"></a>
-<span class="sourceLineNo">2507</span><a name="line.2507"></a>
-<span class="sourceLineNo">2508</span>        return TableDescriptorBuilder.newBuilder(old).modifyColumnFamily(descriptor).build();<a name="line.2508"></a>
-<span class="sourceLineNo">2509</span>      }<a name="line.2509"></a>
-<span class="sourceLineNo">2510</span>    }, nonceGroup, nonce);<a name="line.2510"></a>
-<span class="sourceLineNo">2511</span>  }<a name="line.2511"></a>
-<span class="sourceLineNo">2512</span><a name="line.2512"></a>
-<span class="sourceLineNo">2513</span>  @Override<a name="line.2513"></a>
-<span class="sourceLineNo">2514</span>  public long deleteColumn(final TableName tableName, final byte[] columnName,<a name="line.2514"></a>
-<span class="sourceLineNo">2515</span>      final long nonceGroup, final long nonce) throws IOException {<a name="line.2515"></a>
-<span class="sourceLineNo">2516</span>    checkInitialized();<a name="line.2516"></a>
-<span class="sourceLineNo">2517</span>    checkTableExists(tableName);<a name="line.2517"></a>
-<span class="sourceLineNo">2518</span><a name="line.2518"></a>
-<span class="sourceLineNo">2519</span>    return modifyTable(tableName, new TableDescriptorGetter() {<a name="line.2519"></a>
-<span class="sourceLineNo">2520</span><a name="line.2520"></a>
-<span class="sourceLineNo">2521</span>      @Override<a name="line.2521"></a>
-<span class="sourceLineNo">2522</span>      public TableDescriptor get() throws IOException {<a name="line.2522"></a>
-<span class="sourceLineNo">2523</span>        TableDescriptor old = getTableDescriptors().get(tableName);<a name="line.2523"></a>
-<span class="sourceLineNo">2524</span><a name="line.2524"></a>
-<span class="sourceLineNo">2525</span>        if (!old.hasColumnFamily(columnName)) {<a name="line.2525"></a>
-<span class="sourceLineNo">2526</span>          throw new InvalidFamilyOperationException("Family '" + Bytes.toString(columnName)<a name="line.2526"></a>
-<span class="sourceLineNo">2527</span>              + "' does not exist, so it cannot be deleted");<a name="line.2527"></a>
-<span class="sourceLineNo">2528</span>        }<a name="line.2528"></a>
-<span class="sourceLineNo">2529</span>        if (old.getColumnFamilyCount() == 1) {<a name="line.2529"></a>
-<span class="sourceLineNo">2530</span>          throw new InvalidFamilyOperationException("Family '" + Bytes.toString(columnName)<a name="line.2530"></a>
-<span class="sourceLineNo">2531</span>              + "' is the only column family in the table, so it cannot be deleted");<a name="line.2531"></a>
-<span class="sourceLineNo">2532</span>        }<a name="line.2532"></a>
-<span class="sourceLineNo">2533</span>        return TableDescriptorBuilder.newBuilder(old).removeColumnFamily(columnName).build();<a name="line.2533"></a>
-<span class="sourceLineNo">2534</span>      }<a name="line.2534"></a>
-<span class="sourceLineNo">2535</span>    }, nonceGroup, nonce);<a name="line.2535"></a>
-<span class="sourceLineNo">2536</span>  }<a name="line.2536"></a>
-<span class="sourceLineNo">2537</span><a name="line.2537"></a>
-<span class="sourceLineNo">2538</span>  @Override<a name="line.2538"></a>
-<span class="sourceLineNo">2539</span>  public long enableTable(final TableName tableName, final long nonceGroup, final long nonce)<a name="line.2539"></a>
-<span class="sourceLineNo">2540</span>      throws IOException {<a name="line.2540"></a>
-<span class="sourceLineNo">2541</span>    checkInitialized();<a name="line.2541"></a>
-<span class="sourceLineNo">2542</span><a name="line.2542"></a>
-<span class="sourceLineNo">2543</span>    return MasterProcedureUtil.submitProcedure(<a name="line.2543"></a>
-<span class="sourceLineNo">2544</span>        new MasterProcedureUtil.NonceProcedureRunnable(this, nonceGroup, nonce) {<a name="line.2544"></a>
-<span class="sourceLineNo">2545</span>      @Override<a name="line.2545"></a>
-<span class="sourceLineNo">2546</span>      protected void run() throws IOException {<a name="line.2546"></a>
-<span class="sourceLineNo">2547</span>        getMaster().getMasterCoprocessorHost().preEnableTable(tableName);<a name="line.2547"></a>
-<span class="sourceLineNo">2548</span><a name="line.2548"></a>
-<span class="sourceLineNo">2549</span>        // Normally, it would make sense for this authorization check to exist inside<a name="line.2549"></a>
-<span class="sourceLineNo">2550</span>        // AccessController, but because the authorization check is done based on internal state<a name="line.2550"></a>
-<span class="sourceLineNo">2551</span>        // (rather than explicit permissions) we'll do the check here instead of in the<a name="line.2551"></a>
-<span class="sourceLineNo">2552</span>        // coprocessor.<a name="line.2552"></a>
-<span class="sourceLineNo">2553</span>        MasterQuotaManager quotaManager = getMasterQuotaManager();<a name="line.2553"></a>
-<span class="sourceLineNo">2554</span>        if (quotaManager != null) {<a name="line.2554"></a>
-<span class="sourceLineNo">2555</span>          if (quotaManager.isQuotaInitialized()) {<a name="line.2555"></a>
-<span class="sourceLineNo">2556</span>            Quotas quotaForTable = QuotaUtil.getTableQuota(getConnection(), tableName);<a name="line.2556"></a>
-<span class="sourceLineNo">2557</span>            if (quotaForTable != null &amp;&amp; quotaForTable.hasSpace()) {<a name="line.2557"></a>
-<span class="sourceLineNo">2558</span>              SpaceViolationPolicy policy = quotaForTable.getSpace().getViolationPolicy();<a name="line.2558"></a>
-<span class="sourceLineNo">2559</span>              if (SpaceViolationPolicy.DISABLE == policy) {<a name="line.2559"></a>
-<span class="sourceLineNo">2560</span>                throw new AccessDeniedException("Enabling the table '" + tableName<a name="line.2560"></a>
-<span class="sourceLineNo">2561</span>                    + "' is disallowed due to a violated space quota.");<a name="line.2561"></a>
-<span class="sourceLineNo">2562</span>              }<a name="line.2562"></a>
-<span class="sourceLineNo">2563</span>            }<a name="line.2563"></a>
-<span class="sourceLineNo">2564</span>          } else if (LOG.isTraceEnabled()) {<a name="line.2564"></a>
-<span class="sourceLineNo">2565</span>            LOG.trace("Unable to check for space quotas as the MasterQuotaManager is not enabled");<a name="line.2565"></a>
-<span class="sourceLineNo">2566</span>          }<a name="line.2566"></a>
-<span class="sourceLineNo">2567</span>        }<a name="line.2567"></a>
-<span class="sourceLineNo">2568</span><a name="line.2568"></a>
-<span class="sourceLineNo">2569</span>        LOG.info(getClientIdAuditPrefix() + " enable " + tableName);<a name="line.2569"></a>
-<span class="sourceLineNo">2570</span><a name="line.2570"></a>
-<span class="sourceLineNo">2571</span>        // Execute the operation asynchronously - client will check the progress of the operation<a name="line.2571"></a>
-<span class="sourceLineNo">2572</span>        // In case the request is from a &lt;1.1 client before returning,<a name="line.2572"></a>
-<span class="sourceLineNo">2573</span>        // we want to make sure that the table is prepared to be<a name="line.2573"></a>
-<span class="sourceLineNo">2574</span>        // enabled (the table is locked and the table state is set).<a name="line.2574"></a>
-<span class="sourceLineNo">2575</span>        // Note: if the procedure throws exception, we will catch it and rethrow.<a name="line.2575"></a>
-<span class="sourceLineNo">2576</span>        final ProcedurePrepareLatch prepareLatch = ProcedurePrepareLatch.createLatch();<a name="line.2576"></a>
-<span class="sourceLineNo">2577</span>        submitProcedure(new EnableTableProcedure(procedureExecutor.getEnvironment(),<a name="line.2577"></a>
-<span class="sourceLineNo">2578</span>            tableName, prepareLatch));<a name="line.2578"></a>
-<span class="sourceLineNo">2579</span>        prepareLatch.await();<a name="line.2579"></a>
-<span class="sourceLineNo">2580</span><a name="line.2580"></a>
-<span class="sourceLineNo">2581</span>        getMaster().getMasterCoprocessorHost().postEnableTable(tableName);<a name="line.2581"></a>
-<span class="sourceLineNo">2582</span>      }<a name="line.2582"></a>
-<span class="sourceLineNo">2583</span><a name="line.2583"></a>
-<span class="sourceLineNo">2584</span>      @Override<a name="line.2584"></a>
-<span class="sourceLineNo">2585</span>      protected String getDescription() {<a name="line.2585"></a>
-<span class="sourceLineNo">2586</span>        return "EnableTableProcedure";<a name="line.2586"></a>
-<span class="sourceLineNo">2587</span>      }<a name="line.2587"></a>
-<span class="sourceLineNo">2588</span>    });<a name="line.2588"></a>
-<span class="sourceLineNo">2589</span>  }<a name="line.2589"></a>
-<span class="sourceLineNo">2590</span><a name="line.2590"></a>
-<span class="sourceLineNo">2591</span>  @Override<a name="line.2591"></a>
-<span class="sourceLineNo">2592</span>  public long disableTable(final TableName tableName, final long nonceGroup, final long nonce)<a name="line.2592"></a>
-<span class="sourceLineNo">2593</span>      throws IOException {<a name="line.2593"></a>
-<span class="sourceLineNo">2594</span>    checkInitialized();<a name="line.2594"></a>
-<span class="sourceLineNo">2595</span><a name="line.2595"></a>
-<span class="sourceLineNo">2596</span>    return MasterProcedureUtil.submitProcedure(<a name="line.2596"></a>
-<span class="sourceLineNo">2597</span>        new MasterProcedureUtil.NonceProcedureRunnable(this, nonceGroup, nonce) {<a name="line.2597"></a>
-<span class="sourceLineNo">2598</span>      @Override<a name="line.2598"></a>
-<span class="sourceLineNo">2599</span>      protected void run() throws IOException {<a name="line.2599"></a>
-<span class="sourceLineNo">2600</span>        getMaster().getMasterCoprocessorHost().preDisableTable(tableName);<a name="line.2600"></a>
-<span class="sourceLineNo">2601</span><a name="line.2601"></a>
-<span class="sourceLineNo">2602</span>        LOG.info(getClientIdAuditPrefix() + " disable " + tableName);<a name="line.2602"></a>
-<span class="sourceLineNo">2603</span><a name="line.2603"></a>
-<span class="sourceLineNo">2604</span>        // Execute the operation asynchronously - client will check the progress of the operation<a name="line.2604"></a>
-<span class="sourceLineNo">2605</span>        // In case the request is from a &lt;1.1 client before returning,<a name="line.2605"></a>
-<span class="sourceLineNo">2606</span>        // we want to make sure that the table is prepared to be<a name="line.2606"></a>
-<span class="sourceLineNo">2607</span>        // enabled (the table is locked and the table state is set).<a name="line.2607"></a>
-<span class="sourceLineNo">2608</span>        // Note: if the procedure throws exception, we will catch it and rethrow.<a name="line.2608"></a>
-<span class="sourceLineNo">2609</span>        //<a name="line.2609"></a>
-<span class="sourceLineNo">2610</span>        // We need to wait for the procedure to potentially fail due to "prepare" sanity<a name="line.2610"></a>
-<span class="sourceLineNo">2611</span>        // checks. This will block only the beginning of the procedure. See HBASE-19953.<a name="line.2611"></a>
-<span class="sourceLineNo">2612</span>        final ProcedurePrepareLatch prepareLatch = ProcedurePrepareLatch.createBlockingLatch();<a name="line.2612"></a>
-<span class="sourceLineNo">2613</span>        submitProcedure(new DisableTableProcedure(procedureExecutor.getEnvironment(),<a name="line.2613"></a>
-<span class="sourceLineNo">2614</span>            tableName, false, prepareLatch));<a name="line.2614"></a>
-<span class="sourceLineNo">2615</span>        prepareLatch.await();<a name="line.2615"></a>
-<span class="sourceLineNo">2616</span><a name="line.2616"></a>
-<span class="sourceLineNo">2617</span>        getMaster().getMasterCoprocessorHost().postDisableTable(tableName);<a name="line.2617"></a>
-<span class="sourceLineNo">2618</span>      }<a name="line.2618"></a>
-<span class="sourceLineNo">2619</span><a name="line.2619"></a>
-<span class="sourceLineNo">2620</span>      @Override<a name="line.2620"></a>
-<span class="sourceLineNo">2621</span>      protected String getDescription() {<a name="line.2621"></a>
-<span class="sourceLineNo">2622</span>        return "DisableTableProcedure";<a name="line.2622"></a>
-<span class="sourceLineNo">2623</span>      }<a name="line.2623"></a>
-<span class="sourceLineNo">2624</span>    });<a name="line.2624"></a>
-<span class="sourceLineNo">2625</span>  }<a name="line.2625"></a>
-<span class="sourceLineNo">2626</span><a name="line.2626"></a>
-<span class="sourceLineNo">2627</span>  private long modifyTable(final TableName tableName,<a name="line.2627"></a>
-<span class="sourceLineNo">2628</span>      final TableDescriptorGetter newDescriptorGetter, final long nonceGroup, final long nonce)<a name="line.2628"></a>
-<span class="sourceLineNo">2629</span>      throws IOException {<a name="line.2629"></a>
-<span class="sourceLineNo">2630</span>    return MasterProcedureUtil<a name="line.2630"></a>
-<span class="sourceLineNo">2631</span>        .submitProcedure(new MasterProcedureUtil.NonceProcedureRunnable(this, nonceGroup, nonce) {<a name="line.2631"></a>
-<span class="sourceLineNo">2632</span>          @Override<a name="line.2632"></a>
-<span class="sourceLineNo">2633</span>          protected void run() throws IOException {<a name="line.2633"></a>
-<span class="sourceLineNo">2634</span>            TableDescriptor oldDescriptor = getMaster().getTableDescriptors().get(tableName);<a name="line.2634"></a>
-<span class="sourceLineNo">2635</span>            TableDescriptor newDescriptor = getMaster().getMasterCoprocessorHost()<a name="line.2635"></a>
-<span class="sourceLineNo">2636</span>                .preModifyTable(tableName, oldDescriptor, newDescriptorGetter.get());<a name="line.2636"></a>
-<span class="sourceLineNo">2637</span>            sanityCheckTableDescriptor(newDescriptor);<a name="line.2637"></a>
-<span class="sourceLineNo">2638</span>            LOG.info("{} modify table {} from {} to {}", getClientIdAuditPrefix(), tableName,<a name="line.2638"></a>
-<span class="sourceLineNo">2639</span>                oldDescriptor, newDescriptor);<a name="line.2639"></a>
-<span class="sourceLineNo">2640</span><a name="line.2640"></a>
-<span class="sourceLineNo">2641</span>            // Execute the operation synchronously - wait for the operation completes before<a name="line.2641"></a>
-<span class="sourceLineNo">2642</span>            // continuing.<a name="line.2642"></a>
-<span class="sourceLineNo">2643</span>            //<a name="line.2643"></a>
-<span class="sourceLineNo">2644</span>            // We need to wait for the procedure to potentially fail due to "prepare" sanity<a name="line.2644"></a>
-<span class="sourceLineNo">2645</span>            // checks. This will block only the beginning of the procedure. See HBASE-19953.<a name="line.2645"></a>
-<span class="sourceLineNo">2646</span>            ProcedurePrepareLatch latch = ProcedurePrepareLatch.createBlockingLatch();<a name="line.2646"></a>
-<span class="sourceLineNo">2647</span>            submitProcedure(<a name="line.2647"></a>
-<span class="sourceLineNo">2648</span>              new ModifyTableProcedure(procedureExecutor.getEnvironment(), newDescriptor, latch));<a name="line.2648"></a>
-<span class="sourceLineNo">2649</span>            latch.await();<a name="line.2649"></a>
-<span class="sourceLineNo">2650</span><a name="line.2650"></a>
-<span class="sourceLineNo">2651</span>            getMaster().getMasterCoprocessorHost().postModifyTable(tableName, oldDescriptor,<a name="line.2651"></a>
-<span class="sourceLineNo">2652</span>              newDescriptor);<a name="line.2652"></a>
-<span class="sourceLineNo">2653</span>          }<a name="line.2653"></a>
-<span class="sourceLineNo">2654</span><a name="line.2654"></a>
-<span class="sourceLineNo">2655</span>          @Override<a name="line.2655"></a>
-<span class="sourceLineNo">2656</span>          protected String getDescription() {<a name="line.2656"></a>
-<span class="sourceLineNo">2657</span>            return "ModifyTableProcedure";<a name="line.2657"></a>
-<span class="sourceLineNo">2658</span>          }<a name="line.2658"></a>
-<span class="sourceLineNo">2659</span>        });<a name="line.2659"></a>
-<span class="sourceLineNo">2660</span><a name="line.2660"></a>
-<span class="sourceLineNo">2661</span>  }<a name="line.2661"></a>
-<span class="sourceLineNo">2662</span><a name="line.2662"></a>
-<span class="sourceLineNo">2663</span>  @Override<a name="line.2663"></a>
-<span class="sourceLineNo">2664</span>  public long modifyTable(final TableName tableName, final TableDescriptor newDescriptor,<a name="line.2664"></a>
-<span class="sourceLineNo">2665</span>      final long nonceGroup, final long nonce) throws IOException {<a name="line.2665"></a>
-<span class="sourceLineNo">2666</span>    checkInitialized();<a name="line.2666"></a>
-<span class="sourceLineNo">2667</span>    return modifyTable(tableName, new TableDescriptorGetter() {<a name="line.2667"></a>
-<span class="sourceLineNo">2668</span>      @Override<a name="line.2668"></a>
-<span class="sourceLineNo">2669</span>      public TableDescriptor get() throws IOException {<a name="line.2669"></a>
-<span class="sourceLineNo">2670</span>        return newDescriptor;<a name="line.2670"></a>
-<span class="sourceLineNo">2671</span>      }<a name="line.2671"></a>
-<span class="sourceLineNo">2672</span>    }, nonceGroup, nonce);<a name="line.2672"></a>
-<span class="sourceLineNo">2673</span><a name="line.2673"></a>
-<span class="sourceLineNo">2674</span>  }<a name="line.2674"></a>
-<span class="sourceLineNo">2675</span><a name="line.2675"></a>
-<span class="sourceLineNo">2676</span>  public long restoreSnapshot(final SnapshotDescription snapshotDesc,<a name="line.2676"></a>
-<span class="sourceLineNo">2677</span>      final long nonceGroup, final long nonce, final boolean restoreAcl) throws IOException {<a name="line.2677"></a>
-<span class="sourceLineNo">2678</span>    checkInitialized();<a name="line.2678"></a>
-<span class="sourceLineNo">2679</span>    getSnapshotManager().checkSnapshotSupport();<a name="line.2679"></a>
-<span class="sourceLineNo">2680</span><a name="line.2680"></a>
-<span class="sourceLineNo">2681</span>    // Ensure namespace exists. Will throw exception if non-known NS.<a name="line.2681"></a>
-<span class="sourceLineNo">2682</span>    final TableName dstTable = TableName.valueOf(snapshotDesc.getTable());<a name="line.2682"></a>
-<span class="sourceLineNo">2683</span>    getClusterSchema().getNamespace(dstTable.getNamespaceAsString());<a name="line.2683"></a>
-<span class="sourceLineNo">2684</span><a name="line.2684"></a>
-<span class="sourceLineNo">2685</span>    return MasterProcedureUtil.submitProcedure(<a name="line.2685"></a>
-<span class="sourceLineNo">2686</span>        new MasterProcedureUtil.NonceProcedureRunnable(this, nonceGroup, nonce) {<a name="line.2686"></a>
-<span class="sourceLineNo">2687</span>      @Override<a name="line.2687"></a>
-<span class="sourceLineNo">2688</span>      protected void run() throws IOException {<a name="line.2688"></a>
-<span class="sourceLineNo">2689</span>          setProcId(<a name="line.2689"></a>
-<span class="sourceLineNo">2690</span>            getSnapshotManager().restoreOrCloneSnapshot(snapshotDesc, getNonceKey(), restoreAcl));<a name="line.2690"></a>
-<span class="sourceLineNo">2691</span>      }<a name="line.2691"></a>
-<span class="sourceLineNo">2692</span><a name="line.2692"></a>
-<span class="sourceLineNo">2693</span>      @Override<a name="line.2693"></a>
-<span class="sourceLineNo">2694</span>      protected String getDescription() {<a name="line.2694"></a>
-<span class="sourceLineNo">2695</span>        return "RestoreSnapshotProcedure";<a name="line.2695"></a>
-<span class="sourceLineNo">2696</span>      }<a name="line.2696"></a>
-<span class="sourceLineNo">2697</span>    });<a name="line.2697"></a>
-<span class="sourceLineNo">2698</span>  }<a name="line.2698"></a>
-<span class="sourceLineNo">2699</span><a name="line.2699"></a>
-<span class="sourceLineNo">2700</span>  private void checkTableExists(final TableName tableName)<a name="line.2700"></a>
-<span class="sourceLineNo">2701</span>      throws IOException, TableNotFoundException {<a name="line.2701"></a>
-<span class="sourceLineNo">2702</span>    if (!MetaTableAccessor.tableExists(getConnection(), tableName)) {<a name="line.2702"></a>
-<span class="sourceLineNo">2703</span>      throw new TableNotFoundException(tableName);<a name="line.2703"></a>
-<span class="sourceLineNo">2704</span>    }<a name="line.2704"></a>
-<span class="sourceLineNo">2705</span>  }<a name="line.2705"></a>
-<span class="sourceLineNo">2706</span><a name="line.2706"></a>
-<span class="sourceLineNo">2707</span>  @Override<a name="line.2707"></a>
-<span class="sourceLineNo">2708</span>  public void checkTableModifiable(final TableName tableName)<a name="line.2708"></a>
-<span class="sourceLineNo">2709</span>      throws IOException, TableNotFoundException, TableNotDisabledException {<a name="line.2709"></a>
-<span class="sourceLineNo">2710</span>    if (isCatalogTable(tableName)) {<a name="line.2710"></a>
-<span class="sourceLineNo">2711</span>      throw new IOException("Can't modify catalog tables");<a name="line.2711"></a>
-<span class="sourceLineNo">2712</span>    }<a name="line.2712"></a>
-<span class="sourceLineNo">2713</span>    checkTableExists(tableName);<a name="line.2713"></a>
-<span class="sourceLineNo">2714</span>    TableState ts = getTableStateManager().getTableState(tableName);<a name="line.2714"></a>
-<span class="sourceLineNo">2715</span>    if (!ts.isDisabled()) {<a name="line.2715"></a>
-<span class="sourceLineNo">2716</span>      throw new TableNotDisabledException("Not DISABLED; " + ts);<a name="line.2716"></a>
-<span class="sourceLineNo">2717</span>    }<a name="line.2717"></a>
-<span class="sourceLineNo">2718</span>  }<a name="line.2718"></a>
-<span class="sourceLineNo">2719</span><a name="line.2719"></a>
-<span class="sourceLineNo">2720</span>  public ClusterMetrics getClusterMetricsWithoutCoprocessor() throws InterruptedIOException {<a name="line.2720"></a>
-<span class="sourceLineNo">2721</span>    return getClusterMetricsWithoutCoprocessor(EnumSet.allOf(Option.class));<a name="line.2721"></a>
-<span class="sourceLineNo">2722</span>  }<a name="line.2722"></a>
-<span class="sourceLineNo">2723</span><a name="line.2723"></a>
-<span class="sourceLineNo">2724</span>  public ClusterMetrics getClusterMetricsWithoutCoprocessor(EnumSet&lt;Option&gt; options)<a name="line.2724"></a>
-<span class="sourceLineNo">2725</span>      throws InterruptedIOException {<a name="line.2725"></a>
-<span class="sourceLineNo">2726</span>    ClusterMetricsBuilder builder = ClusterMetricsBuilder.newBuilder();<a name="line.2726"></a>
-<span class="sourceLineNo">2727</span>    // given that hbase1 can't submit the request with Option,<a name="line.2727"></a>
-<span class="sourceLineNo">2728</span>    // we return all information to client if the list of Option is empty.<a name="line.2728"></a>
-<span class="sourceLineNo">2729</span>    if (options.isEmpty()) {<a name="line.2729"></a>
-<span class="sourceLineNo">2730</span>      options = EnumSet.allOf(Option.class);<a name="line.2730"></a>
-<span class="sourceLineNo">2731</span>    }<a name="line.2731"></a>
-<span class="sourceLineNo">2732</span><a name="line.2732"></a>
-<span class="sourceLineNo">2733</span>    for (Option opt : options) {<a name="line.2733"></a>
-<span class="sourceLineNo">2734</span>      switch (opt) {<a name="line.2734"></a>
-<span class="sourceLineNo">2735</span>        case HBASE_VERSION: builder.setHBaseVersion(VersionInfo.getVersion()); break;<a name="line.2735"></a>
-<span class="sourceLineNo">2736</span>        case CLUSTER_ID: builder.setClusterId(getClusterId()); break;<a name="line.2736"></a>
-<span class="sourceLineNo">2737</span>        case MASTER: builder.setMasterName(getServerName()); break;<a name="line.2737"></a>
-<span class="sourceLineNo">2738</span>        case BACKUP_MASTERS: builder.setBackerMasterNames(getBackupMasters()); break;<a name="line.2738"></a>
-<span class="sourceLineNo">2739</span>        case LIVE_SERVERS: {<a name="line.2739"></a>
-<span class="sourceLineNo">2740</span>          if (serverManager != null) {<a name="line.2740"></a>
-<span class="sourceLineNo">2741</span>            builder.setLiveServerMetrics(serverManager.getOnlineServers().entrySet().stream()<a name="line.2741"></a>
-<span class="sourceLineNo">2742</span>              .collect(Collectors.toMap(e -&gt; e.getKey(), e -&gt; e.getValue())));<a name="line.2742"></a>
-<span class="sourceLineNo">2743</span>          }<a name="line.2743"></a>
-<span class="sourceLineNo">2744</span>          break;<a name="line.2744"></a>
-<span class="sourceLineNo">2745</span>        }<a name="line.2745"></a>
-<span class="sourceLineNo">2746</span>        case DEAD_SERVERS: {<a name="line.2746"></a>
-<span class="sourceLineNo">2747</span>          if (serverManager != null) {<a name="line.2747"></a>
-<span class="sourceLineNo">2748</span>            builder.setDeadServerNames(new ArrayList&lt;&gt;(<a name="line.2748"></a>
-<span class="sourceLineNo">2749</span>              serverManager.getDeadServers().copyServerNames()));<a name="line.2749"></a>
-<span class="sourceLineNo">2750</span>          }<a name="line.2750"></a>
-<span class="sourceLineNo">2751</span>          break;<a name="line.2751"></a>
-<span class="sourceLineNo">2752</span>        }<a name="line.2752"></a>
-<span class="sourceLineNo">2753</span>        case MASTER_COPROCESSORS: {<a name="line.2753"></a>
-<span class="sourceLineNo">2754</span>          if (cpHost != null) {<a name="line.2754"></a>
-<span class="sourceLineNo">2755</span>            builder.setMasterCoprocessorNames(Arrays.asList(getMasterCoprocessors()));<a name="line.2755"></a>
-<span class="sourceLineNo">2756</span>          }<a name="line.2756"></a>
-<span class="sourceLineNo">2757</span>          break;<a name="line.2757"></a>
-<span class="sourceLineNo">2758</span>        }<a name="line.2758"></a>
-<span class="sourceLineNo">2759</span>        case REGIONS_IN_TRANSITION: {<a name="line.2759"></a>
-<span class="sourceLineNo">2760</span>          if (assignmentManager != null) {<a name="line.2760"></a>
-<span class="sourceLineNo">2761</span>            builder.setRegionsInTransition(assignmentManager.getRegionStates()<a name="line.2761"></a>
-<span class="sourceLineNo">2762</span>                .getRegionsStateInTransition());<a name="line.2762"></a>
-<span class="sourceLineNo">2763</span>          }<a name="line.2763"></a>
-<span class="sourceLineNo">2764</span>          break;<a name="line.2764"></a>
-<span class="sourceLineNo">2765</span>        }<a name="line.2765"></a>
-<span class="sourceLineNo">2766</span>        case BALANCER_ON: {<a name="line.2766"></a>
-<span class="sourceLineNo">2767</span>          if (loadBalancerTracker != null) {<a name="line.2767"></a>
-<span class="sourceLineNo">2768</span>            builder.setBalancerOn(loadBalancerTracker.isBalancerOn());<a name="line.2768"></a>
-<span class="sourceLineNo">2769</span>          }<a name="line.2769"></a>
-<span class="sourceLineNo">2770</span>          break;<a name="line.2770"></a>
-<span class="sourceLineNo">2771</span>        }<a name="line.2771"></a>
-<span class="sourceLineNo">2772</span>        case MASTER_INFO_PORT: {<a name="line.2772"></a>
-<span class="sourceLineNo">2773</span>          if (infoServer != null) {<a name="line.2773"></a>
-<span class="sourceLineNo">2774</span>            builder.setMasterInfoPort(infoServer.getPort());<a name="line.2774"></a>
-<span class="sourceLineNo">2775</span>          }<a name="line.2775"></a>
-<span class="sourceLineNo">2776</span>          break;<a name="line.2776"></a>
-<span class="sourceLineNo">2777</span>        }<a name="line.2777"></a>
-<span class="sourceLineNo">2778</span>      }<a name="line.2778"></a>
-<span class="sourceLineNo">2779</span>    }<a name="line.2779"></a>
-<span class="sourceLineNo">2780</span>    return builder.build();<a name="line.2780"></a>
-<span class="sourceLineNo">2781</span>  }<a name="line.2781"></a>
-<span class="sourceLineNo">2782</span><a name="line.2782"></a>
-<span class="sourceLineNo">2783</span>  /**<a name="line.2783"></a>
-<span class="sourceLineNo">2784</span>   * @return cluster status<a name="line.2784"></a>
-<span class="sourceLineNo">2785</span>   */<a name="line.2785"></a>
-<span class="sourceLineNo">2786</span>  public ClusterMetrics getClusterMetrics() throws IOException {<a name="line.2786"></a>
-<span class="sourceLineNo">2787</span>    return getClusterMetrics(EnumSet.allOf(Option.class));<a name="line.2787"></a>
-<span class="sourceLineNo">2788</span>  }<a name="line.2788"></a>
-<span class="sourceLineNo">2789</span><a name="line.2789"></a>
-<span class="sourceLineNo">2790</span>  public ClusterMetrics getClusterMetrics(EnumSet&lt;Option&gt; options) throws IOException {<a name="line.2790"></a>
-<span class="sourceLineNo">2791</span>    if (cpHost != null) {<a name="line.2791"></a>
-<span class="sourceLineNo">2792</span>      cpHost.preGetClusterMetrics();<a name="line.2792"></a>
-<span class="sourceLineNo">2793</span>    }<a name="line.2793"></a>
-<span class="sourceLineNo">2794</span>    ClusterMetrics status = getClusterMetricsWithoutCoprocessor(options);<a name="line.2794"></a>
-<span class="sourceLineNo">2795</span>    if (cpHost != null) {<a name="line.2795"></a>
-<span class="sourceLineNo">2796</span>      cpHost.postGetClusterMetrics(status);<a name="line.2796"></a>
-<span class="sourceLineNo">2797</span>    }<a name="line.2797"></a>
-<span class="sourceLineNo">2798</span>    return status;<a name="line.2798"></a>
-<span class="sourceLineNo">2799</span>  }<a name="line.2799"></a>
-<span class="sourceLineNo">2800</span><a name="line.2800"></a>
-<span class="sourceLineNo">2801</span>  private List&lt;ServerName&gt; getBackupMasters() throws InterruptedIOException {<a name="line.2801"></a>
-<span class="sourceLineNo">2802</span>    // Build Set of backup masters from ZK nodes<a name="line.2802"></a>
-<span class="sourceLineNo">2803</span>    List&lt;String&gt; backupMasterStrings;<a name="line.2803"></a>
-<span class="sourceLineNo">2804</span>    try {<a name="line.2804"></a>
-<span class="sourceLineNo">2805</span>      backupMasterStrings = ZKUtil.listChildrenNoWatch(this.zooKeeper,<a name="line.2805"></a>
-<span class="sourceLineNo">2806</span>        this.zooKeeper.getZNodePaths().backupMasterAddressesZNode);<a name="line.2806"></a>
-<span class="sourceLineNo">2807</span>    } catch (KeeperException e) {<a name="line.2807"></a>
-<span class="sourceLineNo">2808</span>      LOG.warn(this.zooKeeper.prefix("Unable to list backup servers"), e);<a name="line.2808"></a>
-<span class="sourceLineNo">2809</span>      backupMasterStrings = null;<a name="line.2809"></a>
-<span class="sourceLineNo">2810</span>    }<a name="line.2810"></a>
-<span class="sourceLineNo">2811</span><a name="line.2811"></a>
-<span class="sourceLineNo">2812</span>    List&lt;ServerName&gt; backupMasters = Collections.emptyList();<a name="line.2812"></a>
-<span class="sourceLineNo">2813</span>    if (backupMasterStrings != null &amp;&amp; !backupMasterStrings.isEmpty()) {<a name="line.2813"></a>
-<span class="sourceLineNo">2814</span>      backupMasters = new ArrayList&lt;&gt;(backupMasterStrings.size());<a name="line.2814"></a>
-<span class="sourceLineNo">2815</span>      for (String s: backupMasterStrings) {<a name="line.2815"></a>
-<span class="sourceLineNo">2816</span>        try {<a name="line.2816"></a>
-<span class="sourceLineNo">2817</span>          byte [] bytes;<a name="line.2817"></a>
-<span class="sourceLineNo">2818</span>          try {<a name="line.2818"></a>
-<span class="sourceLineNo">2819</span>            bytes = ZKUtil.getData(this.zooKeeper, ZNodePaths.joinZNode(<a name="line.2819"></a>
-<span class="sourceLineNo">2820</span>                this.zooKeeper.getZNodePaths().backupMasterAddressesZNode, s));<a name="line.2820"></a>
-<span class="sourceLineNo">2821</span>          } catch (InterruptedException e) {<a name="line.2821"></a>
-<span class="sourceLineNo">2822</span>            throw new InterruptedIOException();<a name="line.2822"></a>
-<span class="sourceLineNo">2823</span>          }<a name="line.2823"></a>
-<span class="sourceLineNo">2824</span>          if (bytes != null) {<a name="line.2824"></a>
-<span class="sourceLineNo">2825</span>            ServerName sn;<a name="line.2825"></a>
-<span class="sourceLineNo">2826</span>            try {<a name="line.2826"></a>
-<span class="sourceLineNo">2827</span>              sn = ProtobufUtil.parseServerNameFrom(bytes);<a name="line.2827"></a>
-<span class="sourceLineNo">2828</span>            } catch (DeserializationException e) {<a name="line.2828"></a>
-<span class="sourceLineNo">2829</span>              LOG.warn("Failed parse, skipping registering backup server", e);<a name="line.2829"></a>
-<span class="sourceLineNo">2830</span>              continue;<a name="line.2830"></a>
-<span class="sourceLineNo">2831</span>            }<a name="line.2831"></a>
-<span class="sourceLineNo">2832</span>            backupMasters.add(sn);<a name="line.2832"></a>
-<span class="sourceLineNo">2833</span>          }<a name="line.2833"></a>
-<span class="sourceLineNo">2834</span>        } catch (KeeperException e) {<a name="line.2834"></a>
-<span class="sourceLineNo">2835</span>          LOG.warn(this.zooKeeper.prefix("Unable to get information about " +<a name="line.2835"></a>
-<span class="sourceLineNo">2836</span>                   "backup servers"), e);<a name="line.2836"></a>
-<span class="sourceLineNo">2837</span>        }<a name="line.2837"></a>
-<span class="sourceLineNo">2838</span>      }<a name="line.2838"></a>
-<span class="sourceLineNo">2839</span>      Collections.sort(backupMasters, new Comparator&lt;ServerName&gt;() {<a name="line.2839"></a>
-<span class="sourceLineNo">2840</span>        @Override<a name="line.2840"></a>
-<span class="sourceLineNo">2841</span>        public int compare(ServerName s1, ServerName s2) {<a name="line.2841"></a>
-<span class="sourceLineNo">2842</span>          return s1.getServerName().compareTo(s2.getServerName());<a name="line.2842"></a>
-<span class="sourceLineNo">2843</span>        }});<a name="line.2843"></a>
-<span class="sourceLineNo">2844</span>    }<a name="line.2844"></a>
-<span class="sourceLineNo">2845</span>    return backupMasters;<a name="line.2845"></a>
-<span class="sourceLineNo">2846</span>  }<a name="line.2846"></a>
-<span class="sourceLineNo">2847</span><a name="line.2847"></a>
-<span class="sourceLineNo