You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by gi...@apache.org on 2017/06/21 15:00:47 UTC

[01/26] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Repository: hbase-site
Updated Branches:
  refs/heads/asf-site 6f716f49e -> fdcfc8d5b


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/testdevapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
index d211be0..bee857f 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
@@ -622,10 +622,10 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DataBlockEncodingTool.Manipulation.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">DataBlockEncodingTool.Manipulation</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TestRegionServerReadRequestMetrics.Metric.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestRegionServerReadRequestMetrics.Metric</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TestAtomicOperation.TestStep.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestAtomicOperation.TestStep</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DataBlockEncodingTool.Manipulation.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">DataBlockEncodingTool.Manipulation</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TestCacheOnWriteInSchema.CacheOnWriteType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestCacheOnWriteInSchema.CacheOnWriteType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TestAtomicOperation.TestStep.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestAtomicOperation.TestStep</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
index 7c105d8..5537618 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
@@ -248,10 +248,10 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
+<li type="circle">org.apache.hadoop.hbase.test.<a href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.Generator.Counts.html" title="enum in org.apache.hadoop.hbase.test"><span class="typeNameLink">IntegrationTestBigLinkedList.Generator.Counts</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.test.<a href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestWithCellVisibilityLoadAndVerify.Counters.html" title="enum in org.apache.hadoop.hbase.test"><span class="typeNameLink">IntegrationTestWithCellVisibilityLoadAndVerify.Counters</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.test.<a href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.Verify.Counts.html" title="enum in org.apache.hadoop.hbase.test"><span class="typeNameLink">IntegrationTestBigLinkedList.Verify.Counts</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.test.<a href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestLoadAndVerify.Counters.html" title="enum in org.apache.hadoop.hbase.test"><span class="typeNameLink">IntegrationTestLoadAndVerify.Counters</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.test.<a href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.Generator.Counts.html" title="enum in org.apache.hadoop.hbase.test"><span class="typeNameLink">IntegrationTestBigLinkedList.Generator.Counts</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
index 2573409..8e1c1ad 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
@@ -140,9 +140,9 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/FaultyFSLog.FailureType.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">FaultyFSLog.FailureType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/TestWALSplit.Corruptions.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">TestWALSplit.Corruptions</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/IOTestProvider.AllowedOperations.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">IOTestProvider.AllowedOperations</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/FaultyFSLog.FailureType.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">FaultyFSLog.FailureType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/testdevapidocs/src-html/org/apache/hadoop/hbase/quotas/TestSpaceQuotasWithSnapshots.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/quotas/TestSpaceQuotasWithSnapshots.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/quotas/TestSpaceQuotasWithSnapshots.html
index 0396e34..073a025 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/quotas/TestSpaceQuotasWithSnapshots.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/quotas/TestSpaceQuotasWithSnapshots.html
@@ -181,279 +181,293 @@
 <span class="sourceLineNo">173</span>        return expectedFinalSize == snapshot.getUsage();<a name="line.173"></a>
 <span class="sourceLineNo">174</span>      }<a name="line.174"></a>
 <span class="sourceLineNo">175</span>    });<a name="line.175"></a>
-<span class="sourceLineNo">176</span>  }<a name="line.176"></a>
-<span class="sourceLineNo">177</span><a name="line.177"></a>
-<span class="sourceLineNo">178</span>  @Test<a name="line.178"></a>
-<span class="sourceLineNo">179</span>  public void testNamespacesInheritSnapshotSize() throws Exception {<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    String ns = helper.createNamespace().getName();<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    TableName tn = helper.createTableWithRegions(ns, 1);<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    LOG.info("Writing data");<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    // Set a quota<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    QuotaSettings settings = QuotaSettingsFactory.limitNamespaceSpace(<a name="line.184"></a>
-<span class="sourceLineNo">185</span>        ns, SpaceQuotaHelperForTests.ONE_GIGABYTE, SpaceViolationPolicy.NO_INSERTS);<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    admin.setQuota(settings);<a name="line.186"></a>
-<span class="sourceLineNo">187</span><a name="line.187"></a>
-<span class="sourceLineNo">188</span>    // Write some data and flush it to disk<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    final long initialSize = 2L * SpaceQuotaHelperForTests.ONE_MEGABYTE;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    helper.writeData(tn, initialSize);<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    admin.flush(tn);<a name="line.191"></a>
-<span class="sourceLineNo">192</span><a name="line.192"></a>
-<span class="sourceLineNo">193</span>    LOG.info("Waiting until namespace size reflects written data");<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    // Wait until that data is seen by the master<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    TEST_UTIL.waitFor(30 * 1000, 500, new SpaceQuotaSnapshotPredicate(conn, ns) {<a name="line.195"></a>
-<span class="sourceLineNo">196</span>      @Override boolean evaluate(SpaceQuotaSnapshot snapshot) throws Exception {<a name="line.196"></a>
-<span class="sourceLineNo">197</span>        return snapshot.getUsage() &gt;= initialSize;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>      }<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    });<a name="line.199"></a>
-<span class="sourceLineNo">200</span><a name="line.200"></a>
-<span class="sourceLineNo">201</span>    // Make sure we see the "final" new size for the table, not some intermediate<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    waitForStableQuotaSize(conn, null, ns);<a name="line.202"></a>
-<span class="sourceLineNo">203</span><a name="line.203"></a>
-<span class="sourceLineNo">204</span>    // The actual size on disk after we wrote our data the first time<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    final long actualInitialSize = QuotaTableUtil.getCurrentSnapshot(conn, ns).getUsage();<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    LOG.info("Initial table size was " + actualInitialSize);<a name="line.206"></a>
+<span class="sourceLineNo">176</span><a name="line.176"></a>
+<span class="sourceLineNo">177</span>    Map&lt;String,Long&gt; snapshotSizes = QuotaTableUtil.getObservedSnapshotSizes(conn);<a name="line.177"></a>
+<span class="sourceLineNo">178</span>    Long size = snapshotSizes.get(snapshot1);<a name="line.178"></a>
+<span class="sourceLineNo">179</span>    assertNotNull("Did not observe the size of the snapshot", size);<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    assertEquals(<a name="line.180"></a>
+<span class="sourceLineNo">181</span>        "The recorded size of the HBase snapshot was not the size we expected", actualInitialSize,<a name="line.181"></a>
+<span class="sourceLineNo">182</span>        size.longValue());<a name="line.182"></a>
+<span class="sourceLineNo">183</span>  }<a name="line.183"></a>
+<span class="sourceLineNo">184</span><a name="line.184"></a>
+<span class="sourceLineNo">185</span>  @Test<a name="line.185"></a>
+<span class="sourceLineNo">186</span>  public void testNamespacesInheritSnapshotSize() throws Exception {<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    String ns = helper.createNamespace().getName();<a name="line.187"></a>
+<span class="sourceLineNo">188</span>    TableName tn = helper.createTableWithRegions(ns, 1);<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    LOG.info("Writing data");<a name="line.189"></a>
+<span class="sourceLineNo">190</span>    // Set a quota<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    QuotaSettings settings = QuotaSettingsFactory.limitNamespaceSpace(<a name="line.191"></a>
+<span class="sourceLineNo">192</span>        ns, SpaceQuotaHelperForTests.ONE_GIGABYTE, SpaceViolationPolicy.NO_INSERTS);<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    admin.setQuota(settings);<a name="line.193"></a>
+<span class="sourceLineNo">194</span><a name="line.194"></a>
+<span class="sourceLineNo">195</span>    // Write some data and flush it to disk<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    final long initialSize = 2L * SpaceQuotaHelperForTests.ONE_MEGABYTE;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    helper.writeData(tn, initialSize);<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    admin.flush(tn);<a name="line.198"></a>
+<span class="sourceLineNo">199</span><a name="line.199"></a>
+<span class="sourceLineNo">200</span>    LOG.info("Waiting until namespace size reflects written data");<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    // Wait until that data is seen by the master<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    TEST_UTIL.waitFor(30 * 1000, 500, new SpaceQuotaSnapshotPredicate(conn, ns) {<a name="line.202"></a>
+<span class="sourceLineNo">203</span>      @Override boolean evaluate(SpaceQuotaSnapshot snapshot) throws Exception {<a name="line.203"></a>
+<span class="sourceLineNo">204</span>        return snapshot.getUsage() &gt;= initialSize;<a name="line.204"></a>
+<span class="sourceLineNo">205</span>      }<a name="line.205"></a>
+<span class="sourceLineNo">206</span>    });<a name="line.206"></a>
 <span class="sourceLineNo">207</span><a name="line.207"></a>
-<span class="sourceLineNo">208</span>    LOG.info("Snapshot the table");<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    final String snapshot1 = tn.getQualifierAsString() + "_snapshot1";<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    admin.snapshot(snapshot1, tn);<a name="line.210"></a>
-<span class="sourceLineNo">211</span><a name="line.211"></a>
-<span class="sourceLineNo">212</span>    // Write the same data again, then flush+compact. This should make sure that<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    // the snapshot is referencing files that the table no longer references.<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    LOG.info("Write more data");<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    helper.writeData(tn, initialSize);<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    LOG.info("Flush the table");<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    admin.flush(tn);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    LOG.info("Synchronously compacting the table");<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    TEST_UTIL.compact(tn, true);<a name="line.219"></a>
-<span class="sourceLineNo">220</span><a name="line.220"></a>
-<span class="sourceLineNo">221</span>    final long upperBound = initialSize + FUDGE_FOR_TABLE_SIZE;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    final long lowerBound = initialSize - FUDGE_FOR_TABLE_SIZE;<a name="line.222"></a>
-<span class="sourceLineNo">223</span><a name="line.223"></a>
-<span class="sourceLineNo">224</span>    LOG.info("Waiting for the region reports to reflect the correct size, between ("<a name="line.224"></a>
-<span class="sourceLineNo">225</span>        + lowerBound + ", " + upperBound + ")");<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    TEST_UTIL.waitFor(30 * 1000, 500, new Predicate&lt;Exception&gt;() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      @Override<a name="line.227"></a>
-<span class="sourceLineNo">228</span>      public boolean evaluate() throws Exception {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>        Map&lt;TableName,Long&gt; sizes = QuotaTableUtil.getMasterReportedTableSizes(conn);<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        LOG.debug("Master observed table sizes from region size reports: " + sizes);<a name="line.230"></a>
-<span class="sourceLineNo">231</span>        Long size = sizes.get(tn);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>        if (null == size) {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>          return false;<a name="line.233"></a>
-<span class="sourceLineNo">234</span>        }<a name="line.234"></a>
-<span class="sourceLineNo">235</span>        return size &lt; upperBound &amp;&amp; size &gt; lowerBound;<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      }<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    });<a name="line.237"></a>
-<span class="sourceLineNo">238</span><a name="line.238"></a>
-<span class="sourceLineNo">239</span>    // Make sure we see the "final" new size for the table, not some intermediate<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    waitForStableRegionSizeReport(conn, tn);<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    final long finalSize = getRegionSizeReportForTable(conn, tn);<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    assertNotNull("Did not expect to see a null size", finalSize);<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    LOG.info("Final observed size of table: " + finalSize);<a name="line.243"></a>
-<span class="sourceLineNo">244</span><a name="line.244"></a>
-<span class="sourceLineNo">245</span>    // Make sure the QuotaObserverChore has time to reflect the new region size reports<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    // (we saw above). The usage of the table should *not* decrease when we check it below,<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    // though, because the snapshot on our table will cause the table to "retain" the size.<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    TEST_UTIL.waitFor(20 * 1000, 500, new SpaceQuotaSnapshotPredicate(conn, ns) {<a name="line.248"></a>
-<span class="sourceLineNo">249</span>      @Override<a name="line.249"></a>
-<span class="sourceLineNo">250</span>      public boolean evaluate(SpaceQuotaSnapshot snapshot) throws Exception {<a name="line.250"></a>
-<span class="sourceLineNo">251</span>        return snapshot.getUsage() &gt;= finalSize;<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      }<a name="line.252"></a>
-<span class="sourceLineNo">253</span>    });<a name="line.253"></a>
-<span class="sourceLineNo">254</span><a name="line.254"></a>
-<span class="sourceLineNo">255</span>    // The final usage should be the sum of the initial size (referenced by the snapshot) and the<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    // new size we just wrote above.<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    long expectedFinalSize = actualInitialSize + finalSize;<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    LOG.info(<a name="line.258"></a>
-<span class="sourceLineNo">259</span>        "Expecting namespace usage to be " + actualInitialSize + " + " + finalSize<a name="line.259"></a>
-<span class="sourceLineNo">260</span>        + " = " + expectedFinalSize);<a name="line.260"></a>
-<span class="sourceLineNo">261</span>    // The size of the table (WRT quotas) should now be approximately double what it was previously<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    TEST_UTIL.waitFor(30 * 1000, 1000, new SpaceQuotaSnapshotPredicate(conn, ns) {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>      @Override boolean evaluate(SpaceQuotaSnapshot snapshot) throws Exception {<a name="line.263"></a>
-<span class="sourceLineNo">264</span>        LOG.debug("Checking for " + expectedFinalSize + " == " + snapshot.getUsage());<a name="line.264"></a>
-<span class="sourceLineNo">265</span>        return expectedFinalSize == snapshot.getUsage();<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      }<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    });<a name="line.267"></a>
-<span class="sourceLineNo">268</span>  }<a name="line.268"></a>
-<span class="sourceLineNo">269</span><a name="line.269"></a>
-<span class="sourceLineNo">270</span>  @Test<a name="line.270"></a>
-<span class="sourceLineNo">271</span>  public void testTablesWithSnapshots() throws Exception {<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    final Connection conn = TEST_UTIL.getConnection();<a name="line.272"></a>
-<span class="sourceLineNo">273</span>    final SpaceViolationPolicy policy = SpaceViolationPolicy.NO_INSERTS;<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    final TableName tn = helper.createTableWithRegions(10);<a name="line.274"></a>
+<span class="sourceLineNo">208</span>    // Make sure we see the "final" new size for the table, not some intermediate<a name="line.208"></a>
+<span class="sourceLineNo">209</span>    waitForStableQuotaSize(conn, null, ns);<a name="line.209"></a>
+<span class="sourceLineNo">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span>    // The actual size on disk after we wrote our data the first time<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    final long actualInitialSize = QuotaTableUtil.getCurrentSnapshot(conn, ns).getUsage();<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    LOG.info("Initial table size was " + actualInitialSize);<a name="line.213"></a>
+<span class="sourceLineNo">214</span><a name="line.214"></a>
+<span class="sourceLineNo">215</span>    LOG.info("Snapshot the table");<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    final String snapshot1 = tn.getQualifierAsString() + "_snapshot1";<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    admin.snapshot(snapshot1, tn);<a name="line.217"></a>
+<span class="sourceLineNo">218</span><a name="line.218"></a>
+<span class="sourceLineNo">219</span>    // Write the same data again, then flush+compact. This should make sure that<a name="line.219"></a>
+<span class="sourceLineNo">220</span>    // the snapshot is referencing files that the table no longer references.<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    LOG.info("Write more data");<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    helper.writeData(tn, initialSize);<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    LOG.info("Flush the table");<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    admin.flush(tn);<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    LOG.info("Synchronously compacting the table");<a name="line.225"></a>
+<span class="sourceLineNo">226</span>    TEST_UTIL.compact(tn, true);<a name="line.226"></a>
+<span class="sourceLineNo">227</span><a name="line.227"></a>
+<span class="sourceLineNo">228</span>    final long upperBound = initialSize + FUDGE_FOR_TABLE_SIZE;<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    final long lowerBound = initialSize - FUDGE_FOR_TABLE_SIZE;<a name="line.229"></a>
+<span class="sourceLineNo">230</span><a name="line.230"></a>
+<span class="sourceLineNo">231</span>    LOG.info("Waiting for the region reports to reflect the correct size, between ("<a name="line.231"></a>
+<span class="sourceLineNo">232</span>        + lowerBound + ", " + upperBound + ")");<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    TEST_UTIL.waitFor(30 * 1000, 500, new Predicate&lt;Exception&gt;() {<a name="line.233"></a>
+<span class="sourceLineNo">234</span>      @Override<a name="line.234"></a>
+<span class="sourceLineNo">235</span>      public boolean evaluate() throws Exception {<a name="line.235"></a>
+<span class="sourceLineNo">236</span>        Map&lt;TableName,Long&gt; sizes = QuotaTableUtil.getMasterReportedTableSizes(conn);<a name="line.236"></a>
+<span class="sourceLineNo">237</span>        LOG.debug("Master observed table sizes from region size reports: " + sizes);<a name="line.237"></a>
+<span class="sourceLineNo">238</span>        Long size = sizes.get(tn);<a name="line.238"></a>
+<span class="sourceLineNo">239</span>        if (null == size) {<a name="line.239"></a>
+<span class="sourceLineNo">240</span>          return false;<a name="line.240"></a>
+<span class="sourceLineNo">241</span>        }<a name="line.241"></a>
+<span class="sourceLineNo">242</span>        return size &lt; upperBound &amp;&amp; size &gt; lowerBound;<a name="line.242"></a>
+<span class="sourceLineNo">243</span>      }<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    });<a name="line.244"></a>
+<span class="sourceLineNo">245</span><a name="line.245"></a>
+<span class="sourceLineNo">246</span>    // Make sure we see the "final" new size for the table, not some intermediate<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    waitForStableRegionSizeReport(conn, tn);<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    final long finalSize = getRegionSizeReportForTable(conn, tn);<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    assertNotNull("Did not expect to see a null size", finalSize);<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    LOG.info("Final observed size of table: " + finalSize);<a name="line.250"></a>
+<span class="sourceLineNo">251</span><a name="line.251"></a>
+<span class="sourceLineNo">252</span>    // Make sure the QuotaObserverChore has time to reflect the new region size reports<a name="line.252"></a>
+<span class="sourceLineNo">253</span>    // (we saw above). The usage of the table should *not* decrease when we check it below,<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    // though, because the snapshot on our table will cause the table to "retain" the size.<a name="line.254"></a>
+<span class="sourceLineNo">255</span>    TEST_UTIL.waitFor(20 * 1000, 500, new SpaceQuotaSnapshotPredicate(conn, ns) {<a name="line.255"></a>
+<span class="sourceLineNo">256</span>      @Override<a name="line.256"></a>
+<span class="sourceLineNo">257</span>      public boolean evaluate(SpaceQuotaSnapshot snapshot) throws Exception {<a name="line.257"></a>
+<span class="sourceLineNo">258</span>        return snapshot.getUsage() &gt;= finalSize;<a name="line.258"></a>
+<span class="sourceLineNo">259</span>      }<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    });<a name="line.260"></a>
+<span class="sourceLineNo">261</span><a name="line.261"></a>
+<span class="sourceLineNo">262</span>    // The final usage should be the sum of the initial size (referenced by the snapshot) and the<a name="line.262"></a>
+<span class="sourceLineNo">263</span>    // new size we just wrote above.<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    long expectedFinalSize = actualInitialSize + finalSize;<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    LOG.info(<a name="line.265"></a>
+<span class="sourceLineNo">266</span>        "Expecting namespace usage to be " + actualInitialSize + " + " + finalSize<a name="line.266"></a>
+<span class="sourceLineNo">267</span>        + " = " + expectedFinalSize);<a name="line.267"></a>
+<span class="sourceLineNo">268</span>    // The size of the table (WRT quotas) should now be approximately double what it was previously<a name="line.268"></a>
+<span class="sourceLineNo">269</span>    TEST_UTIL.waitFor(30 * 1000, 1000, new SpaceQuotaSnapshotPredicate(conn, ns) {<a name="line.269"></a>
+<span class="sourceLineNo">270</span>      @Override boolean evaluate(SpaceQuotaSnapshot snapshot) throws Exception {<a name="line.270"></a>
+<span class="sourceLineNo">271</span>        LOG.debug("Checking for " + expectedFinalSize + " == " + snapshot.getUsage());<a name="line.271"></a>
+<span class="sourceLineNo">272</span>        return expectedFinalSize == snapshot.getUsage();<a name="line.272"></a>
+<span class="sourceLineNo">273</span>      }<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    });<a name="line.274"></a>
 <span class="sourceLineNo">275</span><a name="line.275"></a>
-<span class="sourceLineNo">276</span>    // 3MB limit on the table<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    final long tableLimit = 3L * SpaceQuotaHelperForTests.ONE_MEGABYTE;<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    TEST_UTIL.getAdmin().setQuota(QuotaSettingsFactory.limitTableSpace(tn, tableLimit, policy));<a name="line.278"></a>
-<span class="sourceLineNo">279</span><a name="line.279"></a>
-<span class="sourceLineNo">280</span>    LOG.info("Writing first data set");<a name="line.280"></a>
-<span class="sourceLineNo">281</span>    // Write more data than should be allowed and flush it to disk<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    helper.writeData(tn, 1L * SpaceQuotaHelperForTests.ONE_MEGABYTE, "q1");<a name="line.282"></a>
+<span class="sourceLineNo">276</span>    Map&lt;String,Long&gt; snapshotSizes = QuotaTableUtil.getObservedSnapshotSizes(conn);<a name="line.276"></a>
+<span class="sourceLineNo">277</span>    Long size = snapshotSizes.get(snapshot1);<a name="line.277"></a>
+<span class="sourceLineNo">278</span>    assertNotNull("Did not observe the size of the snapshot", size);<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    assertEquals(<a name="line.279"></a>
+<span class="sourceLineNo">280</span>        "The recorded size of the HBase snapshot was not the size we expected", actualInitialSize,<a name="line.280"></a>
+<span class="sourceLineNo">281</span>        size.longValue());<a name="line.281"></a>
+<span class="sourceLineNo">282</span>  }<a name="line.282"></a>
 <span class="sourceLineNo">283</span><a name="line.283"></a>
-<span class="sourceLineNo">284</span>    LOG.info("Creating snapshot");<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    TEST_UTIL.getAdmin().snapshot(tn.toString() + "snap1", tn, SnapshotType.FLUSH);<a name="line.285"></a>
-<span class="sourceLineNo">286</span><a name="line.286"></a>
-<span class="sourceLineNo">287</span>    LOG.info("Writing second data set");<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    // Write some more data<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    helper.writeData(tn, 1L * SpaceQuotaHelperForTests.ONE_MEGABYTE, "q2");<a name="line.289"></a>
-<span class="sourceLineNo">290</span><a name="line.290"></a>
-<span class="sourceLineNo">291</span>    LOG.info("Flushing and major compacting table");<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    // Compact the table to force the snapshot to own all of its files<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    TEST_UTIL.getAdmin().flush(tn);<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    TEST_UTIL.compact(tn, true);<a name="line.294"></a>
-<span class="sourceLineNo">295</span><a name="line.295"></a>
-<span class="sourceLineNo">296</span>    LOG.info("Checking for quota violation");<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    // Wait to observe the quota moving into violation<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    TEST_UTIL.waitFor(60_000, 1_000, new Predicate&lt;Exception&gt;() {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      @Override<a name="line.299"></a>
-<span class="sourceLineNo">300</span>      public boolean evaluate() throws Exception {<a name="line.300"></a>
-<span class="sourceLineNo">301</span>        Scan s = QuotaTableUtil.makeQuotaSnapshotScanForTable(tn);<a name="line.301"></a>
-<span class="sourceLineNo">302</span>        try (Table t = conn.getTable(QuotaTableUtil.QUOTA_TABLE_NAME)) {<a name="line.302"></a>
-<span class="sourceLineNo">303</span>          ResultScanner rs = t.getScanner(s);<a name="line.303"></a>
-<span class="sourceLineNo">304</span>          try {<a name="line.304"></a>
-<span class="sourceLineNo">305</span>            Result r = Iterables.getOnlyElement(rs);<a name="line.305"></a>
-<span class="sourceLineNo">306</span>            CellScanner cs = r.cellScanner();<a name="line.306"></a>
-<span class="sourceLineNo">307</span>            assertTrue(cs.advance());<a name="line.307"></a>
-<span class="sourceLineNo">308</span>            Cell c = cs.current();<a name="line.308"></a>
-<span class="sourceLineNo">309</span>            SpaceQuotaSnapshot snapshot = SpaceQuotaSnapshot.toSpaceQuotaSnapshot(<a name="line.309"></a>
-<span class="sourceLineNo">310</span>                QuotaProtos.SpaceQuotaSnapshot.parseFrom(<a name="line.310"></a>
-<span class="sourceLineNo">311</span>                  UnsafeByteOperations.unsafeWrap(<a name="line.311"></a>
-<span class="sourceLineNo">312</span>                      c.getValueArray(), c.getValueOffset(), c.getValueLength())));<a name="line.312"></a>
-<span class="sourceLineNo">313</span>            LOG.info(<a name="line.313"></a>
-<span class="sourceLineNo">314</span>                snapshot.getUsage() + "/" + snapshot.getLimit() + " " + snapshot.getQuotaStatus());<a name="line.314"></a>
-<span class="sourceLineNo">315</span>            // We expect to see the table move to violation<a name="line.315"></a>
-<span class="sourceLineNo">316</span>            return snapshot.getQuotaStatus().isInViolation();<a name="line.316"></a>
-<span class="sourceLineNo">317</span>          } finally {<a name="line.317"></a>
-<span class="sourceLineNo">318</span>            if (null != rs) {<a name="line.318"></a>
-<span class="sourceLineNo">319</span>              rs.close();<a name="line.319"></a>
-<span class="sourceLineNo">320</span>            }<a name="line.320"></a>
-<span class="sourceLineNo">321</span>          }<a name="line.321"></a>
-<span class="sourceLineNo">322</span>        }<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      }<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    });<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  }<a name="line.325"></a>
-<span class="sourceLineNo">326</span><a name="line.326"></a>
-<span class="sourceLineNo">327</span>  @Test<a name="line.327"></a>
-<span class="sourceLineNo">328</span>  public void testRematerializedTablesDoNoInheritSpace() throws Exception {<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    TableName tn = helper.createTableWithRegions(1);<a name="line.329"></a>
-<span class="sourceLineNo">330</span>    TableName tn2 = helper.getNextTableName();<a name="line.330"></a>
-<span class="sourceLineNo">331</span>    LOG.info("Writing data");<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    // Set a quota on both tables<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    QuotaSettings settings = QuotaSettingsFactory.limitTableSpace(<a name="line.333"></a>
-<span class="sourceLineNo">334</span>        tn, SpaceQuotaHelperForTests.ONE_GIGABYTE, SpaceViolationPolicy.NO_INSERTS);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>    admin.setQuota(settings);<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    QuotaSettings settings2 = QuotaSettingsFactory.limitTableSpace(<a name="line.336"></a>
-<span class="sourceLineNo">337</span>        tn2, SpaceQuotaHelperForTests.ONE_GIGABYTE, SpaceViolationPolicy.NO_INSERTS);<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    admin.setQuota(settings2);<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    // Write some data<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    final long initialSize = 2L * SpaceQuotaHelperForTests.ONE_MEGABYTE;<a name="line.340"></a>
-<span class="sourceLineNo">341</span>    helper.writeData(tn, initialSize);<a name="line.341"></a>
-<span class="sourceLineNo">342</span><a name="line.342"></a>
-<span class="sourceLineNo">343</span>    LOG.info("Waiting until table size reflects written data");<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    // Wait until that data is seen by the master<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    TEST_UTIL.waitFor(30 * 1000, 500, new SpaceQuotaSnapshotPredicate(conn, tn) {<a name="line.345"></a>
-<span class="sourceLineNo">346</span>      @Override boolean evaluate(SpaceQuotaSnapshot snapshot) throws Exception {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>        return snapshot.getUsage() &gt;= initialSize;<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      }<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    });<a name="line.349"></a>
-<span class="sourceLineNo">350</span><a name="line.350"></a>
-<span class="sourceLineNo">351</span>    // Make sure we see the final quota usage size<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    waitForStableQuotaSize(conn, tn, null);<a name="line.352"></a>
-<span class="sourceLineNo">353</span><a name="line.353"></a>
-<span class="sourceLineNo">354</span>    // The actual size on disk after we wrote our data the first time<a name="line.354"></a>
-<span class="sourceLineNo">355</span>    final long actualInitialSize = QuotaTableUtil.getCurrentSnapshot(conn, tn).getUsage();<a name="line.355"></a>
-<span class="sourceLineNo">356</span>    LOG.info("Initial table size was " + actualInitialSize);<a name="line.356"></a>
-<span class="sourceLineNo">357</span><a name="line.357"></a>
-<span class="sourceLineNo">358</span>    LOG.info("Snapshot the table");<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    final String snapshot1 = tn.toString() + "_snapshot1";<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    admin.snapshot(snapshot1, tn);<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span>    admin.cloneSnapshot(snapshot1, tn2);<a name="line.362"></a>
-<span class="sourceLineNo">363</span><a name="line.363"></a>
-<span class="sourceLineNo">364</span>    // Write some more data to the first table<a name="line.364"></a>
-<span class="sourceLineNo">365</span>    helper.writeData(tn, initialSize, "q2");<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    admin.flush(tn);<a name="line.366"></a>
+<span class="sourceLineNo">284</span>  @Test<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  public void testTablesWithSnapshots() throws Exception {<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    final Connection conn = TEST_UTIL.getConnection();<a name="line.286"></a>
+<span class="sourceLineNo">287</span>    final SpaceViolationPolicy policy = SpaceViolationPolicy.NO_INSERTS;<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    final TableName tn = helper.createTableWithRegions(10);<a name="line.288"></a>
+<span class="sourceLineNo">289</span><a name="line.289"></a>
+<span class="sourceLineNo">290</span>    // 3MB limit on the table<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    final long tableLimit = 3L * SpaceQuotaHelperForTests.ONE_MEGABYTE;<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    TEST_UTIL.getAdmin().setQuota(QuotaSettingsFactory.limitTableSpace(tn, tableLimit, policy));<a name="line.292"></a>
+<span class="sourceLineNo">293</span><a name="line.293"></a>
+<span class="sourceLineNo">294</span>    LOG.info("Writing first data set");<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    // Write more data than should be allowed and flush it to disk<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    helper.writeData(tn, 1L * SpaceQuotaHelperForTests.ONE_MEGABYTE, "q1");<a name="line.296"></a>
+<span class="sourceLineNo">297</span><a name="line.297"></a>
+<span class="sourceLineNo">298</span>    LOG.info("Creating snapshot");<a name="line.298"></a>
+<span class="sourceLineNo">299</span>    TEST_UTIL.getAdmin().snapshot(tn.toString() + "snap1", tn, SnapshotType.FLUSH);<a name="line.299"></a>
+<span class="sourceLineNo">300</span><a name="line.300"></a>
+<span class="sourceLineNo">301</span>    LOG.info("Writing second data set");<a name="line.301"></a>
+<span class="sourceLineNo">302</span>    // Write some more data<a name="line.302"></a>
+<span class="sourceLineNo">303</span>    helper.writeData(tn, 1L * SpaceQuotaHelperForTests.ONE_MEGABYTE, "q2");<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span>    LOG.info("Flushing and major compacting table");<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    // Compact the table to force the snapshot to own all of its files<a name="line.306"></a>
+<span class="sourceLineNo">307</span>    TEST_UTIL.getAdmin().flush(tn);<a name="line.307"></a>
+<span class="sourceLineNo">308</span>    TEST_UTIL.compact(tn, true);<a name="line.308"></a>
+<span class="sourceLineNo">309</span><a name="line.309"></a>
+<span class="sourceLineNo">310</span>    LOG.info("Checking for quota violation");<a name="line.310"></a>
+<span class="sourceLineNo">311</span>    // Wait to observe the quota moving into violation<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    TEST_UTIL.waitFor(60_000, 1_000, new Predicate&lt;Exception&gt;() {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>      @Override<a name="line.313"></a>
+<span class="sourceLineNo">314</span>      public boolean evaluate() throws Exception {<a name="line.314"></a>
+<span class="sourceLineNo">315</span>        Scan s = QuotaTableUtil.makeQuotaSnapshotScanForTable(tn);<a name="line.315"></a>
+<span class="sourceLineNo">316</span>        try (Table t = conn.getTable(QuotaTableUtil.QUOTA_TABLE_NAME)) {<a name="line.316"></a>
+<span class="sourceLineNo">317</span>          ResultScanner rs = t.getScanner(s);<a name="line.317"></a>
+<span class="sourceLineNo">318</span>          try {<a name="line.318"></a>
+<span class="sourceLineNo">319</span>            Result r = Iterables.getOnlyElement(rs);<a name="line.319"></a>
+<span class="sourceLineNo">320</span>            CellScanner cs = r.cellScanner();<a name="line.320"></a>
+<span class="sourceLineNo">321</span>            assertTrue(cs.advance());<a name="line.321"></a>
+<span class="sourceLineNo">322</span>            Cell c = cs.current();<a name="line.322"></a>
+<span class="sourceLineNo">323</span>            SpaceQuotaSnapshot snapshot = SpaceQuotaSnapshot.toSpaceQuotaSnapshot(<a name="line.323"></a>
+<span class="sourceLineNo">324</span>                QuotaProtos.SpaceQuotaSnapshot.parseFrom(<a name="line.324"></a>
+<span class="sourceLineNo">325</span>                  UnsafeByteOperations.unsafeWrap(<a name="line.325"></a>
+<span class="sourceLineNo">326</span>                      c.getValueArray(), c.getValueOffset(), c.getValueLength())));<a name="line.326"></a>
+<span class="sourceLineNo">327</span>            LOG.info(<a name="line.327"></a>
+<span class="sourceLineNo">328</span>                snapshot.getUsage() + "/" + snapshot.getLimit() + " " + snapshot.getQuotaStatus());<a name="line.328"></a>
+<span class="sourceLineNo">329</span>            // We expect to see the table move to violation<a name="line.329"></a>
+<span class="sourceLineNo">330</span>            return snapshot.getQuotaStatus().isInViolation();<a name="line.330"></a>
+<span class="sourceLineNo">331</span>          } finally {<a name="line.331"></a>
+<span class="sourceLineNo">332</span>            if (null != rs) {<a name="line.332"></a>
+<span class="sourceLineNo">333</span>              rs.close();<a name="line.333"></a>
+<span class="sourceLineNo">334</span>            }<a name="line.334"></a>
+<span class="sourceLineNo">335</span>          }<a name="line.335"></a>
+<span class="sourceLineNo">336</span>        }<a name="line.336"></a>
+<span class="sourceLineNo">337</span>      }<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    });<a name="line.338"></a>
+<span class="sourceLineNo">339</span>  }<a name="line.339"></a>
+<span class="sourceLineNo">340</span><a name="line.340"></a>
+<span class="sourceLineNo">341</span>  @Test<a name="line.341"></a>
+<span class="sourceLineNo">342</span>  public void testRematerializedTablesDoNoInheritSpace() throws Exception {<a name="line.342"></a>
+<span class="sourceLineNo">343</span>    TableName tn = helper.createTableWithRegions(1);<a name="line.343"></a>
+<span class="sourceLineNo">344</span>    TableName tn2 = helper.getNextTableName();<a name="line.344"></a>
+<span class="sourceLineNo">345</span>    LOG.info("Writing data");<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    // Set a quota on both tables<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    QuotaSettings settings = QuotaSettingsFactory.limitTableSpace(<a name="line.347"></a>
+<span class="sourceLineNo">348</span>        tn, SpaceQuotaHelperForTests.ONE_GIGABYTE, SpaceViolationPolicy.NO_INSERTS);<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    admin.setQuota(settings);<a name="line.349"></a>
+<span class="sourceLineNo">350</span>    QuotaSettings settings2 = QuotaSettingsFactory.limitTableSpace(<a name="line.350"></a>
+<span class="sourceLineNo">351</span>        tn2, SpaceQuotaHelperForTests.ONE_GIGABYTE, SpaceViolationPolicy.NO_INSERTS);<a name="line.351"></a>
+<span class="sourceLineNo">352</span>    admin.setQuota(settings2);<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    // Write some data<a name="line.353"></a>
+<span class="sourceLineNo">354</span>    final long initialSize = 2L * SpaceQuotaHelperForTests.ONE_MEGABYTE;<a name="line.354"></a>
+<span class="sourceLineNo">355</span>    helper.writeData(tn, initialSize);<a name="line.355"></a>
+<span class="sourceLineNo">356</span><a name="line.356"></a>
+<span class="sourceLineNo">357</span>    LOG.info("Waiting until table size reflects written data");<a name="line.357"></a>
+<span class="sourceLineNo">358</span>    // Wait until that data is seen by the master<a name="line.358"></a>
+<span class="sourceLineNo">359</span>    TEST_UTIL.waitFor(30 * 1000, 500, new SpaceQuotaSnapshotPredicate(conn, tn) {<a name="line.359"></a>
+<span class="sourceLineNo">360</span>      @Override boolean evaluate(SpaceQuotaSnapshot snapshot) throws Exception {<a name="line.360"></a>
+<span class="sourceLineNo">361</span>        return snapshot.getUsage() &gt;= initialSize;<a name="line.361"></a>
+<span class="sourceLineNo">362</span>      }<a name="line.362"></a>
+<span class="sourceLineNo">363</span>    });<a name="line.363"></a>
+<span class="sourceLineNo">364</span><a name="line.364"></a>
+<span class="sourceLineNo">365</span>    // Make sure we see the final quota usage size<a name="line.365"></a>
+<span class="sourceLineNo">366</span>    waitForStableQuotaSize(conn, tn, null);<a name="line.366"></a>
 <span class="sourceLineNo">367</span><a name="line.367"></a>
-<span class="sourceLineNo">368</span>    // Watch the usage of the first table with some more data to know when the new<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    // region size reports were sent to the master<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    TEST_UTIL.waitFor(30_000, 1_000, new SpaceQuotaSnapshotPredicate(conn, tn) {<a name="line.370"></a>
-<span class="sourceLineNo">371</span>      @Override<a name="line.371"></a>
-<span class="sourceLineNo">372</span>      boolean evaluate(SpaceQuotaSnapshot snapshot) throws Exception {<a name="line.372"></a>
-<span class="sourceLineNo">373</span>        return snapshot.getUsage() &gt;= actualInitialSize * 2;<a name="line.373"></a>
-<span class="sourceLineNo">374</span>      }<a name="line.374"></a>
-<span class="sourceLineNo">375</span>    });<a name="line.375"></a>
-<span class="sourceLineNo">376</span><a name="line.376"></a>
-<span class="sourceLineNo">377</span>    // We know that reports were sent by our RS, verify that they take up zero size.<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    SpaceQuotaSnapshot snapshot = QuotaTableUtil.getCurrentSnapshot(conn, tn2);<a name="line.378"></a>
-<span class="sourceLineNo">379</span>    assertNotNull(snapshot);<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    assertEquals(0, snapshot.getUsage());<a name="line.380"></a>
+<span class="sourceLineNo">368</span>    // The actual size on disk after we wrote our data the first time<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    final long actualInitialSize = QuotaTableUtil.getCurrentSnapshot(conn, tn).getUsage();<a name="line.369"></a>
+<span class="sourceLineNo">370</span>    LOG.info("Initial table size was " + actualInitialSize);<a name="line.370"></a>
+<span class="sourceLineNo">371</span><a name="line.371"></a>
+<span class="sourceLineNo">372</span>    LOG.info("Snapshot the table");<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    final String snapshot1 = tn.toString() + "_snapshot1";<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    admin.snapshot(snapshot1, tn);<a name="line.374"></a>
+<span class="sourceLineNo">375</span><a name="line.375"></a>
+<span class="sourceLineNo">376</span>    admin.cloneSnapshot(snapshot1, tn2);<a name="line.376"></a>
+<span class="sourceLineNo">377</span><a name="line.377"></a>
+<span class="sourceLineNo">378</span>    // Write some more data to the first table<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    helper.writeData(tn, initialSize, "q2");<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    admin.flush(tn);<a name="line.380"></a>
 <span class="sourceLineNo">381</span><a name="line.381"></a>
-<span class="sourceLineNo">382</span>    // Compact the cloned table to force it to own its own files.<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    TEST_UTIL.compact(tn2, true);<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    // After the table is compacted, it should have its own files and be the same size as originally<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    TEST_UTIL.waitFor(30_000, 1_000, new SpaceQuotaSnapshotPredicate(conn, tn2) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>      @Override<a name="line.386"></a>
-<span class="sourceLineNo">387</span>      boolean evaluate(SpaceQuotaSnapshot snapshot) throws Exception {<a name="line.387"></a>
-<span class="sourceLineNo">388</span>        return snapshot.getUsage() == actualInitialSize;<a name="line.388"></a>
-<span class="sourceLineNo">389</span>      }<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    });<a name="line.390"></a>
-<span class="sourceLineNo">391</span>  }<a name="line.391"></a>
-<span class="sourceLineNo">392</span><a name="line.392"></a>
-<span class="sourceLineNo">393</span>  void waitForStableQuotaSize(Connection conn, TableName tn, String ns) throws Exception {<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    // For some stability in the value before proceeding<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    // Helps make sure that we got the actual last value, not some inbetween<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    AtomicLong lastValue = new AtomicLong(-1);<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    AtomicInteger counter = new AtomicInteger(0);<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    TEST_UTIL.waitFor(15_000, 500, new SpaceQuotaSnapshotPredicate(conn, tn, ns) {<a name="line.398"></a>
-<span class="sourceLineNo">399</span>      @Override boolean evaluate(SpaceQuotaSnapshot snapshot) throws Exception {<a name="line.399"></a>
-<span class="sourceLineNo">400</span>        LOG.debug("Last observed size=" + lastValue.get());<a name="line.400"></a>
-<span class="sourceLineNo">401</span>        if (snapshot.getUsage() == lastValue.get()) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>          int numMatches = counter.incrementAndGet();<a name="line.402"></a>
-<span class="sourceLineNo">403</span>          if (numMatches &gt;= 5) {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>            return true;<a name="line.404"></a>
-<span class="sourceLineNo">405</span>          }<a name="line.405"></a>
-<span class="sourceLineNo">406</span>          // Not yet..<a name="line.406"></a>
-<span class="sourceLineNo">407</span>          return false;<a name="line.407"></a>
-<span class="sourceLineNo">408</span>        }<a name="line.408"></a>
-<span class="sourceLineNo">409</span>        counter.set(0);<a name="line.409"></a>
-<span class="sourceLineNo">410</span>        lastValue.set(snapshot.getUsage());<a name="line.410"></a>
-<span class="sourceLineNo">411</span>        return false;<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      }<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    });<a name="line.413"></a>
-<span class="sourceLineNo">414</span>  }<a name="line.414"></a>
-<span class="sourceLineNo">415</span><a name="line.415"></a>
-<span class="sourceLineNo">416</span>  long getRegionSizeReportForTable(Connection conn, TableName tn) throws IOException {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>    Map&lt;TableName,Long&gt; sizes = QuotaTableUtil.getMasterReportedTableSizes(conn);<a name="line.417"></a>
-<span class="sourceLineNo">418</span>    Long value = sizes.get(tn);<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    if (null == value) {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      return 0L;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
-<span class="sourceLineNo">422</span>    return value.longValue();<a name="line.422"></a>
-<span class="sourceLineNo">423</span>  }<a name="line.423"></a>
-<span class="sourceLineNo">424</span><a name="line.424"></a>
-<span class="sourceLineNo">425</span>  void waitForStableRegionSizeReport(Connection conn, TableName tn) throws Exception {<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    // For some stability in the value before proceeding<a name="line.426"></a>
-<span class="sourceLineNo">427</span>    // Helps make sure that we got the actual last value, not some inbetween<a name="line.427"></a>
-<span class="sourceLineNo">428</span>    AtomicLong lastValue = new AtomicLong(-1);<a name="line.428"></a>
-<span class="sourceLineNo">429</span>    AtomicInteger counter = new AtomicInteger(0);<a name="line.429"></a>
-<span class="sourceLineNo">430</span>    TEST_UTIL.waitFor(15_000, 500, new Predicate&lt;Exception&gt;() {<a name="line.430"></a>
-<span class="sourceLineNo">431</span>      @Override public boolean evaluate() throws Exception {<a name="line.431"></a>
-<span class="sourceLineNo">432</span>        LOG.debug("Last observed size=" + lastValue.get());<a name="line.432"></a>
-<span class="sourceLineNo">433</span>        long actual = getRegionSizeReportForTable(conn, tn);<a name="line.433"></a>
-<span class="sourceLineNo">434</span>        if (actual == lastValue.get()) {<a name="line.434"></a>
-<span class="sourceLineNo">435</span>          int numMatches = counter.incrementAndGet();<a name="line.435"></a>
-<span class="sourceLineNo">436</span>          if (numMatches &gt;= 5) {<a name="line.436"></a>
-<span class="sourceLineNo">437</span>            return true;<a name="line.437"></a>
-<span class="sourceLineNo">438</span>          }<a name="line.438"></a>
-<span class="sourceLineNo">439</span>          // Not yet..<a name="line.439"></a>
-<span class="sourceLineNo">440</span>          return false;<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        }<a name="line.441"></a>
-<span class="sourceLineNo">442</span>        counter.set(0);<a name="line.442"></a>
-<span class="sourceLineNo">443</span>        lastValue.set(actual);<a name="line.443"></a>
-<span class="sourceLineNo">444</span>        return false;<a name="line.444"></a>
-<span class="sourceLineNo">445</span>      }<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    });<a name="line.446"></a>
-<span class="sourceLineNo">447</span>  }<a name="line.447"></a>
-<span class="sourceLineNo">448</span>}<a name="line.448"></a>
+<span class="sourceLineNo">382</span>    // Watch the usage of the first table with some more data to know when the new<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    // region size reports were sent to the master<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    TEST_UTIL.waitFor(30_000, 1_000, new SpaceQuotaSnapshotPredicate(conn, tn) {<a name="line.384"></a>
+<span class="sourceLineNo">385</span>      @Override<a name="line.385"></a>
+<span class="sourceLineNo">386</span>      boolean evaluate(SpaceQuotaSnapshot snapshot) throws Exception {<a name="line.386"></a>
+<span class="sourceLineNo">387</span>        return snapshot.getUsage() &gt;= actualInitialSize * 2;<a name="line.387"></a>
+<span class="sourceLineNo">388</span>      }<a name="line.388"></a>
+<span class="sourceLineNo">389</span>    });<a name="line.389"></a>
+<span class="sourceLineNo">390</span><a name="line.390"></a>
+<span class="sourceLineNo">391</span>    // We know that reports were sent by our RS, verify that they take up zero size.<a name="line.391"></a>
+<span class="sourceLineNo">392</span>    SpaceQuotaSnapshot snapshot = QuotaTableUtil.getCurrentSnapshot(conn, tn2);<a name="line.392"></a>
+<span class="sourceLineNo">393</span>    assertNotNull(snapshot);<a name="line.393"></a>
+<span class="sourceLineNo">394</span>    assertEquals(0, snapshot.getUsage());<a name="line.394"></a>
+<span class="sourceLineNo">395</span><a name="line.395"></a>
+<span class="sourceLineNo">396</span>    // Compact the cloned table to force it to own its own files.<a name="line.396"></a>
+<span class="sourceLineNo">397</span>    TEST_UTIL.compact(tn2, true);<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    // After the table is compacted, it should have its own files and be the same size as originally<a name="line.398"></a>
+<span class="sourceLineNo">399</span>    TEST_UTIL.waitFor(30_000, 1_000, new SpaceQuotaSnapshotPredicate(conn, tn2) {<a name="line.399"></a>
+<span class="sourceLineNo">400</span>      @Override<a name="line.400"></a>
+<span class="sourceLineNo">401</span>      boolean evaluate(SpaceQuotaSnapshot snapshot) throws Exception {<a name="line.401"></a>
+<span class="sourceLineNo">402</span>        return snapshot.getUsage() == actualInitialSize;<a name="line.402"></a>
+<span class="sourceLineNo">403</span>      }<a name="line.403"></a>
+<span class="sourceLineNo">404</span>    });<a name="line.404"></a>
+<span class="sourceLineNo">405</span>  }<a name="line.405"></a>
+<span class="sourceLineNo">406</span><a name="line.406"></a>
+<span class="sourceLineNo">407</span>  void waitForStableQuotaSize(Connection conn, TableName tn, String ns) throws Exception {<a name="line.407"></a>
+<span class="sourceLineNo">408</span>    // For some stability in the value before proceeding<a name="line.408"></a>
+<span class="sourceLineNo">409</span>    // Helps make sure that we got the actual last value, not some inbetween<a name="line.409"></a>
+<span class="sourceLineNo">410</span>    AtomicLong lastValue = new AtomicLong(-1);<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    AtomicInteger counter = new AtomicInteger(0);<a name="line.411"></a>
+<span class="sourceLineNo">412</span>    TEST_UTIL.waitFor(15_000, 500, new SpaceQuotaSnapshotPredicate(conn, tn, ns) {<a name="line.412"></a>
+<span class="sourceLineNo">413</span>      @Override boolean evaluate(SpaceQuotaSnapshot snapshot) throws Exception {<a name="line.413"></a>
+<span class="sourceLineNo">414</span>        LOG.debug("Last observed size=" + lastValue.get());<a name="line.414"></a>
+<span class="sourceLineNo">415</span>        if (snapshot.getUsage() == lastValue.get()) {<a name="line.415"></a>
+<span class="sourceLineNo">416</span>          int numMatches = counter.incrementAndGet();<a name="line.416"></a>
+<span class="sourceLineNo">417</span>          if (numMatches &gt;= 5) {<a name="line.417"></a>
+<span class="sourceLineNo">418</span>            return true;<a name="line.418"></a>
+<span class="sourceLineNo">419</span>          }<a name="line.419"></a>
+<span class="sourceLineNo">420</span>          // Not yet..<a name="line.420"></a>
+<span class="sourceLineNo">421</span>          return false;<a name="line.421"></a>
+<span class="sourceLineNo">422</span>        }<a name="line.422"></a>
+<span class="sourceLineNo">423</span>        counter.set(0);<a name="line.423"></a>
+<span class="sourceLineNo">424</span>        lastValue.set(snapshot.getUsage());<a name="line.424"></a>
+<span class="sourceLineNo">425</span>        return false;<a name="line.425"></a>
+<span class="sourceLineNo">426</span>      }<a name="line.426"></a>
+<span class="sourceLineNo">427</span>    });<a name="line.427"></a>
+<span class="sourceLineNo">428</span>  }<a name="line.428"></a>
+<span class="sourceLineNo">429</span><a name="line.429"></a>
+<span class="sourceLineNo">430</span>  long getRegionSizeReportForTable(Connection conn, TableName tn) throws IOException {<a name="line.430"></a>
+<span class="sourceLineNo">431</span>    Map&lt;TableName,Long&gt; sizes = QuotaTableUtil.getMasterReportedTableSizes(conn);<a name="line.431"></a>
+<span class="sourceLineNo">432</span>    Long value = sizes.get(tn);<a name="line.432"></a>
+<span class="sourceLineNo">433</span>    if (null == value) {<a name="line.433"></a>
+<span class="sourceLineNo">434</span>      return 0L;<a name="line.434"></a>
+<span class="sourceLineNo">435</span>    }<a name="line.435"></a>
+<span class="sourceLineNo">436</span>    return value.longValue();<a name="line.436"></a>
+<span class="sourceLineNo">437</span>  }<a name="line.437"></a>
+<span class="sourceLineNo">438</span><a name="line.438"></a>
+<span class="sourceLineNo">439</span>  void waitForStableRegionSizeReport(Connection conn, TableName tn) throws Exception {<a name="line.439"></a>
+<span class="sourceLineNo">440</span>    // For some stability in the value before proceeding<a name="line.440"></a>
+<span class="sourceLineNo">441</span>    // Helps make sure that we got the actual last value, not some inbetween<a name="line.441"></a>
+<span class="sourceLineNo">442</span>    AtomicLong lastValue = new AtomicLong(-1);<a name="line.442"></a>
+<span class="sourceLineNo">443</span>    AtomicInteger counter = new AtomicInteger(0);<a name="line.443"></a>
+<span class="sourceLineNo">444</span>    TEST_UTIL.waitFor(15_000, 500, new Predicate&lt;Exception&gt;() {<a name="line.444"></a>
+<span class="sourceLineNo">445</span>      @Override public boolean evaluate() throws Exception {<a name="line.445"></a>
+<span class="sourceLineNo">446</span>        LOG.debug("Last observed size=" + lastValue.get());<a name="line.446"></a>
+<span class="sourceLineNo">447</span>        long actual = getRegionSizeReportForTable(conn, tn);<a name="line.447"></a>
+<span class="sourceLineNo">448</span>        if (actual == lastValue.get()) {<a name="line.448"></a>
+<span class="sourceLineNo">449</span>          int numMatches = counter.incrementAndGet();<a name="line.449"></a>
+<span class="sourceLineNo">450</span>          if (numMatches &gt;= 5) {<a name="line.450"></a>
+<span class="sourceLineNo">451</span>            return true;<a name="line.451"></a>
+<span class="sourceLineNo">452</span>          }<a name="line.452"></a>
+<span class="sourceLineNo">453</span>          // Not yet..<a name="line.453"></a>
+<span class="sourceLineNo">454</span>          return false;<a name="line.454"></a>
+<span class="sourceLineNo">455</span>        }<a name="line.455"></a>
+<span class="sourceLineNo">456</span>        counter.set(0);<a name="line.456"></a>
+<span class="sourceLineNo">457</span>        lastValue.set(actual);<a name="line.457"></a>
+<span class="sourceLineNo">458</span>        return false;<a name="line.458"></a>
+<span class="sourceLineNo">459</span>      }<a name="line.459"></a>
+<span class="sourceLineNo">460</span>    });<a name="line.460"></a>
+<span class="sourceLineNo">461</span>  }<a name="line.461"></a>
+<span class="sourceLineNo">462</span>}<a name="line.462"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/testdevapidocs/src-html/org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html
index 0e921f9..19f2eb3 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html
@@ -36,81 +36,145 @@
 <span class="sourceLineNo">028</span><a name="line.28"></a>
 <span class="sourceLineNo">029</span>import org.apache.commons.logging.Log;<a name="line.29"></a>
 <span class="sourceLineNo">030</span>import org.apache.commons.logging.LogFactory;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.HBaseTestingUtility;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.testclassification.MediumTests;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.testclassification.RegionServerTests;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.zookeeper.ZKUtil;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.junit.Test;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.junit.experimental.categories.Category;<a name="line.37"></a>
-<span class="sourceLineNo">038</span><a name="line.38"></a>
-<span class="sourceLineNo">039</span>/**<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * Tests for the hostname specification by region server<a name="line.40"></a>
-<span class="sourceLineNo">041</span> */<a name="line.41"></a>
-<span class="sourceLineNo">042</span>@Category({RegionServerTests.class, MediumTests.class})<a name="line.42"></a>
-<span class="sourceLineNo">043</span>public class TestRegionServerHostname {<a name="line.43"></a>
-<span class="sourceLineNo">044</span>  private static final Log LOG = LogFactory.getLog(TestRegionServerHostname.class);<a name="line.44"></a>
-<span class="sourceLineNo">045</span>  private static final HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();<a name="line.45"></a>
-<span class="sourceLineNo">046</span><a name="line.46"></a>
-<span class="sourceLineNo">047</span>  @Test (timeout=30000)<a name="line.47"></a>
-<span class="sourceLineNo">048</span>  public void testInvalidRegionServerHostnameAbortsServer() throws Exception {<a name="line.48"></a>
-<span class="sourceLineNo">049</span>    final int NUM_MASTERS = 1;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>    final int NUM_RS = 1;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>    String invalidHostname = "hostAddr.invalid";<a name="line.51"></a>
-<span class="sourceLineNo">052</span>    TEST_UTIL.getConfiguration().set(HRegionServer.RS_HOSTNAME_KEY, invalidHostname);<a name="line.52"></a>
-<span class="sourceLineNo">053</span>    try {<a name="line.53"></a>
-<span class="sourceLineNo">054</span>      TEST_UTIL.startMiniCluster(NUM_MASTERS, NUM_RS);<a name="line.54"></a>
-<span class="sourceLineNo">055</span>    } catch (IOException ioe) {<a name="line.55"></a>
-<span class="sourceLineNo">056</span>      Throwable t1 = ioe.getCause();<a name="line.56"></a>
-<span class="sourceLineNo">057</span>      Throwable t2 = t1.getCause();<a name="line.57"></a>
-<span class="sourceLineNo">058</span>      assertTrue(t1.getMessage() + " - " + t2.getMessage(),<a name="line.58"></a>
-<span class="sourceLineNo">059</span>        t2.getMessage().contains("Failed resolve of " + invalidHostname) ||<a name="line.59"></a>
-<span class="sourceLineNo">060</span>        t2.getMessage().contains("Problem binding to " + invalidHostname));<a name="line.60"></a>
-<span class="sourceLineNo">061</span>      return;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>    } finally {<a name="line.62"></a>
-<span class="sourceLineNo">063</span>      TEST_UTIL.shutdownMiniCluster();<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    }<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    assertTrue("Failed to validate against invalid hostname", false);<a name="line.65"></a>
-<span class="sourceLineNo">066</span>  }<a name="line.66"></a>
-<span class="sourceLineNo">067</span><a name="line.67"></a>
-<span class="sourceLineNo">068</span>  @Test(timeout=120000)<a name="line.68"></a>
-<span class="sourceLineNo">069</span>  public void testRegionServerHostname() throws Exception {<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    final int NUM_MASTERS = 1;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    final int NUM_RS = 1;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    Enumeration&lt;NetworkInterface&gt; netInterfaceList = NetworkInterface.getNetworkInterfaces();<a name="line.72"></a>
-<span class="sourceLineNo">073</span><a name="line.73"></a>
-<span class="sourceLineNo">074</span>    while (netInterfaceList.hasMoreElements()) {<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      NetworkInterface ni = netInterfaceList.nextElement();<a name="line.75"></a>
-<span class="sourceLineNo">076</span>      Enumeration&lt;InetAddress&gt; addrList = ni.getInetAddresses();<a name="line.76"></a>
-<span class="sourceLineNo">077</span>      // iterate through host addresses and use each as hostname<a name="line.77"></a>
-<span class="sourceLineNo">078</span>      while (addrList.hasMoreElements()) {<a name="line.78"></a>
-<span class="sourceLineNo">079</span>        InetAddress addr = addrList.nextElement();<a name="line.79"></a>
-<span class="sourceLineNo">080</span>        if (addr.isLoopbackAddress() || addr.isLinkLocalAddress() || addr.isMulticastAddress()) {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>          continue;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>        }<a name="line.82"></a>
-<span class="sourceLineNo">083</span>        String hostName = addr.getHostName();<a name="line.83"></a>
-<span class="sourceLineNo">084</span>        LOG.info("Found " + hostName + " on " + ni);<a name="line.84"></a>
-<span class="sourceLineNo">085</span>        <a name="line.85"></a>
-<span class="sourceLineNo">086</span>        TEST_UTIL.getConfiguration().set(HRegionServer.MASTER_HOSTNAME_KEY, hostName);<a name="line.86"></a>
-<span class="sourceLineNo">087</span>        TEST_UTIL.getConfiguration().set(HRegionServer.RS_HOSTNAME_KEY, hostName);<a name="line.87"></a>
-<span class="sourceLineNo">088</span>        TEST_UTIL.startMiniCluster(NUM_MASTERS, NUM_RS);<a name="line.88"></a>
-<span class="sourceLineNo">089</span>        try {<a name="line.89"></a>
-<span class="sourceLineNo">090</span>          ZooKeeperWatcher zkw = TEST_UTIL.getZooKeeperWatcher();<a name="line.90"></a>
-<span class="sourceLineNo">091</span>          List&lt;String&gt; servers = ZKUtil.listChildrenNoWatch(zkw, zkw.znodePaths.rsZNode);<a name="line.91"></a>
-<span class="sourceLineNo">092</span>          // there would be NUM_RS+1 children - one for the master<a name="line.92"></a>
-<span class="sourceLineNo">093</span>          assertTrue(servers.size() == NUM_RS+1);<a name="line.93"></a>
-<span class="sourceLineNo">094</span>          for (String server : servers) {<a name="line.94"></a>
-<span class="sourceLineNo">095</span>            assertTrue("From zookeeper: " + server + " hostname: " + hostName,<a name="line.95"></a>
-<span class="sourceLineNo">096</span>              server.startsWith(hostName.toLowerCase(Locale.ROOT)+","));<a name="line.96"></a>
-<span class="sourceLineNo">097</span>          }<a name="line.97"></a>
-<span class="sourceLineNo">098</span>          zkw.close();<a name="line.98"></a>
-<span class="sourceLineNo">099</span>        } finally {<a name="line.99"></a>
-<span class="sourceLineNo">100</span>          TEST_UTIL.shutdownMiniCluster();<a name="line.100"></a>
-<span class="sourceLineNo">101</span>        }<a name="line.101"></a>
-<span class="sourceLineNo">102</span>      }<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    }<a name="line.103"></a>
-<span class="sourceLineNo">104</span>  }<a name="line.104"></a>
-<span class="sourceLineNo">105</span>}<a name="line.105"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.conf.Configuration;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.HBaseTestingUtility;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.testclassification.MediumTests;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.testclassification.RegionServerTests;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.zookeeper.ZKUtil;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.junit.Test;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.junit.experimental.categories.Category;<a name="line.39"></a>
+<span class="sourceLineNo">040</span><a name="line.40"></a>
+<span class="sourceLineNo">041</span>/**<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * Tests for the hostname specification by region server<a name="line.42"></a>
+<span class="sourceLineNo">043</span> */<a name="line.43"></a>
+<span class="sourceLineNo">044</span>@Category({RegionServerTests.class, MediumTests.class})<a name="line.44"></a>
+<span class="sourceLineNo">045</span>public class TestRegionServerHostname {<a name="line.45"></a>
+<span class="sourceLineNo">046</span>  private static final Log LOG = LogFactory.getLog(TestRegionServerHostname.class);<a name="line.46"></a>
+<span class="sourceLineNo">047</span><a name="line.47"></a>
+<span class="sourceLineNo">048</span>  @Test (timeout=30000)<a name="line.48"></a>
+<span class="sourceLineNo">049</span>  public void testInvalidRegionServerHostnameAbortsServer() throws Exception {<a name="line.49"></a>
+<span class="sourceLineNo">050</span>    final int NUM_MASTERS = 1;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>    final int NUM_RS = 1;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>    String invalidHostname = "hostAddr.invalid";<a name="line.52"></a>
+<span class="sourceLineNo">053</span>    Configuration conf = HBaseConfiguration.create();<a name="line.53"></a>
+<span class="sourceLineNo">054</span>    HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility(conf);<a name="line.54"></a>
+<span class="sourceLineNo">055</span>    TEST_UTIL.getConfiguration().set(HRegionServer.RS_HOSTNAME_KEY, invalidHostname);<a name="line.55"></a>
+<span class="sourceLineNo">056</span>    try {<a name="line.56"></a>
+<span class="sourceLineNo">057</span>      TEST_UTIL.startMiniCluster(NUM_MASTERS, NUM_RS);<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    } catch (IOException ioe) {<a name="line.58"></a>
+<span class="sourceLineNo">059</span>      Throwable t1 = ioe.getCause();<a name="line.59"></a>
+<span class="sourceLineNo">060</span>      Throwable t2 = t1.getCause();<a name="line.60"></a>
+<span class="sourceLineNo">061</span>      assertTrue(t1.getMessage() + " - " + t2.getMessage(),<a name="line.61"></a>
+<span class="sourceLineNo">062</span>        t2.getMessage().contains("Failed resolve of " + invalidHostname) ||<a name="line.62"></a>
+<span class="sourceLineNo">063</span>        t2.getMessage().contains("Problem binding to " + invalidHostname));<a name="line.63"></a>
+<span class="sourceLineNo">064</span>      return;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    } finally {<a name="line.65"></a>
+<span class="sourceLineNo">066</span>      TEST_UTIL.shutdownMiniCluster();<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    }<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    assertTrue("Failed to validate against invalid hostname", false);<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  }<a name="line.69"></a>
+<span class="sourceLineNo">070</span><a name="line.70"></a>
+<span class="sourceLineNo">071</span>  @Test(timeout=120000)<a name="line.71"></a>
+<span class="sourceLineNo">072</span>  public void testRegionServerHostname() throws Exception {<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    final int NUM_MASTERS = 1;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>    final int NUM_RS = 1;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>    Enumeration&lt;NetworkInterface&gt; netInterfaceList = NetworkInterface.getNetworkInterfaces();<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    Configuration conf = HBaseConfiguration.create();<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility(conf);<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    while (netInterfaceList.hasMoreElements()) {<a name="line.78"></a>
+<span class="sourceLineNo">079</span>      NetworkInterface ni = netInterfaceList.nextElement();<a name="line.79"></a>
+<span class="sourceLineNo">080</span>      Enumeration&lt;InetAddress&gt; addrList = ni.getInetAddresses();<a name="line.80"></a>
+<span class="sourceLineNo">081</span>      // iterate through host addresses and use each as hostname<a name="line.81"></a>
+<span class="sourceLineNo">082</span>      while (addrList.hasMoreElements()) {<a name="line.82"></a>
+<span class="sourceLineNo">083</span>        InetAddress addr = addrList.nextElement();<a name="line.83"></a>
+<span class="sourceLineNo">084</span>        if (addr.isLoopbackAddress() || addr.isLinkLocalAddress() || addr.isMulticastAddress()) {<a name="line.84"></a>
+<span class="sourceLineNo">085</span>          continue;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>        }<a name="line.86"></a>
+<span class="sourceLineNo">087</span>        String hostName = addr.getHostName();<a name="line.87"></a>
+<span class="sourceLineNo">088</span>        LOG.info("Found " + hostName + " on " + ni);<a name="line.88"></a>
+<span class="sourceLineNo">089</span><a name="line.89"></a>
+<span class="sourceLineNo">090</span>        TEST_UTIL.getConfiguration().set(HRegionServer.MASTER_HOSTNAME_KEY, hostName);<a name="line.90"></a>
+<span class="sourceLineNo">091</span>        TEST_UTIL.getConfiguration().set(HRegionServer.RS_HOSTNAME_KEY, hostName);<a name="line.91"></a>
+<span class="sourceLineNo">092</span>        TEST_UTIL.startMiniCluster(NUM_MASTERS, NUM_RS);<a name="line.92"></a>
+<span class="sourceLineNo">093</span>        try {<a name="line.93"></a>
+<span class="sourceLineNo">094</span>          ZooKeeperWatcher zkw = TEST_UTIL.getZooKeeperWatcher();<a name="line.94"></a>
+<span class="sourceLineNo">095</span>          List&lt;String&gt; servers = ZKUtil.listChildrenNoWatch(zkw, zkw.znodePaths.rsZNode);<a name="line.95"></a>
+<span class="sourceLineNo">096</span>          // there would be NUM_RS+1 children - one for the master<a name="line.96"></a>
+<span class="sourceLineNo">097</span>          assertTrue(servers.size() == NUM_RS+1);<a name="line.97"></a>
+<span class="sourceLineNo">098</span>          for (String server : servers) {<a name="line.98"></a>
+<span class="sourceLineNo">099</span>            assertTrue("From zookeeper: " + server + " hostname: " + hostName,<a name="line.99"></a>
+<span class="sourceLineNo">100</span>              server.startsWith(hostName.toLowerCase(Locale.ROOT)+","));<a name="line.100"></a>
+<span class="sourceLineNo">101</span>          }<a name="line.101"></a>
+<span class="sourceLineNo">102</span>          zkw.close();<a name="line.102"></a>
+<span class="sourceLineNo">103</span>        } finally {<a name="line.103"></a>
+<span class="sourceLineNo">104</span>          TEST_UTIL.shutdownMiniCluster();<a name="line.104"></a>
+<span class="sourceLineNo">105</span>        }<a name="line.105"></a>
+<span class="sourceLineNo">106</span>      }<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    }<a name="line.107"></a>
+<span class="sourceLineNo">108</span>  }<a name="line.108"></a>
+<span class="sourceLineNo">109</span><a name="line.109"></a>
+<span class="sourceLineNo">110</span>  @Test(timeout=30000)<a name="line.110"></a>
+<span class="sourceLineNo">111</span>  public void testConflictRegionServerHostnameConfigurationsAbortServer() throws Exception {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    final int NUM_MASTERS = 1;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    final int NUM_RS = 1;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    Enumeration&lt;NetworkInterface&gt; netInterfaceList = NetworkInterface.getNetworkInterfaces();<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    Configuration conf = HBaseConfiguration.create();<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility(conf);<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    while (netInterfaceList.hasMoreElements()) {<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      NetworkInterface ni = netInterfaceList.nextElement();<a name="line.118"></a>
+<span class="sourceLineNo">119</span>      Enumeration&lt;InetAddress&gt; addrList = ni.getInetAddresses();<a name="line.119"></a>
+<span class="sourceLineNo">120</span>      // iterate through host addresses and use each as hostname<a name="line.120"></a>
+<span class="sourceLineNo">121</span>      while (addrList.hasMoreElements()) {<a name="line.121"></a>
+<span class="sourceLineNo">122</span>        InetAddress addr = addrList.nextElement();<a name="line.122"></a>
+<span class="sourceLineNo">123</span>        if (addr.isLoopbackAddress() || addr.isLinkLocalAddress() || addr.isMulticastAddress()) {<a name="line.123"></a>
+<span class="sourceLineNo">124</span>          continue;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>        }<a name="line.125"></a>
+<span class="sourceLineNo">126</span>        String hostName = addr.getHostName();<a name="line.126"></a>
+<span class="sourceLineNo">127</span>        LOG.info("Found " + hostName + " on " + ni);<a name="line.127"></a>
+<span class="sourceLineNo">128</span><a name="line.128"></a>
+<span class="sourceLineNo">129</span>        TEST_UTIL.getConfiguration().set(HRegionServer.MASTER_HOSTNAME_KEY, hostName);<a name="line.129"></a>
+<span class="sourceLineNo">130</span>        // "hbase.regionserver.hostname" and "hbase.regionserver.hostname.disable.master.reversedns"<a name="line.130"></a>
+<span class="sourceLineNo">131</span>        // are mutually exclusive. Exception should be thrown if both are used.<a name="line.131"></a>
+<span class="sourceLineNo">132</span>        TEST_UTIL.getConfiguration().set(HRegionServer.RS_HOSTNAME_KEY, hostName);<a name="line.132"></a>
+<span class="sourceLineNo">133</span>        TEST_UTIL.getConfiguration().setBoolean(HRegionServer.RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY, true);<a name="line.133"></a>
+<span class="sourceLineNo">134</span>        try {<a name="line.134"></a>
+<span class="sourceLineNo">135</span>          TEST_UTIL.startMiniCluster(NUM_MASTERS, NUM_RS);<a name="line.135"></a>
+<span class="sourceLineNo">136</span>        } catch (Exception e) {<a name="line.136"></a>
+<span class="sourceLineNo">137</span>          Throwable t1 = e.getCause();<a name="line.137"></a>
+<span class="sourceLineNo">138</span>          Throwable t2 = t1.getCause();<a name="line.138"></a>
+<span class="sourceLineNo">139</span>          assertTrue(t1.getMessage()+" - "+t2.getMessage(), t2.getMessage().contains(<a name="line.139"></a>
+<span class="sourceLineNo">140</span>            HRegionServer.RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY + " and " + HRegionServer.RS_HOSTNAME_KEY +<a name="line.140"></a>
+<span class="sourceLineNo">141</span>            " are mutually exclusive"));<a name="line.141"></a>
+<span class="sourceLineNo">142</span>          return;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>        } finally {<a name="line.143"></a>
+<span class="sourceLineNo">144</span>          TEST_UTIL.shutdownMiniCluster();<a name="line.144"></a>
+<span class="sourceLineNo">145</span>        }<a name="line.145"></a>
+<span class="sourceLineNo">146</span>        assertTrue("Failed to validate against conflict hostname configurations", false);<a name="line.146"></a>
+<span class="sourceLineNo">147</span>      }<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    }<a name="line.148"></a>
+<span class="sourceLineNo">149</span>  }<a name="line.149"></a>
+<span class="sourceLineNo">150</span><a name="line.150"></a>
+<span class="sourceLineNo">151</span>  @Test(timeout=30000)<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  public void testRegionServerHostnameReportedToMaster() throws Exception {<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    final int NUM_MASTERS = 1;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    final int NUM_RS = 1;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    Configuration conf = HBaseConfiguration.create();<a name="line.155"></a>
+<span class="sourceLineNo">156</span>    HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility(conf);<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    TEST_UTIL.getConfiguration().setBoolean(HRegionServer.RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY, true);<a name="line.157"></a>
+<span class="sourceLineNo">158</span>    TEST_UTIL.startMiniCluster(NUM_MASTERS, NUM_RS);<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    try {<a name="line.159"></a>
+<span class="sourceLineNo">160</span>      ZooKeeperWatcher zkw = TEST_UTIL.getZooKeeperWatcher();<a name="line.160"></a>
+<span class="sourceLineNo">161</span>      List&lt;String&gt; servers = ZKUtil.listChildrenNoWatch(zkw, zkw.znodePaths.rsZNode);<a name="line.161"></a>
+<span class="sourceLineNo">162</span>      // there would be NUM_RS+1 children - one for the master<a name="line.162"></a>
+<span class="sourceLineNo">163</span>      assertTrue(servers.size() == NUM_RS+1);<a name="line.163"></a>
+<span class="sourceLineNo">164</span>      zkw.close();<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    } finally {<a name="line.165"></a>
+<span class="sourceLineNo">166</span>      TEST_UTIL.shutdownMiniCluster();<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    }<a name="line.167"></a>
+<span class="sourceLineNo">168</span>  }<a name="line.168"></a>
+<span class="sourceLineNo">169</span>}<a name="line.169"></a>
 
 
 


[10/26] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html
index e1e4110..c46e8c5 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html
@@ -458,3282 +458,3297 @@
 <span class="sourceLineNo">450</span>  @InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CONFIG)<a name="line.450"></a>
 <span class="sourceLineNo">451</span>  protected final static String MASTER_HOSTNAME_KEY = "hbase.master.hostname";<a name="line.451"></a>
 <span class="sourceLineNo">452</span><a name="line.452"></a>
-<span class="sourceLineNo">453</span>  /**<a name="line.453"></a>
-<span class="sourceLineNo">454</span>   * This servers startcode.<a name="line.454"></a>
-<span class="sourceLineNo">455</span>   */<a name="line.455"></a>
-<span class="sourceLineNo">456</span>  protected final long startcode;<a name="line.456"></a>
+<span class="sourceLineNo">453</span>  // HBASE-18226: This config and hbase.regionserver.hostname are mutually exclusive.<a name="line.453"></a>
+<span class="sourceLineNo">454</span>  // Exception will be thrown if both are used.<a name="line.454"></a>
+<span class="sourceLineNo">455</span>  final static String RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY =<a name="line.455"></a>
+<span class="sourceLineNo">456</span>    "hbase.regionserver.hostname.disable.master.reversedns";<a name="line.456"></a>
 <span class="sourceLineNo">457</span><a name="line.457"></a>
 <span class="sourceLineNo">458</span>  /**<a name="line.458"></a>
-<span class="sourceLineNo">459</span>   * Unique identifier for the cluster we are a part of.<a name="line.459"></a>
+<span class="sourceLineNo">459</span>   * This servers startcode.<a name="line.459"></a>
 <span class="sourceLineNo">460</span>   */<a name="line.460"></a>
-<span class="sourceLineNo">461</span>  private String clusterId;<a name="line.461"></a>
+<span class="sourceLineNo">461</span>  protected final long startcode;<a name="line.461"></a>
 <span class="sourceLineNo">462</span><a name="line.462"></a>
 <span class="sourceLineNo">463</span>  /**<a name="line.463"></a>
-<span class="sourceLineNo">464</span>   * MX Bean for RegionServerInfo<a name="line.464"></a>
+<span class="sourceLineNo">464</span>   * Unique identifier for the cluster we are a part of.<a name="line.464"></a>
 <span class="sourceLineNo">465</span>   */<a name="line.465"></a>
-<span class="sourceLineNo">466</span>  private ObjectName mxBean = null;<a name="line.466"></a>
+<span class="sourceLineNo">466</span>  private String clusterId;<a name="line.466"></a>
 <span class="sourceLineNo">467</span><a name="line.467"></a>
 <span class="sourceLineNo">468</span>  /**<a name="line.468"></a>
-<span class="sourceLineNo">469</span>   * Chore to clean periodically the moved region list<a name="line.469"></a>
+<span class="sourceLineNo">469</span>   * MX Bean for RegionServerInfo<a name="line.469"></a>
 <span class="sourceLineNo">470</span>   */<a name="line.470"></a>
-<span class="sourceLineNo">471</span>  private MovedRegionsCleaner movedRegionsCleaner;<a name="line.471"></a>
+<span class="sourceLineNo">471</span>  private ObjectName mxBean = null;<a name="line.471"></a>
 <span class="sourceLineNo">472</span><a name="line.472"></a>
-<span class="sourceLineNo">473</span>  // chore for refreshing store files for secondary regions<a name="line.473"></a>
-<span class="sourceLineNo">474</span>  private StorefileRefresherChore storefileRefresher;<a name="line.474"></a>
-<span class="sourceLineNo">475</span><a name="line.475"></a>
-<span class="sourceLineNo">476</span>  private RegionServerCoprocessorHost rsHost;<a name="line.476"></a>
+<span class="sourceLineNo">473</span>  /**<a name="line.473"></a>
+<span class="sourceLineNo">474</span>   * Chore to clean periodically the moved region list<a name="line.474"></a>
+<span class="sourceLineNo">475</span>   */<a name="line.475"></a>
+<span class="sourceLineNo">476</span>  private MovedRegionsCleaner movedRegionsCleaner;<a name="line.476"></a>
 <span class="sourceLineNo">477</span><a name="line.477"></a>
-<span class="sourceLineNo">478</span>  private RegionServerProcedureManagerHost rspmHost;<a name="line.478"></a>
-<span class="sourceLineNo">479</span><a name="line.479"></a>
-<span class="sourceLineNo">480</span>  private RegionServerRpcQuotaManager rsQuotaManager;<a name="line.480"></a>
-<span class="sourceLineNo">481</span>  private RegionServerSpaceQuotaManager rsSpaceQuotaManager;<a name="line.481"></a>
+<span class="sourceLineNo">478</span>  // chore for refreshing store files for secondary regions<a name="line.478"></a>
+<span class="sourceLineNo">479</span>  private StorefileRefresherChore storefileRefresher;<a name="line.479"></a>
+<span class="sourceLineNo">480</span><a name="line.480"></a>
+<span class="sourceLineNo">481</span>  private RegionServerCoprocessorHost rsHost;<a name="line.481"></a>
 <span class="sourceLineNo">482</span><a name="line.482"></a>
-<span class="sourceLineNo">483</span>  /**<a name="line.483"></a>
-<span class="sourceLineNo">484</span>   * Nonce manager. Nonces are used to make operations like increment and append idempotent<a name="line.484"></a>
-<span class="sourceLineNo">485</span>   * in the case where client doesn't receive the response from a successful operation and<a name="line.485"></a>
-<span class="sourceLineNo">486</span>   * retries. We track the successful ops for some time via a nonce sent by client and handle<a name="line.486"></a>
-<span class="sourceLineNo">487</span>   * duplicate operations (currently, by failing them; in future we might use MVCC to return<a name="line.487"></a>
-<span class="sourceLineNo">488</span>   * result). Nonces are also recovered from WAL during, recovery; however, the caveats (from<a name="line.488"></a>
-<span class="sourceLineNo">489</span>   * HBASE-3787) are:<a name="line.489"></a>
-<span class="sourceLineNo">490</span>   * - WAL recovery is optimized, and under high load we won't read nearly nonce-timeout worth<a name="line.490"></a>
-<span class="sourceLineNo">491</span>   *   of past records. If we don't read the records, we don't read and recover the nonces.<a name="line.491"></a>
-<span class="sourceLineNo">492</span>   *   Some WALs within nonce-timeout at recovery may not even be present due to rolling/cleanup.<a name="line.492"></a>
-<span class="sourceLineNo">493</span>   * - There's no WAL recovery during normal region move, so nonces will not be transfered.<a name="line.493"></a>
-<span class="sourceLineNo">494</span>   * We can have separate additional "Nonce WAL". It will just contain bunch of numbers and<a name="line.494"></a>
-<span class="sourceLineNo">495</span>   * won't be flushed on main path - because WAL itself also contains nonces, if we only flush<a name="line.495"></a>
-<span class="sourceLineNo">496</span>   * it before memstore flush, for a given nonce we will either see it in the WAL (if it was<a name="line.496"></a>
-<span class="sourceLineNo">497</span>   * never flushed to disk, it will be part of recovery), or we'll see it as part of the nonce<a name="line.497"></a>
-<span class="sourceLineNo">498</span>   * log (or both occasionally, which doesn't matter). Nonce log file can be deleted after the<a name="line.498"></a>
-<span class="sourceLineNo">499</span>   * latest nonce in it expired. It can also be recovered during move.<a name="line.499"></a>
-<span class="sourceLineNo">500</span>   */<a name="line.500"></a>
-<span class="sourceLineNo">501</span>  final ServerNonceManager nonceManager;<a name="line.501"></a>
-<span class="sourceLineNo">502</span><a name="line.502"></a>
-<span class="sourceLineNo">503</span>  private UserProvider userProvider;<a name="line.503"></a>
-<span class="sourceLineNo">504</span><a name="line.504"></a>
-<span class="sourceLineNo">505</span>  protected final RSRpcServices rpcServices;<a name="line.505"></a>
-<span class="sourceLineNo">506</span><a name="line.506"></a>
-<span class="sourceLineNo">507</span>  protected BaseCoordinatedStateManager csm;<a name="line.507"></a>
-<span class="sourceLineNo">508</span><a name="line.508"></a>
-<span class="sourceLineNo">509</span>  /**<a name="line.509"></a>
-<span class="sourceLineNo">510</span>   * Configuration manager is used to register/deregister and notify the configuration observers<a name="line.510"></a>
-<span class="sourceLineNo">511</span>   * when the regionserver is notified that there was a change in the on disk configs.<a name="line.511"></a>
-<span class="sourceLineNo">512</span>   */<a name="line.512"></a>
-<span class="sourceLineNo">513</span>  protected final ConfigurationManager configurationManager;<a name="line.513"></a>
-<span class="sourceLineNo">514</span><a name="line.514"></a>
-<span class="sourceLineNo">515</span>  @VisibleForTesting<a name="line.515"></a>
-<span class="sourceLineNo">516</span>  CompactedHFilesDischarger compactedFileDischarger;<a name="line.516"></a>
-<span class="sourceLineNo">517</span><a name="line.517"></a>
-<span class="sourceLineNo">518</span>  private volatile ThroughputController flushThroughputController;<a name="line.518"></a>
+<span class="sourceLineNo">483</span>  private RegionServerProcedureManagerHost rspmHost;<a name="line.483"></a>
+<span class="sourceLineNo">484</span><a name="line.484"></a>
+<span class="sourceLineNo">485</span>  private RegionServerRpcQuotaManager rsQuotaManager;<a name="line.485"></a>
+<span class="sourceLineNo">486</span>  private RegionServerSpaceQuotaManager rsSpaceQuotaManager;<a name="line.486"></a>
+<span class="sourceLineNo">487</span><a name="line.487"></a>
+<span class="sourceLineNo">488</span>  /**<a name="line.488"></a>
+<span class="sourceLineNo">489</span>   * Nonce manager. Nonces are used to make operations like increment and append idempotent<a name="line.489"></a>
+<span class="sourceLineNo">490</span>   * in the case where client doesn't receive the response from a successful operation and<a name="line.490"></a>
+<span class="sourceLineNo">491</span>   * retries. We track the successful ops for some time via a nonce sent by client and handle<a name="line.491"></a>
+<span class="sourceLineNo">492</span>   * duplicate operations (currently, by failing them; in future we might use MVCC to return<a name="line.492"></a>
+<span class="sourceLineNo">493</span>   * result). Nonces are also recovered from WAL during, recovery; however, the caveats (from<a name="line.493"></a>
+<span class="sourceLineNo">494</span>   * HBASE-3787) are:<a name="line.494"></a>
+<span class="sourceLineNo">495</span>   * - WAL recovery is optimized, and under high load we won't read nearly nonce-timeout worth<a name="line.495"></a>
+<span class="sourceLineNo">496</span>   *   of past records. If we don't read the records, we don't read and recover the nonces.<a name="line.496"></a>
+<span class="sourceLineNo">497</span>   *   Some WALs within nonce-timeout at recovery may not even be present due to rolling/cleanup.<a name="line.497"></a>
+<span class="sourceLineNo">498</span>   * - There's no WAL recovery during normal region move, so nonces will not be transfered.<a name="line.498"></a>
+<span class="sourceLineNo">499</span>   * We can have separate additional "Nonce WAL". It will just contain bunch of numbers and<a name="line.499"></a>
+<span class="sourceLineNo">500</span>   * won't be flushed on main path - because WAL itself also contains nonces, if we only flush<a name="line.500"></a>
+<span class="sourceLineNo">501</span>   * it before memstore flush, for a given nonce we will either see it in the WAL (if it was<a name="line.501"></a>
+<span class="sourceLineNo">502</span>   * never flushed to disk, it will be part of recovery), or we'll see it as part of the nonce<a name="line.502"></a>
+<span class="sourceLineNo">503</span>   * log (or both occasionally, which doesn't matter). Nonce log file can be deleted after the<a name="line.503"></a>
+<span class="sourceLineNo">504</span>   * latest nonce in it expired. It can also be recovered during move.<a name="line.504"></a>
+<span class="sourceLineNo">505</span>   */<a name="line.505"></a>
+<span class="sourceLineNo">506</span>  final ServerNonceManager nonceManager;<a name="line.506"></a>
+<span class="sourceLineNo">507</span><a name="line.507"></a>
+<span class="sourceLineNo">508</span>  private UserProvider userProvider;<a name="line.508"></a>
+<span class="sourceLineNo">509</span><a name="line.509"></a>
+<span class="sourceLineNo">510</span>  protected final RSRpcServices rpcServices;<a name="line.510"></a>
+<span class="sourceLineNo">511</span><a name="line.511"></a>
+<span class="sourceLineNo">512</span>  protected BaseCoordinatedStateManager csm;<a name="line.512"></a>
+<span class="sourceLineNo">513</span><a name="line.513"></a>
+<span class="sourceLineNo">514</span>  /**<a name="line.514"></a>
+<span class="sourceLineNo">515</span>   * Configuration manager is used to register/deregister and notify the configuration observers<a name="line.515"></a>
+<span class="sourceLineNo">516</span>   * when the regionserver is notified that there was a change in the on disk configs.<a name="line.516"></a>
+<span class="sourceLineNo">517</span>   */<a name="line.517"></a>
+<span class="sourceLineNo">518</span>  protected final ConfigurationManager configurationManager;<a name="line.518"></a>
 <span class="sourceLineNo">519</span><a name="line.519"></a>
-<span class="sourceLineNo">520</span>  protected SecureBulkLoadManager secureBulkLoadManager;<a name="line.520"></a>
-<span class="sourceLineNo">521</span><a name="line.521"></a>
-<span class="sourceLineNo">522</span>  protected FileSystemUtilizationChore fsUtilizationChore;<a name="line.522"></a>
-<span class="sourceLineNo">523</span><a name="line.523"></a>
-<span class="sourceLineNo">524</span>  /**<a name="line.524"></a>
-<span class="sourceLineNo">525</span>   * Starts a HRegionServer at the default location.<a name="line.525"></a>
-<span class="sourceLineNo">526</span>   */<a name="line.526"></a>
-<span class="sourceLineNo">527</span>  public HRegionServer(Configuration conf) throws IOException, InterruptedException {<a name="line.527"></a>
-<span class="sourceLineNo">528</span>    this(conf, CoordinatedStateManagerFactory.getCoordinatedStateManager(conf));<a name="line.528"></a>
-<span class="sourceLineNo">529</span>  }<a name="line.529"></a>
-<span class="sourceLineNo">530</span><a name="line.530"></a>
-<span class="sourceLineNo">531</span>  /**<a name="line.531"></a>
-<span class="sourceLineNo">532</span>   * Starts a HRegionServer at the default location<a name="line.532"></a>
-<span class="sourceLineNo">533</span>   * @param csm implementation of CoordinatedStateManager to be used<a name="line.533"></a>
-<span class="sourceLineNo">534</span>   */<a name="line.534"></a>
-<span class="sourceLineNo">535</span>  public HRegionServer(Configuration conf, CoordinatedStateManager csm) throws IOException {<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    super("RegionServer");  // thread name<a name="line.536"></a>
-<span class="sourceLineNo">537</span>    this.fsOk = true;<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    this.conf = conf;<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    MemorySizeUtil.checkForClusterFreeHeapMemoryLimit(this.conf);<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    HFile.checkHFileVersion(this.conf);<a name="line.540"></a>
-<span class="sourceLineNo">541</span>    checkCodecs(this.conf);<a name="line.541"></a>
-<span class="sourceLineNo">542</span>    this.userProvider = UserProvider.instantiate(conf);<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    FSUtils.setupShortCircuitRead(this.conf);<a name="line.543"></a>
-<span class="sourceLineNo">544</span><a name="line.544"></a>
-<span class="sourceLineNo">545</span>    Replication.decorateRegionServerConfiguration(this.conf);<a name="line.545"></a>
-<span class="sourceLineNo">546</span><a name="line.546"></a>
-<span class="sourceLineNo">547</span>    // Disable usage of meta replicas in the regionserver<a name="line.547"></a>
-<span class="sourceLineNo">548</span>    this.conf.setBoolean(HConstants.USE_META_REPLICAS, false);<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    // Config'ed params<a name="line.549"></a>
-<span class="sourceLineNo">550</span>    this.numRetries = this.conf.getInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER,<a name="line.550"></a>
-<span class="sourceLineNo">551</span>        HConstants.DEFAULT_HBASE_CLIENT_RETRIES_NUMBER);<a name="line.551"></a>
-<span class="sourceLineNo">552</span>    this.threadWakeFrequency = conf.getInt(HConstants.THREAD_WAKE_FREQUENCY, 10 * 1000);<a name="line.552"></a>
-<span class="sourceLineNo">553</span>    this.msgInterval = conf.getInt("hbase.regionserver.msginterval", 3 * 1000);<a name="line.553"></a>
-<span class="sourceLineNo">554</span><a name="line.554"></a>
-<span class="sourceLineNo">555</span>    this.sleeper = new Sleeper(this.msgInterval, this);<a name="line.555"></a>
-<span class="sourceLineNo">556</span><a name="line.556"></a>
-<span class="sourceLineNo">557</span>    boolean isNoncesEnabled = conf.getBoolean(HConstants.HBASE_RS_NONCES_ENABLED, true);<a name="line.557"></a>
-<span class="sourceLineNo">558</span>    this.nonceManager = isNoncesEnabled ? new ServerNonceManager(this.conf) : null;<a name="line.558"></a>
+<span class="sourceLineNo">520</span>  @VisibleForTesting<a name="line.520"></a>
+<span class="sourceLineNo">521</span>  CompactedHFilesDischarger compactedFileDischarger;<a name="line.521"></a>
+<span class="sourceLineNo">522</span><a name="line.522"></a>
+<span class="sourceLineNo">523</span>  private volatile ThroughputController flushThroughputController;<a name="line.523"></a>
+<span class="sourceLineNo">524</span><a name="line.524"></a>
+<span class="sourceLineNo">525</span>  protected SecureBulkLoadManager secureBulkLoadManager;<a name="line.525"></a>
+<span class="sourceLineNo">526</span><a name="line.526"></a>
+<span class="sourceLineNo">527</span>  protected FileSystemUtilizationChore fsUtilizationChore;<a name="line.527"></a>
+<span class="sourceLineNo">528</span><a name="line.528"></a>
+<span class="sourceLineNo">529</span>  /**<a name="line.529"></a>
+<span class="sourceLineNo">530</span>   * Starts a HRegionServer at the default location.<a name="line.530"></a>
+<span class="sourceLineNo">531</span>   */<a name="line.531"></a>
+<span class="sourceLineNo">532</span>  public HRegionServer(Configuration conf) throws IOException, InterruptedException {<a name="line.532"></a>
+<span class="sourceLineNo">533</span>    this(conf, CoordinatedStateManagerFactory.getCoordinatedStateManager(conf));<a name="line.533"></a>
+<span class="sourceLineNo">534</span>  }<a name="line.534"></a>
+<span class="sourceLineNo">535</span><a name="line.535"></a>
+<span class="sourceLineNo">536</span>  /**<a name="line.536"></a>
+<span class="sourceLineNo">537</span>   * Starts a HRegionServer at the default location<a name="line.537"></a>
+<span class="sourceLineNo">538</span>   * @param csm implementation of CoordinatedStateManager to be used<a name="line.538"></a>
+<span class="sourceLineNo">539</span>   */<a name="line.539"></a>
+<span class="sourceLineNo">540</span>  public HRegionServer(Configuration conf, CoordinatedStateManager csm) throws IOException {<a name="line.540"></a>
+<span class="sourceLineNo">541</span>    super("RegionServer");  // thread name<a name="line.541"></a>
+<span class="sourceLineNo">542</span>    this.fsOk = true;<a name="line.542"></a>
+<span class="sourceLineNo">543</span>    this.conf = conf;<a name="line.543"></a>
+<span class="sourceLineNo">544</span>    MemorySizeUtil.checkForClusterFreeHeapMemoryLimit(this.conf);<a name="line.544"></a>
+<span class="sourceLineNo">545</span>    HFile.checkHFileVersion(this.conf);<a name="line.545"></a>
+<span class="sourceLineNo">546</span>    checkCodecs(this.conf);<a name="line.546"></a>
+<span class="sourceLineNo">547</span>    this.userProvider = UserProvider.instantiate(conf);<a name="line.547"></a>
+<span class="sourceLineNo">548</span>    FSUtils.setupShortCircuitRead(this.conf);<a name="line.548"></a>
+<span class="sourceLineNo">549</span><a name="line.549"></a>
+<span class="sourceLineNo">550</span>    Replication.decorateRegionServerConfiguration(this.conf);<a name="line.550"></a>
+<span class="sourceLineNo">551</span><a name="line.551"></a>
+<span class="sourceLineNo">552</span>    // Disable usage of meta replicas in the regionserver<a name="line.552"></a>
+<span class="sourceLineNo">553</span>    this.conf.setBoolean(HConstants.USE_META_REPLICAS, false);<a name="line.553"></a>
+<span class="sourceLineNo">554</span>    // Config'ed params<a name="line.554"></a>
+<span class="sourceLineNo">555</span>    this.numRetries = this.conf.getInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER,<a name="line.555"></a>
+<span class="sourceLineNo">556</span>        HConstants.DEFAULT_HBASE_CLIENT_RETRIES_NUMBER);<a name="line.556"></a>
+<span class="sourceLineNo">557</span>    this.threadWakeFrequency = conf.getInt(HConstants.THREAD_WAKE_FREQUENCY, 10 * 1000);<a name="line.557"></a>
+<span class="sourceLineNo">558</span>    this.msgInterval = conf.getInt("hbase.regionserver.msginterval", 3 * 1000);<a name="line.558"></a>
 <span class="sourceLineNo">559</span><a name="line.559"></a>
-<span class="sourceLineNo">560</span>    this.numRegionsToReport = conf.getInt(<a name="line.560"></a>
-<span class="sourceLineNo">561</span>      "hbase.regionserver.numregionstoreport", 10);<a name="line.561"></a>
-<span class="sourceLineNo">562</span><a name="line.562"></a>
-<span class="sourceLineNo">563</span>    this.operationTimeout = conf.getInt(<a name="line.563"></a>
-<span class="sourceLineNo">564</span>      HConstants.HBASE_CLIENT_OPERATION_TIMEOUT,<a name="line.564"></a>
-<span class="sourceLineNo">565</span>      HConstants.DEFAULT_HBASE_CLIENT_OPERATION_TIMEOUT);<a name="line.565"></a>
-<span class="sourceLineNo">566</span><a name="line.566"></a>
-<span class="sourceLineNo">567</span>    this.shortOperationTimeout = conf.getInt(<a name="line.567"></a>
-<span class="sourceLineNo">568</span>      HConstants.HBASE_RPC_SHORTOPERATION_TIMEOUT_KEY,<a name="line.568"></a>
-<span class="sourceLineNo">569</span>      HConstants.DEFAULT_HBASE_RPC_SHORTOPERATION_TIMEOUT);<a name="line.569"></a>
-<span class="sourceLineNo">570</span><a name="line.570"></a>
-<span class="sourceLineNo">571</span>    this.abortRequested = false;<a name="line.571"></a>
-<span class="sourceLineNo">572</span>    this.stopped = false;<a name="line.572"></a>
-<span class="sourceLineNo">573</span><a name="line.573"></a>
-<span class="sourceLineNo">574</span>    rpcServices = createRpcServices();<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    this.startcode = System.currentTimeMillis();<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    if (this instanceof HMaster) {<a name="line.576"></a>
-<span class="sourceLineNo">577</span>      useThisHostnameInstead = conf.get(MASTER_HOSTNAME_KEY);<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    } else {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>      useThisHostnameInstead = conf.get(RS_HOSTNAME_KEY);<a name="line.579"></a>
-<span class="sourceLineNo">580</span>    }<a name="line.580"></a>
-<span class="sourceLineNo">581</span>    String hostName = shouldUseThisHostnameInstead() ? useThisHostnameInstead :<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      rpcServices.isa.getHostName();<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    serverName = ServerName.valueOf(hostName, rpcServices.isa.getPort(), startcode);<a name="line.583"></a>
-<span class="sourceLineNo">584</span><a name="line.584"></a>
-<span class="sourceLineNo">585</span>    rpcControllerFactory = RpcControllerFactory.instantiate(this.conf);<a name="line.585"></a>
-<span class="sourceLineNo">586</span>    rpcRetryingCallerFactory = RpcRetryingCallerFactory.instantiate(this.conf);<a name="line.586"></a>
-<span class="sourceLineNo">587</span><a name="line.587"></a>
-<span class="sourceLineNo">588</span>    // login the zookeeper client principal (if using security)<a name="line.588"></a>
-<span class="sourceLineNo">589</span>    ZKUtil.loginClient(this.conf, HConstants.ZK_CLIENT_KEYTAB_FILE,<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      HConstants.ZK_CLIENT_KERBEROS_PRINCIPAL, hostName);<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    // login the server principal (if using secure Hadoop)<a name="line.591"></a>
-<span class="sourceLineNo">592</span>    login(userProvider, hostName);<a name="line.592"></a>
-<span class="sourceLineNo">593</span>    // init superusers and add the server principal (if using security)<a name="line.593"></a>
-<span class="sourceLineNo">594</span>    // or process owner as default super user.<a name="line.594"></a>
-<span class="sourceLineNo">595</span>    Superusers.initialize(conf);<a name="line.595"></a>
-<span class="sourceLineNo">596</span><a name="line.596"></a>
-<span class="sourceLineNo">597</span>    regionServerAccounting = new RegionServerAccounting(conf);<a name="line.597"></a>
-<span class="sourceLineNo">598</span>    cacheConfig = new CacheConfig(conf);<a name="line.598"></a>
-<span class="sourceLineNo">599</span>    mobCacheConfig = new MobCacheConfig(conf);<a name="line.599"></a>
-<span class="sourceLineNo">600</span>    uncaughtExceptionHandler = new UncaughtExceptionHandler() {<a name="line.600"></a>
-<span class="sourceLineNo">601</span>      @Override<a name="line.601"></a>
-<span class="sourceLineNo">602</span>      public void uncaughtException(Thread t, Throwable e) {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>        abort("Uncaught exception in service thread " + t.getName(), e);<a name="line.603"></a>
-<span class="sourceLineNo">604</span>      }<a name="line.604"></a>
-<span class="sourceLineNo">605</span>    };<a name="line.605"></a>
-<span class="sourceLineNo">606</span><a name="line.606"></a>
-<span class="sourceLineNo">607</span>    initializeFileSystem();<a name="line.607"></a>
-<span class="sourceLineNo">608</span><a name="line.608"></a>
-<span class="sourceLineNo">609</span>    service = new ExecutorService(getServerName().toShortString());<a name="line.609"></a>
-<span class="sourceLineNo">610</span>    spanReceiverHost = SpanReceiverHost.getInstance(getConfiguration());<a name="line.610"></a>
+<span class="sourceLineNo">560</span>    this.sleeper = new Sleeper(this.msgInterval, this);<a name="line.560"></a>
+<span class="sourceLineNo">561</span><a name="line.561"></a>
+<span class="sourceLineNo">562</span>    boolean isNoncesEnabled = conf.getBoolean(HConstants.HBASE_RS_NONCES_ENABLED, true);<a name="line.562"></a>
+<span class="sourceLineNo">563</span>    this.nonceManager = isNoncesEnabled ? new ServerNonceManager(this.conf) : null;<a name="line.563"></a>
+<span class="sourceLineNo">564</span><a name="line.564"></a>
+<span class="sourceLineNo">565</span>    this.numRegionsToReport = conf.getInt(<a name="line.565"></a>
+<span class="sourceLineNo">566</span>      "hbase.regionserver.numregionstoreport", 10);<a name="line.566"></a>
+<span class="sourceLineNo">567</span><a name="line.567"></a>
+<span class="sourceLineNo">568</span>    this.operationTimeout = conf.getInt(<a name="line.568"></a>
+<span class="sourceLineNo">569</span>      HConstants.HBASE_CLIENT_OPERATION_TIMEOUT,<a name="line.569"></a>
+<span class="sourceLineNo">570</span>      HConstants.DEFAULT_HBASE_CLIENT_OPERATION_TIMEOUT);<a name="line.570"></a>
+<span class="sourceLineNo">571</span><a name="line.571"></a>
+<span class="sourceLineNo">572</span>    this.shortOperationTimeout = conf.getInt(<a name="line.572"></a>
+<span class="sourceLineNo">573</span>      HConstants.HBASE_RPC_SHORTOPERATION_TIMEOUT_KEY,<a name="line.573"></a>
+<span class="sourceLineNo">574</span>      HConstants.DEFAULT_HBASE_RPC_SHORTOPERATION_TIMEOUT);<a name="line.574"></a>
+<span class="sourceLineNo">575</span><a name="line.575"></a>
+<span class="sourceLineNo">576</span>    this.abortRequested = false;<a name="line.576"></a>
+<span class="sourceLineNo">577</span>    this.stopped = false;<a name="line.577"></a>
+<span class="sourceLineNo">578</span><a name="line.578"></a>
+<span class="sourceLineNo">579</span>    rpcServices = createRpcServices();<a name="line.579"></a>
+<span class="sourceLineNo">580</span>    this.startcode = System.currentTimeMillis();<a name="line.580"></a>
+<span class="sourceLineNo">581</span>    if (this instanceof HMaster) {<a name="line.581"></a>
+<span class="sourceLineNo">582</span>      useThisHostnameInstead = conf.get(MASTER_HOSTNAME_KEY);<a name="line.582"></a>
+<span class="sourceLineNo">583</span>    } else {<a name="line.583"></a>
+<span class="sourceLineNo">584</span>      useThisHostnameInstead = conf.get(RS_HOSTNAME_KEY);<a name="line.584"></a>
+<span class="sourceLineNo">585</span>      if (conf.getBoolean(RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY, false)) {<a name="line.585"></a>
+<span class="sourceLineNo">586</span>        if (shouldUseThisHostnameInstead()) {<a name="line.586"></a>
+<span class="sourceLineNo">587</span>          String msg = RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY + " and " + RS_HOSTNAME_KEY +<a name="line.587"></a>
+<span class="sourceLineNo">588</span>            " are mutually exclusive. Do not set " + RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY +<a name="line.588"></a>
+<span class="sourceLineNo">589</span>            " to true while " + RS_HOSTNAME_KEY + " is used";<a name="line.589"></a>
+<span class="sourceLineNo">590</span>          throw new IOException(msg);<a name="line.590"></a>
+<span class="sourceLineNo">591</span>        } else {<a name="line.591"></a>
+<span class="sourceLineNo">592</span>          useThisHostnameInstead = rpcServices.isa.getHostName();<a name="line.592"></a>
+<span class="sourceLineNo">593</span>        }<a name="line.593"></a>
+<span class="sourceLineNo">594</span>      }<a name="line.594"></a>
+<span class="sourceLineNo">595</span>    }<a name="line.595"></a>
+<span class="sourceLineNo">596</span>    String hostName = shouldUseThisHostnameInstead() ? useThisHostnameInstead :<a name="line.596"></a>
+<span class="sourceLineNo">597</span>      rpcServices.isa.getHostName();<a name="line.597"></a>
+<span class="sourceLineNo">598</span>    serverName = ServerName.valueOf(hostName, rpcServices.isa.getPort(), startcode);<a name="line.598"></a>
+<span class="sourceLineNo">599</span><a name="line.599"></a>
+<span class="sourceLineNo">600</span>    rpcControllerFactory = RpcControllerFactory.instantiate(this.conf);<a name="line.600"></a>
+<span class="sourceLineNo">601</span>    rpcRetryingCallerFactory = RpcRetryingCallerFactory.instantiate(this.conf);<a name="line.601"></a>
+<span class="sourceLineNo">602</span><a name="line.602"></a>
+<span class="sourceLineNo">603</span>    // login the zookeeper client principal (if using security)<a name="line.603"></a>
+<span class="sourceLineNo">604</span>    ZKUtil.loginClient(this.conf, HConstants.ZK_CLIENT_KEYTAB_FILE,<a name="line.604"></a>
+<span class="sourceLineNo">605</span>      HConstants.ZK_CLIENT_KERBEROS_PRINCIPAL, hostName);<a name="line.605"></a>
+<span class="sourceLineNo">606</span>    // login the server principal (if using secure Hadoop)<a name="line.606"></a>
+<span class="sourceLineNo">607</span>    login(userProvider, hostName);<a name="line.607"></a>
+<span class="sourceLineNo">608</span>    // init superusers and add the server principal (if using security)<a name="line.608"></a>
+<span class="sourceLineNo">609</span>    // or process owner as default super user.<a name="line.609"></a>
+<span class="sourceLineNo">610</span>    Superusers.initialize(conf);<a name="line.610"></a>
 <span class="sourceLineNo">611</span><a name="line.611"></a>
-<span class="sourceLineNo">612</span>    // Some unit tests don't need a cluster, so no zookeeper at all<a name="line.612"></a>
-<span class="sourceLineNo">613</span>    if (!conf.getBoolean("hbase.testing.nocluster", false)) {<a name="line.613"></a>
-<span class="sourceLineNo">614</span>      // Open connection to zookeeper and set primary watcher<a name="line.614"></a>
-<span class="sourceLineNo">615</span>      zooKeeper = new ZooKeeperWatcher(conf, getProcessName() + ":" +<a name="line.615"></a>
-<span class="sourceLineNo">616</span>        rpcServices.isa.getPort(), this, canCreateBaseZNode());<a name="line.616"></a>
-<span class="sourceLineNo">617</span><a name="line.617"></a>
-<span class="sourceLineNo">618</span>      this.csm = (BaseCoordinatedStateManager) csm;<a name="line.618"></a>
-<span class="sourceLineNo">619</span>      this.csm.initialize(this);<a name="line.619"></a>
-<span class="sourceLineNo">620</span>      this.csm.start();<a name="line.620"></a>
+<span class="sourceLineNo">612</span>    regionServerAccounting = new RegionServerAccounting(conf);<a name="line.612"></a>
+<span class="sourceLineNo">613</span>    cacheConfig = new CacheConfig(conf);<a name="line.613"></a>
+<span class="sourceLineNo">614</span>    mobCacheConfig = new MobCacheConfig(conf);<a name="line.614"></a>
+<span class="sourceLineNo">615</span>    uncaughtExceptionHandler = new UncaughtExceptionHandler() {<a name="line.615"></a>
+<span class="sourceLineNo">616</span>      @Override<a name="line.616"></a>
+<span class="sourceLineNo">617</span>      public void uncaughtException(Thread t, Throwable e) {<a name="line.617"></a>
+<span class="sourceLineNo">618</span>        abort("Uncaught exception in service thread " + t.getName(), e);<a name="line.618"></a>
+<span class="sourceLineNo">619</span>      }<a name="line.619"></a>
+<span class="sourceLineNo">620</span>    };<a name="line.620"></a>
 <span class="sourceLineNo">621</span><a name="line.621"></a>
-<span class="sourceLineNo">622</span>      masterAddressTracker = new MasterAddressTracker(getZooKeeper(), this);<a name="line.622"></a>
-<span class="sourceLineNo">623</span>      masterAddressTracker.start();<a name="line.623"></a>
-<span class="sourceLineNo">624</span><a name="line.624"></a>
-<span class="sourceLineNo">625</span>      clusterStatusTracker = new ClusterStatusTracker(zooKeeper, this);<a name="line.625"></a>
-<span class="sourceLineNo">626</span>      clusterStatusTracker.start();<a name="line.626"></a>
-<span class="sourceLineNo">627</span>    }<a name="line.627"></a>
-<span class="sourceLineNo">628</span>    this.configurationManager = new ConfigurationManager();<a name="line.628"></a>
-<span class="sourceLineNo">629</span><a name="line.629"></a>
-<span class="sourceLineNo">630</span>    rpcServices.start();<a name="line.630"></a>
-<span class="sourceLineNo">631</span>    putUpWebUI();<a name="line.631"></a>
-<span class="sourceLineNo">632</span>    this.walRoller = new LogRoller(this, this);<a name="line.632"></a>
-<span class="sourceLineNo">633</span>    this.choreService = new ChoreService(getServerName().toString(), true);<a name="line.633"></a>
-<span class="sourceLineNo">634</span>    this.flushThroughputController = FlushThroughputControllerFactory.create(this, conf);<a name="line.634"></a>
-<span class="sourceLineNo">635</span><a name="line.635"></a>
-<span class="sourceLineNo">636</span>    if (!SystemUtils.IS_OS_WINDOWS) {<a name="line.636"></a>
-<span class="sourceLineNo">637</span>      Signal.handle(new Signal("HUP"), new SignalHandler() {<a name="line.637"></a>
-<span class="sourceLineNo">638</span>        @Override<a name="line.638"></a>
-<span class="sourceLineNo">639</span>        public void handle(Signal signal) {<a name="line.639"></a>
-<span class="sourceLineNo">640</span>          getConfiguration().reloadConfiguration();<a name="line.640"></a>
-<span class="sourceLineNo">641</span>          configurationManager.notifyAllObservers(getConfiguration());<a name="line.641"></a>
-<span class="sourceLineNo">642</span>        }<a name="line.642"></a>
-<span class="sourceLineNo">643</span>      });<a name="line.643"></a>
-<span class="sourceLineNo">644</span>    }<a name="line.644"></a>
-<span class="sourceLineNo">645</span>    // Create the CompactedFileDischarger chore service. This chore helps to<a name="line.645"></a>
-<span class="sourceLineNo">646</span>    // remove the compacted files<a name="line.646"></a>
-<span class="sourceLineNo">647</span>    // that will no longer be used in reads.<a name="line.647"></a>
-<span class="sourceLineNo">648</span>    // Default is 2 mins. The default value for TTLCleaner is 5 mins so we set this to<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    // 2 mins so that compacted files can be archived before the TTLCleaner runs<a name="line.649"></a>
-<span class="sourceLineNo">650</span>    int cleanerInterval =<a name="line.650"></a>
-<span class="sourceLineNo">651</span>        conf.getInt("hbase.hfile.compaction.discharger.interval", 2 * 60 * 1000);<a name="line.651"></a>
-<span class="sourceLineNo">652</span>    this.compactedFileDischarger =<a name="line.652"></a>
-<span class="sourceLineNo">653</span>        new CompactedHFilesDischarger(cleanerInterval, this, this);<a name="line.653"></a>
-<span class="sourceLineNo">654</span>    choreService.scheduleChore(compactedFileDischarger);<a name="line.654"></a>
-<span class="sourceLineNo">655</span>  }<a name="line.655"></a>
-<span class="sourceLineNo">656</span><a name="line.656"></a>
-<span class="sourceLineNo">657</span>  private void initializeFileSystem() throws IOException {<a name="line.657"></a>
-<span class="sourceLineNo">658</span>    // Get fs instance used by this RS.  Do we use checksum verification in the hbase? If hbase<a name="line.658"></a>
-<span class="sourceLineNo">659</span>    // checksum verification enabled, then automatically switch off hdfs checksum verification.<a name="line.659"></a>
-<span class="sourceLineNo">660</span>    boolean useHBaseChecksum = conf.getBoolean(HConstants.HBASE_CHECKSUM_VERIFICATION, true);<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    FSUtils.setFsDefault(this.conf, FSUtils.getWALRootDir(this.conf));<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    this.walFs = new HFileSystem(this.conf, useHBaseChecksum);<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    this.walRootDir = FSUtils.getWALRootDir(this.conf);<a name="line.663"></a>
-<span class="sourceLineNo">664</span>    // Set 'fs.defaultFS' to match the filesystem on hbase.rootdir else<a name="line.664"></a>
-<span class="sourceLineNo">665</span>    // underlying hadoop hdfs accessors will be going against wrong filesystem<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    // (unless all is set to defaults).<a name="line.666"></a>
-<span class="sourceLineNo">667</span>    FSUtils.setFsDefault(this.conf, FSUtils.getRootDir(this.conf));<a name="line.667"></a>
-<span class="sourceLineNo">668</span>    this.fs = new HFileSystem(this.conf, useHBaseChecksum);<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    this.rootDir = FSUtils.getRootDir(this.conf);<a name="line.669"></a>
-<span class="sourceLineNo">670</span>    this.tableDescriptors = getFsTableDescriptors();<a name="line.670"></a>
-<span class="sourceLineNo">671</span>  }<a name="line.671"></a>
-<span class="sourceLineNo">672</span><a name="line.672"></a>
-<span class="sourceLineNo">673</span>  protected TableDescriptors getFsTableDescriptors() throws IOException {<a name="line.673"></a>
-<span class="sourceLineNo">674</span>    return new FSTableDescriptors(this.conf,<a name="line.674"></a>
-<span class="sourceLineNo">675</span>      this.fs, this.rootDir, !canUpdateTableDescriptor(), false);<a name="line.675"></a>
-<span class="sourceLineNo">676</span>  }<a name="line.676"></a>
-<span class="sourceLineNo">677</span><a name="line.677"></a>
-<span class="sourceLineNo">678</span>  protected void setInitLatch(CountDownLatch latch) {<a name="line.678"></a>
-<span class="sourceLineNo">679</span>    this.initLatch = latch;<a name="line.679"></a>
-<span class="sourceLineNo">680</span>  }<a name="line.680"></a>
-<span class="sourceLineNo">681</span><a name="line.681"></a>
-<span class="sourceLineNo">682</span>  /*<a name="line.682"></a>
-<span class="sourceLineNo">683</span>   * Returns true if configured hostname should be used<a name="line.683"></a>
-<span class="sourceLineNo">684</span>   */<a name="line.684"></a>
-<span class="sourceLineNo">685</span>  protected boolean shouldUseThisHostnameInstead() {<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    return useThisHostnameInstead != null &amp;&amp; !useThisHostnameInstead.isEmpty();<a name="line.686"></a>
-<span class="sourceLineNo">687</span>  }<a name="line.687"></a>
-<span class="sourceLineNo">688</span><a name="line.688"></a>
-<span class="sourceLineNo">689</span>  protected void login(UserProvider user, String host) throws IOException {<a name="line.689"></a>
-<span class="sourceLineNo">690</span>    user.login("hbase.regionserver.keytab.file",<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      "hbase.regionserver.kerberos.principal", host);<a name="line.691"></a>
-<span class="sourceLineNo">692</span>  }<a name="line.692"></a>
-<span class="sourceLineNo">693</span><a name="line.693"></a>
-<span class="sourceLineNo">694</span>  protected void waitForMasterActive(){<a name="line.694"></a>
+<span class="sourceLineNo">622</span>    initializeFileSystem();<a name="line.622"></a>
+<span class="sourceLineNo">623</span><a name="line.623"></a>
+<span class="sourceLineNo">624</span>    service = new ExecutorService(getServerName().toShortString());<a name="line.624"></a>
+<span class="sourceLineNo">625</span>    spanReceiverHost = SpanReceiverHost.getInstance(getConfiguration());<a name="line.625"></a>
+<span class="sourceLineNo">626</span><a name="line.626"></a>
+<span class="sourceLineNo">627</span>    // Some unit tests don't need a cluster, so no zookeeper at all<a name="line.627"></a>
+<span class="sourceLineNo">628</span>    if (!conf.getBoolean("hbase.testing.nocluster", false)) {<a name="line.628"></a>
+<span class="sourceLineNo">629</span>      // Open connection to zookeeper and set primary watcher<a name="line.629"></a>
+<span class="sourceLineNo">630</span>      zooKeeper = new ZooKeeperWatcher(conf, getProcessName() + ":" +<a name="line.630"></a>
+<span class="sourceLineNo">631</span>        rpcServices.isa.getPort(), this, canCreateBaseZNode());<a name="line.631"></a>
+<span class="sourceLineNo">632</span><a name="line.632"></a>
+<span class="sourceLineNo">633</span>      this.csm = (BaseCoordinatedStateManager) csm;<a name="line.633"></a>
+<span class="sourceLineNo">634</span>      this.csm.initialize(this);<a name="line.634"></a>
+<span class="sourceLineNo">635</span>      this.csm.start();<a name="line.635"></a>
+<span class="sourceLineNo">636</span><a name="line.636"></a>
+<span class="sourceLineNo">637</span>      masterAddressTracker = new MasterAddressTracker(getZooKeeper(), this);<a name="line.637"></a>
+<span class="sourceLineNo">638</span>      masterAddressTracker.start();<a name="line.638"></a>
+<span class="sourceLineNo">639</span><a name="line.639"></a>
+<span class="sourceLineNo">640</span>      clusterStatusTracker = new ClusterStatusTracker(zooKeeper, this);<a name="line.640"></a>
+<span class="sourceLineNo">641</span>      clusterStatusTracker.start();<a name="line.641"></a>
+<span class="sourceLineNo">642</span>    }<a name="line.642"></a>
+<span class="sourceLineNo">643</span>    this.configurationManager = new ConfigurationManager();<a name="line.643"></a>
+<span class="sourceLineNo">644</span><a name="line.644"></a>
+<span class="sourceLineNo">645</span>    rpcServices.start();<a name="line.645"></a>
+<span class="sourceLineNo">646</span>    putUpWebUI();<a name="line.646"></a>
+<span class="sourceLineNo">647</span>    this.walRoller = new LogRoller(this, this);<a name="line.647"></a>
+<span class="sourceLineNo">648</span>    this.choreService = new ChoreService(getServerName().toString(), true);<a name="line.648"></a>
+<span class="sourceLineNo">649</span>    this.flushThroughputController = FlushThroughputControllerFactory.create(this, conf);<a name="line.649"></a>
+<span class="sourceLineNo">650</span><a name="line.650"></a>
+<span class="sourceLineNo">651</span>    if (!SystemUtils.IS_OS_WINDOWS) {<a name="line.651"></a>
+<span class="sourceLineNo">652</span>      Signal.handle(new Signal("HUP"), new SignalHandler() {<a name="line.652"></a>
+<span class="sourceLineNo">653</span>        @Override<a name="line.653"></a>
+<span class="sourceLineNo">654</span>        public void handle(Signal signal) {<a name="line.654"></a>
+<span class="sourceLineNo">655</span>          getConfiguration().reloadConfiguration();<a name="line.655"></a>
+<span class="sourceLineNo">656</span>          configurationManager.notifyAllObservers(getConfiguration());<a name="line.656"></a>
+<span class="sourceLineNo">657</span>        }<a name="line.657"></a>
+<span class="sourceLineNo">658</span>      });<a name="line.658"></a>
+<span class="sourceLineNo">659</span>    }<a name="line.659"></a>
+<span class="sourceLineNo">660</span>    // Create the CompactedFileDischarger chore service. This chore helps to<a name="line.660"></a>
+<span class="sourceLineNo">661</span>    // remove the compacted files<a name="line.661"></a>
+<span class="sourceLineNo">662</span>    // that will no longer be used in reads.<a name="line.662"></a>
+<span class="sourceLineNo">663</span>    // Default is 2 mins. The default value for TTLCleaner is 5 mins so we set this to<a name="line.663"></a>
+<span class="sourceLineNo">664</span>    // 2 mins so that compacted files can be archived before the TTLCleaner runs<a name="line.664"></a>
+<span class="sourceLineNo">665</span>    int cleanerInterval =<a name="line.665"></a>
+<span class="sourceLineNo">666</span>        conf.getInt("hbase.hfile.compaction.discharger.interval", 2 * 60 * 1000);<a name="line.666"></a>
+<span class="sourceLineNo">667</span>    this.compactedFileDischarger =<a name="line.667"></a>
+<span class="sourceLineNo">668</span>        new CompactedHFilesDischarger(cleanerInterval, this, this);<a name="line.668"></a>
+<span class="sourceLineNo">669</span>    choreService.scheduleChore(compactedFileDischarger);<a name="line.669"></a>
+<span class="sourceLineNo">670</span>  }<a name="line.670"></a>
+<span class="sourceLineNo">671</span><a name="line.671"></a>
+<span class="sourceLineNo">672</span>  private void initializeFileSystem() throws IOException {<a name="line.672"></a>
+<span class="sourceLineNo">673</span>    // Get fs instance used by this RS.  Do we use checksum verification in the hbase? If hbase<a name="line.673"></a>
+<span class="sourceLineNo">674</span>    // checksum verification enabled, then automatically switch off hdfs checksum verification.<a name="line.674"></a>
+<span class="sourceLineNo">675</span>    boolean useHBaseChecksum = conf.getBoolean(HConstants.HBASE_CHECKSUM_VERIFICATION, true);<a name="line.675"></a>
+<span class="sourceLineNo">676</span>    FSUtils.setFsDefault(this.conf, FSUtils.getWALRootDir(this.conf));<a name="line.676"></a>
+<span class="sourceLineNo">677</span>    this.walFs = new HFileSystem(this.conf, useHBaseChecksum);<a name="line.677"></a>
+<span class="sourceLineNo">678</span>    this.walRootDir = FSUtils.getWALRootDir(this.conf);<a name="line.678"></a>
+<span class="sourceLineNo">679</span>    // Set 'fs.defaultFS' to match the filesystem on hbase.rootdir else<a name="line.679"></a>
+<span class="sourceLineNo">680</span>    // underlying hadoop hdfs accessors will be going against wrong filesystem<a name="line.680"></a>
+<span class="sourceLineNo">681</span>    // (unless all is set to defaults).<a name="line.681"></a>
+<span class="sourceLineNo">682</span>    FSUtils.setFsDefault(this.conf, FSUtils.getRootDir(this.conf));<a name="line.682"></a>
+<span class="sourceLineNo">683</span>    this.fs = new HFileSystem(this.conf, useHBaseChecksum);<a name="line.683"></a>
+<span class="sourceLineNo">684</span>    this.rootDir = FSUtils.getRootDir(this.conf);<a name="line.684"></a>
+<span class="sourceLineNo">685</span>    this.tableDescriptors = getFsTableDescriptors();<a name="line.685"></a>
+<span class="sourceLineNo">686</span>  }<a name="line.686"></a>
+<span class="sourceLineNo">687</span><a name="line.687"></a>
+<span class="sourceLineNo">688</span>  protected TableDescriptors getFsTableDescriptors() throws IOException {<a name="line.688"></a>
+<span class="sourceLineNo">689</span>    return new FSTableDescriptors(this.conf,<a name="line.689"></a>
+<span class="sourceLineNo">690</span>      this.fs, this.rootDir, !canUpdateTableDescriptor(), false);<a name="line.690"></a>
+<span class="sourceLineNo">691</span>  }<a name="line.691"></a>
+<span class="sourceLineNo">692</span><a name="line.692"></a>
+<span class="sourceLineNo">693</span>  protected void setInitLatch(CountDownLatch latch) {<a name="line.693"></a>
+<span class="sourceLineNo">694</span>    this.initLatch = latch;<a name="line.694"></a>
 <span class="sourceLineNo">695</span>  }<a name="line.695"></a>
 <span class="sourceLineNo">696</span><a name="line.696"></a>
-<span class="sourceLineNo">697</span>  protected String getProcessName() {<a name="line.697"></a>
-<span class="sourceLineNo">698</span>    return REGIONSERVER;<a name="line.698"></a>
-<span class="sourceLineNo">699</span>  }<a name="line.699"></a>
-<span class="sourceLineNo">700</span><a name="line.700"></a>
-<span class="sourceLineNo">701</span>  protected boolean canCreateBaseZNode() {<a name="line.701"></a>
-<span class="sourceLineNo">702</span>    return false;<a name="line.702"></a>
-<span class="sourceLineNo">703</span>  }<a name="line.703"></a>
-<span class="sourceLineNo">704</span><a name="line.704"></a>
-<span class="sourceLineNo">705</span>  protected boolean canUpdateTableDescriptor() {<a name="line.705"></a>
-<span class="sourceLineNo">706</span>    return false;<a name="line.706"></a>
+<span class="sourceLineNo">697</span>  /*<a name="line.697"></a>
+<span class="sourceLineNo">698</span>   * Returns true if configured hostname should be used<a name="line.698"></a>
+<span class="sourceLineNo">699</span>   */<a name="line.699"></a>
+<span class="sourceLineNo">700</span>  protected boolean shouldUseThisHostnameInstead() {<a name="line.700"></a>
+<span class="sourceLineNo">701</span>    return useThisHostnameInstead != null &amp;&amp; !useThisHostnameInstead.isEmpty();<a name="line.701"></a>
+<span class="sourceLineNo">702</span>  }<a name="line.702"></a>
+<span class="sourceLineNo">703</span><a name="line.703"></a>
+<span class="sourceLineNo">704</span>  protected void login(UserProvider user, String host) throws IOException {<a name="line.704"></a>
+<span class="sourceLineNo">705</span>    user.login("hbase.regionserver.keytab.file",<a name="line.705"></a>
+<span class="sourceLineNo">706</span>      "hbase.regionserver.kerberos.principal", host);<a name="line.706"></a>
 <span class="sourceLineNo">707</span>  }<a name="line.707"></a>
 <span class="sourceLineNo">708</span><a name="line.708"></a>
-<span class="sourceLineNo">709</span>  protected RSRpcServices createRpcServices() throws IOException {<a name="line.709"></a>
-<span class="sourceLineNo">710</span>    return new RSRpcServices(this);<a name="line.710"></a>
-<span class="sourceLineNo">711</span>  }<a name="line.711"></a>
-<span class="sourceLineNo">712</span><a name="line.712"></a>
-<span class="sourceLineNo">713</span>  protected void configureInfoServer() {<a name="line.713"></a>
-<span class="sourceLineNo">714</span>    infoServer.addServlet("rs-status", "/rs-status", RSStatusServlet.class);<a name="line.714"></a>
-<span class="sourceLineNo">715</span>    infoServer.setAttribute(REGIONSERVER, this);<a name="line.715"></a>
-<span class="sourceLineNo">716</span>  }<a name="line.716"></a>
-<span class="sourceLineNo">717</span><a name="line.717"></a>
-<span class="sourceLineNo">718</span>  protected Class&lt;? extends HttpServlet&gt; getDumpServlet() {<a name="line.718"></a>
-<span class="sourceLineNo">719</span>    return RSDumpServlet.class;<a name="line.719"></a>
-<span class="sourceLineNo">720</span>  }<a name="line.720"></a>
-<span class="sourceLineNo">721</span><a name="line.721"></a>
-<span class="sourceLineNo">722</span>  @Override<a name="line.722"></a>
-<span class="sourceLineNo">723</span>  public boolean registerService(com.google.protobuf.Service instance) {<a name="line.723"></a>
-<span class="sourceLineNo">724</span>    /*<a name="line.724"></a>
-<span class="sourceLineNo">725</span>     * No stacking of instances is allowed for a single service name<a name="line.725"></a>
-<span class="sourceLineNo">726</span>     */<a name="line.726"></a>
-<span class="sourceLineNo">727</span>    com.google.protobuf.Descriptors.ServiceDescriptor serviceDesc =<a name="line.727"></a>
-<span class="sourceLineNo">728</span>        instance.getDescriptorForType();<a name="line.728"></a>
-<span class="sourceLineNo">729</span>    String serviceName = CoprocessorRpcUtils.getServiceName(serviceDesc);<a name="line.729"></a>
-<span class="sourceLineNo">730</span>    if (coprocessorServiceHandlers.containsKey(serviceName)) {<a name="line.730"></a>
-<span class="sourceLineNo">731</span>      LOG.error("Coprocessor service " + serviceName<a name="line.731"></a>
-<span class="sourceLineNo">732</span>          + " already registered, rejecting request from " + instance);<a name="line.732"></a>
-<span class="sourceLineNo">733</span>      return false;<a name="line.733"></a>
-<span class="sourceLineNo">734</span>    }<a name="line.734"></a>
-<span class="sourceLineNo">735</span><a name="line.735"></a>
-<span class="sourceLineNo">736</span>    coprocessorServiceHandlers.put(serviceName, instance);<a name="line.736"></a>
-<span class="sourceLineNo">737</span>    if (LOG.isDebugEnabled()) {<a name="line.737"></a>
-<span class="sourceLineNo">738</span>      LOG.debug("Registered regionserver coprocessor service: service=" + serviceName);<a name="line.738"></a>
-<span class="sourceLineNo">739</span>    }<a name="line.739"></a>
-<span class="sourceLineNo">740</span>    return true;<a name="line.740"></a>
-<span class="sourceLineNo">741</span>  }<a name="line.741"></a>
-<span class="sourceLineNo">742</span><a name="line.742"></a>
-<span class="sourceLineNo">743</span>  /**<a name="line.743"></a>
-<span class="sourceLineNo">744</span>   * Create a 'smarter' Connection, one that is capable of by-passing RPC if the request is to<a name="line.744"></a>
-<span class="sourceLineNo">745</span>   * the local server. Safe to use going to local or remote server.<a name="line.745"></a>
-<span class="sourceLineNo">746</span>   * Create this instance in a method can be intercepted and mocked in tests.<a name="line.746"></a>
-<span class="sourceLineNo">747</span>   * @throws IOException<a name="line.747"></a>
-<span class="sourceLineNo">748</span>   */<a name="line.748"></a>
-<span class="sourceLineNo">749</span>  @VisibleForTesting<a name="line.749"></a>
-<span class="sourceLineNo">750</span>  protected ClusterConnection createClusterConnection() throws IOException {<a name="line.750"></a>
-<span class="sourceLineNo">751</span>    // Create a cluster connection that when appropriate, can short-circuit and go directly to the<a name="line.751"></a>
-<span class="sourceLineNo">752</span>    // local server if the request is to the local server bypassing RPC. Can be used for both local<a name="line.752"></a>
-<span class="sourceLineNo">753</span>    // and remote invocations.<a name="line.753"></a>
-<span class="sourceLineNo">754</span>    return ConnectionUtils.createShortCircuitConnection(conf, null, userProvider.getCurrent(),<a name="line.754"></a>
-<span class="sourceLineNo">755</span>      serverName, rpcServices, rpcServices);<a name="line.755"></a>
+<span class="sourceLineNo">709</span>  protected void waitForMasterActive(){<a name="line.709"></a>
+<span class="sourceLineNo">710</span>  }<a name="line.710"></a>
+<span class="sourceLineNo">711</span><a name="line.711"></a>
+<span class="sourceLineNo">712</span>  protected String getProcessName() {<a name="line.712"></a>
+<span class="sourceLineNo">713</span>    return REGIONSERVER;<a name="line.713"></a>
+<span class="sourceLineNo">714</span>  }<a name="line.714"></a>
+<span class="sourceLineNo">715</span><a name="line.715"></a>
+<span class="sourceLineNo">716</span>  protected boolean canCreateBaseZNode() {<a name="line.716"></a>
+<span class="sourceLineNo">717</span>    return false;<a name="line.717"></a>
+<span class="sourceLineNo">718</span>  }<a name="line.718"></a>
+<span class="sourceLineNo">719</span><a name="line.719"></a>
+<span class="sourceLineNo">720</span>  protected boolean canUpdateTableDescriptor() {<a name="line.720"></a>
+<span class="sourceLineNo">721</span>    return false;<a name="line.721"></a>
+<span class="sourceLineNo">722</span>  }<a name="line.722"></a>
+<span class="sourceLineNo">723</span><a name="line.723"></a>
+<span class="sourceLineNo">724</span>  protected RSRpcServices createRpcServices() throws IOException {<a name="line.724"></a>
+<span class="sourceLineNo">725</span>    return new RSRpcServices(this);<a name="line.725"></a>
+<span class="sourceLineNo">726</span>  }<a name="line.726"></a>
+<span class="sourceLineNo">727</span><a name="line.727"></a>
+<span class="sourceLineNo">728</span>  protected void configureInfoServer() {<a name="line.728"></a>
+<span class="sourceLineNo">729</span>    infoServer.addServlet("rs-status", "/rs-status", RSStatusServlet.class);<a name="line.729"></a>
+<span class="sourceLineNo">730</span>    infoServer.setAttribute(REGIONSERVER, this);<a name="line.730"></a>
+<span class="sourceLineNo">731</span>  }<a name="line.731"></a>
+<span class="sourceLineNo">732</span><a name="line.732"></a>
+<span class="sourceLineNo">733</span>  protected Class&lt;? extends HttpServlet&gt; getDumpServlet() {<a name="line.733"></a>
+<span class="sourceLineNo">734</span>    return RSDumpServlet.class;<a name="line.734"></a>
+<span class="sourceLineNo">735</span>  }<a name="line.735"></a>
+<span class="sourceLineNo">736</span><a name="line.736"></a>
+<span class="sourceLineNo">737</span>  @Override<a name="line.737"></a>
+<span class="sourceLineNo">738</span>  public boolean registerService(com.google.protobuf.Service instance) {<a name="line.738"></a>
+<span class="sourceLineNo">739</span>    /*<a name="line.739"></a>
+<span class="sourceLineNo">740</span>     * No stacking of instances is allowed for a single service name<a name="line.740"></a>
+<span class="sourceLineNo">741</span>     */<a name="line.741"></a>
+<span class="sourceLineNo">742</span>    com.google.protobuf.Descriptors.ServiceDescriptor serviceDesc =<a name="line.742"></a>
+<span class="sourceLineNo">743</span>        instance.getDescriptorForType();<a name="line.743"></a>
+<span class="sourceLineNo">744</span>    String serviceName = CoprocessorRpcUtils.getServiceName(serviceDesc);<a name="line.744"></a>
+<span class="sourceLineNo">745</span>    if (coprocessorServiceHandlers.containsKey(serviceName)) {<a name="line.745"></a>
+<span class="sourceLineNo">746</span>      LOG.error("Coprocessor service " + serviceName<a name="line.746"></a>
+<span class="sourceLineNo">747</span>          + " already registered, rejecting request from " + instance);<a name="line.747"></a>
+<span class="sourceLineNo">748</span>      return false;<a name="line.748"></a>
+<span class="sourceLineNo">749</span>    }<a name="line.749"></a>
+<span class="sourceLineNo">750</span><a name="line.750"></a>
+<span class="sourceLineNo">751</span>    coprocessorServiceHandlers.put(serviceName, instance);<a name="line.751"></a>
+<span class="sourceLineNo">752</span>    if (LOG.isDebugEnabled()) {<a name="line.752"></a>
+<span class="sourceLineNo">753</span>      LOG.debug("Registered regionserver coprocessor service: service=" + serviceName);<a name="line.753"></a>
+<span class="sourceLineNo">754</span>    }<a name="line.754"></a>
+<span class="sourceLineNo">755</span>    return true;<a name="line.755"></a>
 <span class="sourceLineNo">756</span>  }<a name="line.756"></a>
 <span class="sourceLineNo">757</span><a name="line.757"></a>
 <span class="sourceLineNo">758</span>  /**<a name="line.758"></a>
-<span class="sourceLineNo">759</span>   * Run test on configured codecs to make sure supporting libs are in place.<a name="line.759"></a>
-<span class="sourceLineNo">760</span>   * @param c<a name="line.760"></a>
-<span class="sourceLineNo">761</span>   * @throws IOException<a name="line.761"></a>
-<span class="sourceLineNo">762</span>   */<a name="line.762"></a>
-<span class="sourceLineNo">763</span>  private static void checkCodecs(final Configuration c) throws IOException {<a name="line.763"></a>
-<span class="sourceLineNo">764</span>    // check to see if the codec list is available:<a name="line.764"></a>
-<span class="sourceLineNo">765</span>    String [] codecs = c.getStrings("hbase.regionserver.codecs", (String[])null);<a name="line.765"></a>
-<span class="sourceLineNo">766</span>    if (codecs == null) return;<a name="line.766"></a>
-<span class="sourceLineNo">767</span>    for (String codec : codecs) {<a name="line.767"></a>
-<span class="sourceLineNo">768</span>      if (!CompressionTest.testCompression(codec)) {<a name="line.768"></a>
-<span class="sourceLineNo">769</span>        throw new IOException("Compression codec " + codec +<a name="line.769"></a>
-<span class="sourceLineNo">770</span>          " not supported, aborting RS construction");<a name="line.770"></a>
-<span class="sourceLineNo">771</span>      }<a name="line.771"></a>
-<span class="sourceLineNo">772</span>    }<a name="line.772"></a>
-<span class="sourceLineNo">773</span>  }<a name="line.773"></a>
-<span class="sourceLineNo">774</span><a name="line.774"></a>
-<span class="sourceLineNo">775</span>  public String getClusterId() {<a name="line.775"></a>
-<span class="sourceLineNo">776</span>    return this.clusterId;<a name="line.776"></a>
-<span class="sourceLineNo">777</span>  }<a name="line.777"></a>
-<span class="sourceLineNo">778</span><a name="line.778"></a>
-<span class="sourceLineNo">779</span>  /**<a name="line.779"></a>
-<span class="sourceLineNo">780</span>   * Setup our cluster connection if not already initialized.<a name="line.780"></a>
-<span class="sourceLineNo">781</span>   * @throws IOException<a name="line.781"></a>
-<span class="sourceLineNo">782</span>   */<a name="line.782"></a>
-<span class="sourceLineNo">783</span>  protected synchronized void setupClusterConnection() throws IOException {<a name="line.783"></a>
-<span class="sourceLineNo">784</span>    if (clusterConnection == null) {<a name="line.784"></a>
-<span class="sourceLineNo">785</span>      clusterConnection = createClusterConnection();<a name="line.785"></a>
-<span class="sourceLineNo">786</span>      metaTableLocator = new MetaTableLocator();<a name="line.786"></a>
+<span class="sourceLineNo">759</span>   * Create a 'smarter' Connection, one that is capable of by-passing RPC if the request is to<a name="line.759"></a>
+<span class="sourceLineNo">760</span>   * the local server. Safe to use going to local or remote server.<a name="line.760"></a>
+<span class="sourceLineNo">761</span>   * Create this instance in a method can be intercepted and mocked in tests.<a name="line.761"></a>
+<span class="sourceLineNo">762</span>   * @throws IOException<a name="line.762"></a>
+<span class="sourceLineNo">763</span>   */<a name="line.763"></a>
+<span class="sourceLineNo">764</span>  @VisibleForTesting<a name="line.764"></a>
+<span class="sourceLineNo">765</span>  protected ClusterConnection createClusterConnection() throws IOException {<a name="line.765"></a>
+<span class="sourceLineNo">766</span>    // Create a cluster connection that when appropriate, can short-circuit and go directly to the<a name="line.766"></a>
+<span class="sourceLineNo">767</span>    // local server if the request is to the local server bypassing RPC. Can be used for both local<a name="line.767"></a>
+<span class="sourceLineNo">768</span>    // and remote invocations.<a name="line.768"></a>
+<span class="sourceLineNo">769</span>    return ConnectionUtils.createShortCircuitConnection(conf, null, userProvider.getCurrent(),<a name="line.769"></a>
+<span class="sourceLineNo">770</span>      serverName, rpcServices, rpcServices);<a name="line.770"></a>
+<span class="sourceLineNo">771</span>  }<a name="line.771"></a>
+<span class="sourceLineNo">772</span><a name="line.772"></a>
+<span class="sourceLineNo">773</span>  /**<a name="line.773"></a>
+<span class="sourceLineNo">774</span>   * Run test on configured codecs to make sure supporting libs are in place.<a name="line.774"></a>
+<span class="sourceLineNo">775</span>   * @param c<a name="line.775"></a>
+<span class="sourceLineNo">776</span>   * @throws IOException<a name="line.776"></a>
+<span class="sourceLineNo">777</span>   */<a name="line.777"></a>
+<span class="sourceLineNo">778</span>  private static void checkCodecs(final Configuration c) throws IOException {<a name="line.778"></a>
+<span class="sourceLineNo">779</span>    // check to see if the codec list is available:<a name="line.779"></a>
+<span class="sourceLineNo">780</span>    String [] codecs = c.getStrings("hbase.regionserver.codecs", (String[])null);<a name="line.780"></a>
+<span class="sourceLineNo">781</span>    if (codecs == null) return;<a name="line.781"></a>
+<span class="sourceLineNo">782</span>    for (String codec : codecs) {<a name="line.782"></a>
+<span class="sourceLineNo">783</span>      if (!CompressionTest.testCompression(codec)) {<a name="line.783"></a>
+<span class="sourceLineNo">784</span>        throw new IOException("Compression codec " + codec +<a name="line.784"></a>
+<span class="sourceLineNo">785</span>          " not supported, aborting RS construction");<a name="line.785"></a>
+<span class="sourceLineNo">786</span>      }<a name="line.786"></a>
 <span class="sourceLineNo">787</span>    }<a name="line.787"></a>
 <span class="sourceLineNo">788</span>  }<a name="line.788"></a>
 <span class="sourceLineNo">789</span><a name="line.789"></a>
-<span class="sourceLineNo">790</span>  /**<a name="line.790"></a>
-<span class="sourceLineNo">791</span>   * All initialization needed before we go register with Master.<a name="line.791"></a>
-<span class="sourceLineNo">792</span>   *<a name="line.792"></a>
-<span class="sourceLineNo">793</span>   * @throws IOException<a name="line.793"></a>
-<span class="sourceLineNo">794</span>   * @throws InterruptedException<a name="line.794"></a>
-<span class="sourceLineNo">795</span>   */<a name="line.795"></a>
-<span class="sourceLineNo">796</span>  private void preRegistrationInitialization(){<a name="line.796"></a>
-<span class="sourceLineNo">797</span>    try {<a name="line.797"></a>
-<span class="sourceLineNo">798</span>      setupClusterConnection();<a name="line.798"></a>
-<span class="sourceLineNo">799</span><a name="line.799"></a>
-<span class="sourceLineNo">800</span>      this.secureBulkLoadManager = new SecureBulkLoadManager(this.conf, clusterConnection);<a name="line.800"></a>
-<span class="sourceLineNo">801</span>      this.secureBulkLoadManager.start();<a name="line.801"></a>
-<span class="sourceLineNo">802</span><a name="line.802"></a>
-<span class="sourceLineNo">803</span>      // Health checker thread.<a name="line.803"></a>
-<span class="sourceLineNo">804</span>      if (isHealthCheckerConfigured()) {<a name="line.804"></a>
-<span class="sourceLineNo">805</span>        int sleepTime = this.conf.getInt(HConstants.HEALTH_CHORE_WAKE_FREQ,<a name="line.805"></a>
-<span class="sourceLineNo">806</span>          HConstants.DEFAULT_THREAD_WAKE_FREQUENCY);<a name="line.806"></a>
-<span class="sourceLineNo">807</span>        healthCheckChore = new HealthCheckChore(sleepTime, this, getConfiguration());<a name="line.807"></a>
-<span class="sourceLineNo">808</span>      }<a name="line.808"></a>
-<span class="sourceLineNo">809</span><a name="line.809"></a>
-<span class="sourceLineNo">810</span>      initializeZooKeeper();<a name="line.810"></a>
-<span class="sourceLineNo">811</span>      if (!isStopped() &amp;&amp; !isAborted()) {<a name="line.811"></a>
-<span class="sourceLineNo">812</span>        initializeThreads();<a name="line.812"></a>
-<span class="sourceLineNo">813</span>      }<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    } catch (Throwable t) {<a name="line.814"></a>
-<span class="sourceLineNo">815</span>      // Call stop if error or process will stick around for ever since server<a name="line.815"></a>
-<span class="sourceLineNo">816</span>      // puts up non-daemon threads.<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      this.rpcServices.stop();<a name="line.817"></a>
-<span class="sourceLineNo">818</span>      abort("Initialization of RS failed.  Hence aborting RS.", t);<a name="line.818"></a>
-<span class="sourceLineNo">819</span>    }<a name="line.819"></a>
-<span class="sourceLineNo">820</span>  }<a name="line.820"></a>
-<span class="sourceLineNo">821</span><a name="line.821"></a>
-<span class="sourceLineNo">822</span>  /**<a name="line.822"></a>
-<span class="sourceLineNo">823</span>   * Bring up connection to zk ensemble and then wait until a master for this<a name="line.823"></a>
-<span class="sourceLineNo">824</span>   * cluster and then after that, wait until cluster 'up' flag has been set.<a name="line.824"></a>
-<span class="sourceLineNo">825</span>   * This is the order in which master does things.<a name="line.825"></a>
-<span class="sourceLineNo">826</span>   * Finally open long-living server short-circuit connection.<a name="line.826"></a>
-<span class="sourceLineNo">827</span>   * @throws IOException<a name="line.827"></a>
-<span class="sourceLineNo">828</span>   * @throws InterruptedException<a name="line.828"></a>
-<span class="sourceLineNo">829</span>   */<a name="line.829"></a>
-<span class="sourceLineNo">830</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="RV_RETURN_VALUE_IGNORED_BAD_PRACTICE",<a name="line.830"></a>
-<span class="sourceLineNo">831</span>    justification="cluster Id znode read would give us correct response")<a name="line.831"></a>
-<span class="sourceLineNo">832</span>  private void initializeZooKeeper() throws IOException, InterruptedException {<a name="line.832"></a>
-<span class="sourceLineNo">833</span>    // Create the master address tracker, register with zk, and start it.  Then<a name="line.833"></a>
-<span class="sourceLineNo">834</span>    // block until a master is available.  No point in starting up if no master<a name="line.834"></a>
-<span class="sourceLineNo">835</span>    // running.<a name="line.835"></a>
-<span class="sourceLineNo">836</span>    blockAndCheckIfStopped(this.masterAddressTracker);<a name="line.836"></a>
-<span class="sourceLineNo">837</span><a name="line.837"></a>
-<span class="sourceLineNo">838</span>    // Wait on cluster being up.  Master will set this flag up in zookeeper<a name="line.838"></a>
-<span class="sourceLineNo">839</span>    // when ready.<a name="line.839"></a>
-<span class="sourceLineNo">840</span>    blockAndCheckIfStopped(this.clusterStatusTracker);<a name="line.840"></a>
-<span class="sourceLineNo">841</span><a name="line.841"></a>
-<span class="sourceLineNo">842</span>    doLatch(this.initLatch);<a name="line.842"></a>
-<span class="sourceLineNo">843</span><a name="line.843"></a>
-<span class="sourceLineNo">844</span>    // Retrieve clusterId<a name="line.844"></a>
-<span class="sourceLineNo">845</span>    // Since cluster status is now up<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    // ID should have already been set by HMaster<a name="line.846"></a>
-<span class="sourceLineNo">847</span>    try {<a name="line.847"></a>
-<span class="sourceLineNo">848</span>      clusterId = ZKClusterId.readClusterIdZNode(this.zooKeeper);<a name="line.848"></a>
-<span class="sourceLineNo">849</span>      if (clusterId == null) {<a name="line.849"></a>
-<span class="sourceLineNo">850</span>        this.abort("Cluster ID has not been set");<a name="line.850"></a>
-<span class="sourceLineNo">851</span>      }<a name="line.851"></a>
-<span class="sourceLineNo">852</span>      LOG.info("ClusterId : "+clusterId);<a name="line.852"></a>
-<span class="sourceLineNo">853</span>    } catch (KeeperException e) {<a name="line.853"></a>
-<span class="sourceLineNo">854</span>      this.abort("Failed to retrieve Cluster ID",e);<a name="line.854"></a>
-<span class="sourceLineNo">855</span>    }<a name="line.855"></a>
+<span class="sourceLineNo">790</span>  public String getClusterId() {<a name="line.790"></a>
+<span class="sourceLineNo">791</span>    return this.clusterId;<a name="line.791"></a>
+<span class="sourceLineNo">792</span>  }<a name="line.792"></a>
+<span class="sourceLineNo">793</span><a name="line.793"></a>
+<span class="sourceLineNo">794</span>  /**<a name="line.794"></a>
+<span class="sourceLineNo">795</span>   * Setup our cluster connection if not already initialized.<a name="line.795"></a>
+<span class="sourceLineNo">796</span>   * @throws IOException<a name="line.796"></a>
+<span class="sourceLineNo">797</span>   */<a name="line.797"></a>
+<span class="sourceLineNo">798</span>  protected synchronized void setupClusterConnection() throws IOException {<a name="line.798"></a>
+<span class="sourceLineNo">799</span>    if (clusterConnection == null) {<a name="line.799"></a>
+<span class="sourceLineNo">800</span>      clusterConnection = createClusterConnection();<a name="line.800"></a>
+<span class="sourceLineNo">801</span>      metaTableLocator = new MetaTableLocator();<a name="line.801"></a>
+<span class="sourceLineNo">802</span>    }<a name="line.802"></a>
+<span class="sourceLineNo">803</span>  }<a name="line.803"></a>
+<span class="sourceLineNo">804</span><a name="line.804"></a>
+<span class="sourceLineNo">805</span>  /**<a name="line.805"></a>
+<span class="sourceLineNo">806</span>   * All initialization needed before we go register with Master.<a name="line.806"></a>
+<span class="sourceLineNo">807</span>   *<a name="line.807"></a>
+<span class="sourceLineNo">808</span>   * @throws IOException<a name="line.808"></a>
+<span class="sourceLineNo">809</span>   * @throws InterruptedException<a name="line.809"></a>
+<span class="sourceLineNo">810</span>   */<a name="line.810"></a>
+<span class="sourceLineNo">811</span>  private void preRegistrationInitialization(){<a name="line.811"></a>
+<span class="sourceLineNo">812</span>    try {<a name="line.812"></a>
+<span class="sourceLineNo">813</span>      setupClusterConnection();<a name="line.813"></a>
+<span class="sourceLineNo">814</span><a name="line.814"></a>
+<span class="sourceLineNo">815</span>      this.secureBulkLoadManager = new SecureBulkLoadManager(this.conf, clusterConnection);<a name="line.815"></a>
+<span class="sourceLineNo">816</span>      this.secureBulkLoadManager.start();<a name="line.816"></a>
+<span class="sourceLineNo">817</span><a name="line.817"></a>
+<span class="sourceLineNo">818</span>      // Health checker thread.<a name="line.818"></a>
+<span class="sourceLineNo">819</span>      if (isHealthCheckerConfigured()) {<a name="line.819"></a>
+<span class="sourceLineNo">820</span>        int sleepTime = this.conf.getInt(HConstants.HEALTH_CHORE_WAKE_FREQ,<a name="line.820"></a>
+<span class="sourceLineNo">821</span>          HConstants.DEFAULT_THREAD_WAKE_FREQUENCY);<a name="line.821"></a>
+<span class="sourceLineNo">822</span>        healthCheckChore = new HealthCheckChore(sleepTime, this, getConfiguration());<a name="line.822"></a>
+<span class="sourceLineNo">823</span>      }<a name="line.823"></a>
+<span class="sourceLineNo">824</span><a name="line.824"></a>
+<span class="sourceLineNo">825</span>      initializeZooKeeper();<a name="line.825"></a>
+<span class="sourceLineNo">826</span>      if (!isStopped() &amp;&amp; !isAborted()) {<a name="line.826"></a>
+<span class="sourceLineNo">827</span>        initializeThreads();<a name="line.827"></a>
+<span class="sourceLineNo">828</span>      }<a name="line.828"></a>
+<span class="sourceLineNo">829</span>    } catch (Throwable t) {<a name="line.829"></a>
+<span class="sourceLineNo">830</span>      // Call stop if error or process will stick around for ever since server<a name="line.830"></a>
+<span class="sourceLineNo">831</span>      // puts up non-daemon threads.<a name="line.831"></a>
+<span class="sourceLineNo">832</span>      this.rpcServices.stop();<a name="line.832"></a>
+<span class="sourceLineNo">833</span>      abort("Initialization of RS failed.  Hence aborting RS.", t);<a name="line.833"></a>
+<span class="sourceLineNo">834</span>    }<a name="line.834"></a>
+<span class="sourceLineNo">835</span>  }<a name="line.835"></a>
+<span class="sourceLineNo">836</span><a name="line.836"></a>
+<span class="sourceLineNo">837</span>  /**<a name="line.837"></a>
+<span class="sourceLineNo">838</span>   * Bring up connection to zk ensemble and then wait until a master for this<a name="line.838"></a>
+<span class="sourceLineNo">839</span>   * cluster and then after that, wait until cluster 'up' flag has been set.<a name="line.839"></a>
+<span class="sourceLineNo">840</span>   * This is the order in which master does things.<a name="line.840"></a>
+<span class="sourceLineNo">841</span>   * Finally open long-living server short-circuit connection.<a name="line.841"></a>
+<span class="sourceLineNo">842</span>   * @throws IOException<a name="line.842"></a>
+<span class="sourceLineNo">843</span>   * @throws InterruptedException<a name="line.843"></a>
+<span class="sourceLineNo">844</span>   */<a name="line.844"></a>
+<span class="sourceLineNo">845</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="RV_RETURN_VALUE_IGNORED_BAD_PRACTICE",<a name="line.845"></a>
+<span class="sourceLineNo">846</span>    justification="cluster Id znode read would give us correct response")<a name="line.846"></a>
+<span class="sourceLineNo">847</span>  private void initializeZooKeeper() throws IOException, InterruptedException {<a name="line.847"></a>
+<span class="sourceLineNo">848</span>    // Create the master address tracker, register with zk, and start it.  Then<a name="line.848"></a>
+<span class="sourceLineNo">849</span>    // block until a master is available.  No point in starting up if no master<a name="line.849"></a>
+<span class="sourceLineNo">850</span>    // running.<a name="line.850"></a>
+<span class="sourceLineNo">851</span>    blockAndCheckIfStopped(this.masterAddressTracker);<a name="line.851"></a>
+<span class="sourceLineNo">852</span><a name="line.852"></a>
+<span class="sourceLineNo">853</span>    // Wait on cluster being up.  Master will set this flag up in zookeeper<a name="line.853"></a>
+<span class="sourceLineNo">854</span>    // when ready.<a name="line.854"></a>
+<span class="sourceLineNo">855</span>    blockAndCheckIfStopped(this.clusterStatusTracker);<a name="line.855"></a>
 <span class="sourceLineNo">856</span><a name="line.856"></a>
-<span class="sourceLineNo">857</span>    // In case colocated master, wait here till it's active.<a name="line.857"></a>
-<span class="sourceLineNo">858</span>    // So backup masters won't start as regionservers.<a name="line.858"></a>
-<span class="sourceLineNo">859</span>    // This is to avoid showing backup masters as regionservers<a name="line.859"></a>
-<span class="sourceLineNo">860</span>    // in master web UI, or assigning any region to them.<a name="line.860"></a>
-<span class="sourceLineNo">861</span>    waitForMasterActive();<a name="line.861"></a>
-<span class="sourceLineNo">862</span>    if (isStopped() || isAborted()) {<a name="line.862"></a>
-<span class="sourceLineNo">863</span>      return; // No need for further initialization<a name="line.863"></a>
-<span class="sourceLineNo">864</span>    }<a name="line.864"></a>
-<span class="sourceLineNo">865</span><a name="line.865"></a>
-<span class="sourceLineNo">866</span>    // watch for snapshots and other procedures<a name="line.866"></a>
-<span class="sourceLineNo">867</span>    try {<a name="line.867"></a>
-<span class="sourceLineNo">868</span>      rspmHost = new RegionServerProcedureManagerHost();<a name="line.868"></a>
-<span class="sourceLineNo">869</span>      rspmHost.loadProcedures(conf);<a name="line.869"></a>
-<span class="sourceLineNo">870</span>      rspmHost.initialize(this);<a name="line.870"></a>
-<span class="sourceLineNo">871</span>    } catch (KeeperException e) {<a name="line.871"></a>
-<span class="sourceLineNo">872</span>      this.abort("Failed to reach coordination cluster when creating procedure handler.", e);<a name="line.872"></a>
-<span class="sourceLineNo">873</span>    }<a name="line.873"></a>
-<span class="sourceLineNo">874</span>    // register watcher for recovering regions<a name="line.874"></a>
-<span class="sourceLineNo">875</span>    this.recoveringRegionWatcher = new RecoveringRegionWatcher(this.zooKeeper, this);<a name="line.875"></a>
-<span class="sourceLineNo">876</span>  }<a name="line.876"></a>
-<span class="sourceLineNo">877</span><a name="line.877"></a>
-<span class="sourceLineNo">878</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="RV_RETURN_VALUE_IGNORED",<a name="line.878"></a>
-<span class="sourceLineNo">879</span>      justification="We don't care about the return")<a name="line.879"></a>
-<span class="sourceLineNo">880</span>  private void doLatch(final CountDownLatch latch) throws InterruptedException {<a name="line.880"></a>
-<span class="sourceLineNo">881</span>    if (latch != null) {<a name="line.881"></a>
-<span class="sourceLineNo">882</span>      // Result is ignored intentionally but if I remove the below, findbugs complains (the<a name="line.882"></a>
-<span class="sourceLineNo">883</span>      // above justification on this method doesn't seem to suppress it).<a name="line.883"></a>
-<span class="sourceLineNo">884</span>      boolean result = latch.await(20, TimeUnit.SECONDS);<a name="line.884"></a>
-<span class="sourceLineNo">885</span>    }<a name="line.885"></a>
-<span class="sourceLineNo">886</span>  }<a name="line.886"></a>
-<span class="sourceLineNo">887</span><a name="line.887"></a>
-<span class="sourceLineNo">888</span>  /**<a name="line.888"></a>
-<span class="sourceLineNo">889</span>   * Utilty method to wait indefinitely on a znode availability while checking<a name="line.889"></a>
-<span class="sourceLineNo">890</span>   * if the region server is shut down<a name="line.890"></a>
-<span class="sourceLineNo">891</span>   * @param tracker znode tracker to use<a name="line.891"></a>
-<span class="sourceLineNo">892</span>   * @throws IOException any IO exception, plus if the RS is stopped<a name="line.892"></a>
-<span class="sourceLineNo">893</span>   * @throws InterruptedException<a name="line.893"></a>
-<span class="sourceLineNo">894</span>   */<a name="line.894"></a>
-<span class="sourceLineNo">895</span>  private void blockAndCheckIfStopped(ZooKeeperNodeTracker tracker)<a name="line.895"></a>
-<span class="sourceLineNo">896</span>      throws IOException, InterruptedException {<a name="line.896"></a>
-<span class="sourceLineNo">897</span>    while (tracker.blockUntilAvailable(this.msgInterval, false) == null) {<a name="line.897"></a>
-<span class="sourceLineNo">898</span>      if (this.stopped) {<a name="line.898"></a>
-<span class="sourceLineNo">899</span>        throw new IOException("Received the shutdown message while waiting.");<a name="line.899"></a>
-<span class="sourceLineNo">900</span>      }<a name="line.900"></a>
-<span class="sourceLineNo">901</span>    }<a name="line.901"></a>
-<span class="sourceLineNo">902</span>  }<a name="line.902"></a>
-<span class="sourceLineNo">903</span><a name="line.903"></a>
-<span class="sourceLineNo">904</span>  /**<a name="line.904"></a>
-<span class="sourceLineNo">905</span>   * @return False if cluster shutdown in progress<a name="line.905"></a>
-<span class="sourceLineNo">906</span>   */<a name="line.906"></a>
-<span class="sourceLineNo">907</span>  private boolean isClusterUp() {<a name="line.907"></a>
-<span class="sourceLineNo">908</span>    return clusterStatusTracker != null &amp;&amp; clusterStatusTracker.isClusterUp();<a name="line.908"></a>
-<span class="sourceLineNo">909</span>  }<a name="line.909"></a>
-<span class="sourceLineNo">910</span><a name="line.910"></a>
-<span class="sourceLineNo">911</span>  private void initializeThreads() throws IOException {<a name="line.911"></a>
-<span class="sourceLineNo">912</span>    // Cache flushing thread.<a name="line.912"></a>
-<span class="sourceLineNo">913</span>    this.cacheFlusher = new MemStoreFlusher(conf, this);<a name="line.913"></a>
-<span class="sourceLineNo">914</span><a name="line.914"></a>
-<span class="sourceLineNo">915</span>    // Compaction thread<a name="line.915"></a>
-<span class="sourceLineNo">916</span>    this.compactSplitThread = new CompactSplit(this);<a name="line.916"></a>
-<span class="sourceLineNo">917</span><a name="line.917"></a>
-<span class="sourceLineNo">918</span>    // Background thread to check for compactions; needed if region has not gotten updates<a name="line.918"></a>
-<span class="sourceLineNo">919</span>    // in a while. It will take care of not checking too frequently on store-by-store basis.<a name="line.919"></a>
-<span class="sourceLineNo">920</span>    this.compactionChecker = new CompactionChecker(this, this.threadWakeFrequency, this);<a name="line.920"></a>
-<span class="sourceLineNo">921</span>    this.periodicFlusher = new PeriodicMemstoreFlusher(this.threadWakeFrequency, this);<a name="line.921"></a>
-<span class="sourceLineNo">922</span>    this.leases = new Leases(this.threadWakeFrequency);<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>    // Create the thread to clean the moved regions list<a name="line.924"></a>
-<span class="sourceLineNo">925</span>    movedRegionsCleaner = MovedRegionsCleaner.create(this);<a name="line.925"></a>
-<span class="sourceLineNo">926</span><a name="line.926"></a>
-<span class="sourceLineNo">927</span>    if (this.nonceManager != null) {<a name="line.927"></a>
-<span class="sourceLineNo">928</span>      // Create the scheduled chore that cleans up nonces.<a name="line.928"></a>
-<span class="sourceLineNo">929</span>      nonceManagerChore = this.nonceManager.createCleanupScheduledChore(this);<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>    // Setup the Quota Manager<a name="line.932"></a>
-<span class="sourceLineNo">933</span>    rsQuotaManager = new RegionServerRpcQuotaManager(this);<a name="line.933"></a>
-<span class="sourceLineNo">934</span>    rsSpaceQuotaManager = new RegionServerSpaceQuotaManager(this);<a name="line.934"></a>
-<span class="sourceLineNo">935</span><a name="line.935"></a>
-<span class="sourceLineNo">936</span>    if (QuotaUtil.isQuotaEnabled(conf)) {<a name="line.936"></a>
-<span class="sourceLineNo">937</span>      this.fsUtilizationChore = new FileSystemUtilizationChore(this);<a name="line.937"></a>
-<span class="sourceLineNo">938</span>    }<a name="line.938"></a>
-<span class="sourceLineNo">939</span><a name="line.939"></a>
-<span class="sourceLineNo">940</span>    // Setup RPC client for master communication<a name="line.940"></a>
-<span class="sourceLineNo">941</span>    rpcClient = RpcClientFactory.createClient(conf, clusterId, new InetSocketAddress(<a name="line.941"></a>
-<span class="sourceLineNo">942</span>        rpcServices.isa.getAddress(), 0), clusterConnection.getConnectionMetrics());<a name="line.942"></a>
-<span class="sourceLineNo">943</span><a name="line.943"></a>
-<span class="sourceLineNo">944</span>    boolean onlyMetaRefresh = false;<a name="line.944"></a>
-<span class="sourceLineNo">945</span>    int storefileRefreshPeriod = conf.getInt(<a name="line.945"></a>
-<span class="sourceLineNo">946</span>        StorefileRefresherChore.REGIONSERVER_STOREFILE_REFRESH_PERIOD<a name="line.946"></a>
-<span class="sourceLineNo">947</span>      , StorefileRefresherChore.DEFAULT_REGIONSERVER_STOREFILE_REFRESH_PERIOD);<a name="line.947"></a>
-<span class="sourceLineNo">948</span>    if (storefileRefreshPeriod == 0) {<a name="line.948"></a>
-<span class="sourceLineNo">949</span>      storefileRefreshPeriod = conf.getInt(<

<TRUNCATED>

[09/26] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html
index e1e4110..c46e8c5 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html
@@ -458,3282 +458,3297 @@
 <span class="sourceLineNo">450</span>  @InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CONFIG)<a name="line.450"></a>
 <span class="sourceLineNo">451</span>  protected final static String MASTER_HOSTNAME_KEY = "hbase.master.hostname";<a name="line.451"></a>
 <span class="sourceLineNo">452</span><a name="line.452"></a>
-<span class="sourceLineNo">453</span>  /**<a name="line.453"></a>
-<span class="sourceLineNo">454</span>   * This servers startcode.<a name="line.454"></a>
-<span class="sourceLineNo">455</span>   */<a name="line.455"></a>
-<span class="sourceLineNo">456</span>  protected final long startcode;<a name="line.456"></a>
+<span class="sourceLineNo">453</span>  // HBASE-18226: This config and hbase.regionserver.hostname are mutually exclusive.<a name="line.453"></a>
+<span class="sourceLineNo">454</span>  // Exception will be thrown if both are used.<a name="line.454"></a>
+<span class="sourceLineNo">455</span>  final static String RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY =<a name="line.455"></a>
+<span class="sourceLineNo">456</span>    "hbase.regionserver.hostname.disable.master.reversedns";<a name="line.456"></a>
 <span class="sourceLineNo">457</span><a name="line.457"></a>
 <span class="sourceLineNo">458</span>  /**<a name="line.458"></a>
-<span class="sourceLineNo">459</span>   * Unique identifier for the cluster we are a part of.<a name="line.459"></a>
+<span class="sourceLineNo">459</span>   * This servers startcode.<a name="line.459"></a>
 <span class="sourceLineNo">460</span>   */<a name="line.460"></a>
-<span class="sourceLineNo">461</span>  private String clusterId;<a name="line.461"></a>
+<span class="sourceLineNo">461</span>  protected final long startcode;<a name="line.461"></a>
 <span class="sourceLineNo">462</span><a name="line.462"></a>
 <span class="sourceLineNo">463</span>  /**<a name="line.463"></a>
-<span class="sourceLineNo">464</span>   * MX Bean for RegionServerInfo<a name="line.464"></a>
+<span class="sourceLineNo">464</span>   * Unique identifier for the cluster we are a part of.<a name="line.464"></a>
 <span class="sourceLineNo">465</span>   */<a name="line.465"></a>
-<span class="sourceLineNo">466</span>  private ObjectName mxBean = null;<a name="line.466"></a>
+<span class="sourceLineNo">466</span>  private String clusterId;<a name="line.466"></a>
 <span class="sourceLineNo">467</span><a name="line.467"></a>
 <span class="sourceLineNo">468</span>  /**<a name="line.468"></a>
-<span class="sourceLineNo">469</span>   * Chore to clean periodically the moved region list<a name="line.469"></a>
+<span class="sourceLineNo">469</span>   * MX Bean for RegionServerInfo<a name="line.469"></a>
 <span class="sourceLineNo">470</span>   */<a name="line.470"></a>
-<span class="sourceLineNo">471</span>  private MovedRegionsCleaner movedRegionsCleaner;<a name="line.471"></a>
+<span class="sourceLineNo">471</span>  private ObjectName mxBean = null;<a name="line.471"></a>
 <span class="sourceLineNo">472</span><a name="line.472"></a>
-<span class="sourceLineNo">473</span>  // chore for refreshing store files for secondary regions<a name="line.473"></a>
-<span class="sourceLineNo">474</span>  private StorefileRefresherChore storefileRefresher;<a name="line.474"></a>
-<span class="sourceLineNo">475</span><a name="line.475"></a>
-<span class="sourceLineNo">476</span>  private RegionServerCoprocessorHost rsHost;<a name="line.476"></a>
+<span class="sourceLineNo">473</span>  /**<a name="line.473"></a>
+<span class="sourceLineNo">474</span>   * Chore to clean periodically the moved region list<a name="line.474"></a>
+<span class="sourceLineNo">475</span>   */<a name="line.475"></a>
+<span class="sourceLineNo">476</span>  private MovedRegionsCleaner movedRegionsCleaner;<a name="line.476"></a>
 <span class="sourceLineNo">477</span><a name="line.477"></a>
-<span class="sourceLineNo">478</span>  private RegionServerProcedureManagerHost rspmHost;<a name="line.478"></a>
-<span class="sourceLineNo">479</span><a name="line.479"></a>
-<span class="sourceLineNo">480</span>  private RegionServerRpcQuotaManager rsQuotaManager;<a name="line.480"></a>
-<span class="sourceLineNo">481</span>  private RegionServerSpaceQuotaManager rsSpaceQuotaManager;<a name="line.481"></a>
+<span class="sourceLineNo">478</span>  // chore for refreshing store files for secondary regions<a name="line.478"></a>
+<span class="sourceLineNo">479</span>  private StorefileRefresherChore storefileRefresher;<a name="line.479"></a>
+<span class="sourceLineNo">480</span><a name="line.480"></a>
+<span class="sourceLineNo">481</span>  private RegionServerCoprocessorHost rsHost;<a name="line.481"></a>
 <span class="sourceLineNo">482</span><a name="line.482"></a>
-<span class="sourceLineNo">483</span>  /**<a name="line.483"></a>
-<span class="sourceLineNo">484</span>   * Nonce manager. Nonces are used to make operations like increment and append idempotent<a name="line.484"></a>
-<span class="sourceLineNo">485</span>   * in the case where client doesn't receive the response from a successful operation and<a name="line.485"></a>
-<span class="sourceLineNo">486</span>   * retries. We track the successful ops for some time via a nonce sent by client and handle<a name="line.486"></a>
-<span class="sourceLineNo">487</span>   * duplicate operations (currently, by failing them; in future we might use MVCC to return<a name="line.487"></a>
-<span class="sourceLineNo">488</span>   * result). Nonces are also recovered from WAL during, recovery; however, the caveats (from<a name="line.488"></a>
-<span class="sourceLineNo">489</span>   * HBASE-3787) are:<a name="line.489"></a>
-<span class="sourceLineNo">490</span>   * - WAL recovery is optimized, and under high load we won't read nearly nonce-timeout worth<a name="line.490"></a>
-<span class="sourceLineNo">491</span>   *   of past records. If we don't read the records, we don't read and recover the nonces.<a name="line.491"></a>
-<span class="sourceLineNo">492</span>   *   Some WALs within nonce-timeout at recovery may not even be present due to rolling/cleanup.<a name="line.492"></a>
-<span class="sourceLineNo">493</span>   * - There's no WAL recovery during normal region move, so nonces will not be transfered.<a name="line.493"></a>
-<span class="sourceLineNo">494</span>   * We can have separate additional "Nonce WAL". It will just contain bunch of numbers and<a name="line.494"></a>
-<span class="sourceLineNo">495</span>   * won't be flushed on main path - because WAL itself also contains nonces, if we only flush<a name="line.495"></a>
-<span class="sourceLineNo">496</span>   * it before memstore flush, for a given nonce we will either see it in the WAL (if it was<a name="line.496"></a>
-<span class="sourceLineNo">497</span>   * never flushed to disk, it will be part of recovery), or we'll see it as part of the nonce<a name="line.497"></a>
-<span class="sourceLineNo">498</span>   * log (or both occasionally, which doesn't matter). Nonce log file can be deleted after the<a name="line.498"></a>
-<span class="sourceLineNo">499</span>   * latest nonce in it expired. It can also be recovered during move.<a name="line.499"></a>
-<span class="sourceLineNo">500</span>   */<a name="line.500"></a>
-<span class="sourceLineNo">501</span>  final ServerNonceManager nonceManager;<a name="line.501"></a>
-<span class="sourceLineNo">502</span><a name="line.502"></a>
-<span class="sourceLineNo">503</span>  private UserProvider userProvider;<a name="line.503"></a>
-<span class="sourceLineNo">504</span><a name="line.504"></a>
-<span class="sourceLineNo">505</span>  protected final RSRpcServices rpcServices;<a name="line.505"></a>
-<span class="sourceLineNo">506</span><a name="line.506"></a>
-<span class="sourceLineNo">507</span>  protected BaseCoordinatedStateManager csm;<a name="line.507"></a>
-<span class="sourceLineNo">508</span><a name="line.508"></a>
-<span class="sourceLineNo">509</span>  /**<a name="line.509"></a>
-<span class="sourceLineNo">510</span>   * Configuration manager is used to register/deregister and notify the configuration observers<a name="line.510"></a>
-<span class="sourceLineNo">511</span>   * when the regionserver is notified that there was a change in the on disk configs.<a name="line.511"></a>
-<span class="sourceLineNo">512</span>   */<a name="line.512"></a>
-<span class="sourceLineNo">513</span>  protected final ConfigurationManager configurationManager;<a name="line.513"></a>
-<span class="sourceLineNo">514</span><a name="line.514"></a>
-<span class="sourceLineNo">515</span>  @VisibleForTesting<a name="line.515"></a>
-<span class="sourceLineNo">516</span>  CompactedHFilesDischarger compactedFileDischarger;<a name="line.516"></a>
-<span class="sourceLineNo">517</span><a name="line.517"></a>
-<span class="sourceLineNo">518</span>  private volatile ThroughputController flushThroughputController;<a name="line.518"></a>
+<span class="sourceLineNo">483</span>  private RegionServerProcedureManagerHost rspmHost;<a name="line.483"></a>
+<span class="sourceLineNo">484</span><a name="line.484"></a>
+<span class="sourceLineNo">485</span>  private RegionServerRpcQuotaManager rsQuotaManager;<a name="line.485"></a>
+<span class="sourceLineNo">486</span>  private RegionServerSpaceQuotaManager rsSpaceQuotaManager;<a name="line.486"></a>
+<span class="sourceLineNo">487</span><a name="line.487"></a>
+<span class="sourceLineNo">488</span>  /**<a name="line.488"></a>
+<span class="sourceLineNo">489</span>   * Nonce manager. Nonces are used to make operations like increment and append idempotent<a name="line.489"></a>
+<span class="sourceLineNo">490</span>   * in the case where client doesn't receive the response from a successful operation and<a name="line.490"></a>
+<span class="sourceLineNo">491</span>   * retries. We track the successful ops for some time via a nonce sent by client and handle<a name="line.491"></a>
+<span class="sourceLineNo">492</span>   * duplicate operations (currently, by failing them; in future we might use MVCC to return<a name="line.492"></a>
+<span class="sourceLineNo">493</span>   * result). Nonces are also recovered from WAL during, recovery; however, the caveats (from<a name="line.493"></a>
+<span class="sourceLineNo">494</span>   * HBASE-3787) are:<a name="line.494"></a>
+<span class="sourceLineNo">495</span>   * - WAL recovery is optimized, and under high load we won't read nearly nonce-timeout worth<a name="line.495"></a>
+<span class="sourceLineNo">496</span>   *   of past records. If we don't read the records, we don't read and recover the nonces.<a name="line.496"></a>
+<span class="sourceLineNo">497</span>   *   Some WALs within nonce-timeout at recovery may not even be present due to rolling/cleanup.<a name="line.497"></a>
+<span class="sourceLineNo">498</span>   * - There's no WAL recovery during normal region move, so nonces will not be transfered.<a name="line.498"></a>
+<span class="sourceLineNo">499</span>   * We can have separate additional "Nonce WAL". It will just contain bunch of numbers and<a name="line.499"></a>
+<span class="sourceLineNo">500</span>   * won't be flushed on main path - because WAL itself also contains nonces, if we only flush<a name="line.500"></a>
+<span class="sourceLineNo">501</span>   * it before memstore flush, for a given nonce we will either see it in the WAL (if it was<a name="line.501"></a>
+<span class="sourceLineNo">502</span>   * never flushed to disk, it will be part of recovery), or we'll see it as part of the nonce<a name="line.502"></a>
+<span class="sourceLineNo">503</span>   * log (or both occasionally, which doesn't matter). Nonce log file can be deleted after the<a name="line.503"></a>
+<span class="sourceLineNo">504</span>   * latest nonce in it expired. It can also be recovered during move.<a name="line.504"></a>
+<span class="sourceLineNo">505</span>   */<a name="line.505"></a>
+<span class="sourceLineNo">506</span>  final ServerNonceManager nonceManager;<a name="line.506"></a>
+<span class="sourceLineNo">507</span><a name="line.507"></a>
+<span class="sourceLineNo">508</span>  private UserProvider userProvider;<a name="line.508"></a>
+<span class="sourceLineNo">509</span><a name="line.509"></a>
+<span class="sourceLineNo">510</span>  protected final RSRpcServices rpcServices;<a name="line.510"></a>
+<span class="sourceLineNo">511</span><a name="line.511"></a>
+<span class="sourceLineNo">512</span>  protected BaseCoordinatedStateManager csm;<a name="line.512"></a>
+<span class="sourceLineNo">513</span><a name="line.513"></a>
+<span class="sourceLineNo">514</span>  /**<a name="line.514"></a>
+<span class="sourceLineNo">515</span>   * Configuration manager is used to register/deregister and notify the configuration observers<a name="line.515"></a>
+<span class="sourceLineNo">516</span>   * when the regionserver is notified that there was a change in the on disk configs.<a name="line.516"></a>
+<span class="sourceLineNo">517</span>   */<a name="line.517"></a>
+<span class="sourceLineNo">518</span>  protected final ConfigurationManager configurationManager;<a name="line.518"></a>
 <span class="sourceLineNo">519</span><a name="line.519"></a>
-<span class="sourceLineNo">520</span>  protected SecureBulkLoadManager secureBulkLoadManager;<a name="line.520"></a>
-<span class="sourceLineNo">521</span><a name="line.521"></a>
-<span class="sourceLineNo">522</span>  protected FileSystemUtilizationChore fsUtilizationChore;<a name="line.522"></a>
-<span class="sourceLineNo">523</span><a name="line.523"></a>
-<span class="sourceLineNo">524</span>  /**<a name="line.524"></a>
-<span class="sourceLineNo">525</span>   * Starts a HRegionServer at the default location.<a name="line.525"></a>
-<span class="sourceLineNo">526</span>   */<a name="line.526"></a>
-<span class="sourceLineNo">527</span>  public HRegionServer(Configuration conf) throws IOException, InterruptedException {<a name="line.527"></a>
-<span class="sourceLineNo">528</span>    this(conf, CoordinatedStateManagerFactory.getCoordinatedStateManager(conf));<a name="line.528"></a>
-<span class="sourceLineNo">529</span>  }<a name="line.529"></a>
-<span class="sourceLineNo">530</span><a name="line.530"></a>
-<span class="sourceLineNo">531</span>  /**<a name="line.531"></a>
-<span class="sourceLineNo">532</span>   * Starts a HRegionServer at the default location<a name="line.532"></a>
-<span class="sourceLineNo">533</span>   * @param csm implementation of CoordinatedStateManager to be used<a name="line.533"></a>
-<span class="sourceLineNo">534</span>   */<a name="line.534"></a>
-<span class="sourceLineNo">535</span>  public HRegionServer(Configuration conf, CoordinatedStateManager csm) throws IOException {<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    super("RegionServer");  // thread name<a name="line.536"></a>
-<span class="sourceLineNo">537</span>    this.fsOk = true;<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    this.conf = conf;<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    MemorySizeUtil.checkForClusterFreeHeapMemoryLimit(this.conf);<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    HFile.checkHFileVersion(this.conf);<a name="line.540"></a>
-<span class="sourceLineNo">541</span>    checkCodecs(this.conf);<a name="line.541"></a>
-<span class="sourceLineNo">542</span>    this.userProvider = UserProvider.instantiate(conf);<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    FSUtils.setupShortCircuitRead(this.conf);<a name="line.543"></a>
-<span class="sourceLineNo">544</span><a name="line.544"></a>
-<span class="sourceLineNo">545</span>    Replication.decorateRegionServerConfiguration(this.conf);<a name="line.545"></a>
-<span class="sourceLineNo">546</span><a name="line.546"></a>
-<span class="sourceLineNo">547</span>    // Disable usage of meta replicas in the regionserver<a name="line.547"></a>
-<span class="sourceLineNo">548</span>    this.conf.setBoolean(HConstants.USE_META_REPLICAS, false);<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    // Config'ed params<a name="line.549"></a>
-<span class="sourceLineNo">550</span>    this.numRetries = this.conf.getInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER,<a name="line.550"></a>
-<span class="sourceLineNo">551</span>        HConstants.DEFAULT_HBASE_CLIENT_RETRIES_NUMBER);<a name="line.551"></a>
-<span class="sourceLineNo">552</span>    this.threadWakeFrequency = conf.getInt(HConstants.THREAD_WAKE_FREQUENCY, 10 * 1000);<a name="line.552"></a>
-<span class="sourceLineNo">553</span>    this.msgInterval = conf.getInt("hbase.regionserver.msginterval", 3 * 1000);<a name="line.553"></a>
-<span class="sourceLineNo">554</span><a name="line.554"></a>
-<span class="sourceLineNo">555</span>    this.sleeper = new Sleeper(this.msgInterval, this);<a name="line.555"></a>
-<span class="sourceLineNo">556</span><a name="line.556"></a>
-<span class="sourceLineNo">557</span>    boolean isNoncesEnabled = conf.getBoolean(HConstants.HBASE_RS_NONCES_ENABLED, true);<a name="line.557"></a>
-<span class="sourceLineNo">558</span>    this.nonceManager = isNoncesEnabled ? new ServerNonceManager(this.conf) : null;<a name="line.558"></a>
+<span class="sourceLineNo">520</span>  @VisibleForTesting<a name="line.520"></a>
+<span class="sourceLineNo">521</span>  CompactedHFilesDischarger compactedFileDischarger;<a name="line.521"></a>
+<span class="sourceLineNo">522</span><a name="line.522"></a>
+<span class="sourceLineNo">523</span>  private volatile ThroughputController flushThroughputController;<a name="line.523"></a>
+<span class="sourceLineNo">524</span><a name="line.524"></a>
+<span class="sourceLineNo">525</span>  protected SecureBulkLoadManager secureBulkLoadManager;<a name="line.525"></a>
+<span class="sourceLineNo">526</span><a name="line.526"></a>
+<span class="sourceLineNo">527</span>  protected FileSystemUtilizationChore fsUtilizationChore;<a name="line.527"></a>
+<span class="sourceLineNo">528</span><a name="line.528"></a>
+<span class="sourceLineNo">529</span>  /**<a name="line.529"></a>
+<span class="sourceLineNo">530</span>   * Starts a HRegionServer at the default location.<a name="line.530"></a>
+<span class="sourceLineNo">531</span>   */<a name="line.531"></a>
+<span class="sourceLineNo">532</span>  public HRegionServer(Configuration conf) throws IOException, InterruptedException {<a name="line.532"></a>
+<span class="sourceLineNo">533</span>    this(conf, CoordinatedStateManagerFactory.getCoordinatedStateManager(conf));<a name="line.533"></a>
+<span class="sourceLineNo">534</span>  }<a name="line.534"></a>
+<span class="sourceLineNo">535</span><a name="line.535"></a>
+<span class="sourceLineNo">536</span>  /**<a name="line.536"></a>
+<span class="sourceLineNo">537</span>   * Starts a HRegionServer at the default location<a name="line.537"></a>
+<span class="sourceLineNo">538</span>   * @param csm implementation of CoordinatedStateManager to be used<a name="line.538"></a>
+<span class="sourceLineNo">539</span>   */<a name="line.539"></a>
+<span class="sourceLineNo">540</span>  public HRegionServer(Configuration conf, CoordinatedStateManager csm) throws IOException {<a name="line.540"></a>
+<span class="sourceLineNo">541</span>    super("RegionServer");  // thread name<a name="line.541"></a>
+<span class="sourceLineNo">542</span>    this.fsOk = true;<a name="line.542"></a>
+<span class="sourceLineNo">543</span>    this.conf = conf;<a name="line.543"></a>
+<span class="sourceLineNo">544</span>    MemorySizeUtil.checkForClusterFreeHeapMemoryLimit(this.conf);<a name="line.544"></a>
+<span class="sourceLineNo">545</span>    HFile.checkHFileVersion(this.conf);<a name="line.545"></a>
+<span class="sourceLineNo">546</span>    checkCodecs(this.conf);<a name="line.546"></a>
+<span class="sourceLineNo">547</span>    this.userProvider = UserProvider.instantiate(conf);<a name="line.547"></a>
+<span class="sourceLineNo">548</span>    FSUtils.setupShortCircuitRead(this.conf);<a name="line.548"></a>
+<span class="sourceLineNo">549</span><a name="line.549"></a>
+<span class="sourceLineNo">550</span>    Replication.decorateRegionServerConfiguration(this.conf);<a name="line.550"></a>
+<span class="sourceLineNo">551</span><a name="line.551"></a>
+<span class="sourceLineNo">552</span>    // Disable usage of meta replicas in the regionserver<a name="line.552"></a>
+<span class="sourceLineNo">553</span>    this.conf.setBoolean(HConstants.USE_META_REPLICAS, false);<a name="line.553"></a>
+<span class="sourceLineNo">554</span>    // Config'ed params<a name="line.554"></a>
+<span class="sourceLineNo">555</span>    this.numRetries = this.conf.getInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER,<a name="line.555"></a>
+<span class="sourceLineNo">556</span>        HConstants.DEFAULT_HBASE_CLIENT_RETRIES_NUMBER);<a name="line.556"></a>
+<span class="sourceLineNo">557</span>    this.threadWakeFrequency = conf.getInt(HConstants.THREAD_WAKE_FREQUENCY, 10 * 1000);<a name="line.557"></a>
+<span class="sourceLineNo">558</span>    this.msgInterval = conf.getInt("hbase.regionserver.msginterval", 3 * 1000);<a name="line.558"></a>
 <span class="sourceLineNo">559</span><a name="line.559"></a>
-<span class="sourceLineNo">560</span>    this.numRegionsToReport = conf.getInt(<a name="line.560"></a>
-<span class="sourceLineNo">561</span>      "hbase.regionserver.numregionstoreport", 10);<a name="line.561"></a>
-<span class="sourceLineNo">562</span><a name="line.562"></a>
-<span class="sourceLineNo">563</span>    this.operationTimeout = conf.getInt(<a name="line.563"></a>
-<span class="sourceLineNo">564</span>      HConstants.HBASE_CLIENT_OPERATION_TIMEOUT,<a name="line.564"></a>
-<span class="sourceLineNo">565</span>      HConstants.DEFAULT_HBASE_CLIENT_OPERATION_TIMEOUT);<a name="line.565"></a>
-<span class="sourceLineNo">566</span><a name="line.566"></a>
-<span class="sourceLineNo">567</span>    this.shortOperationTimeout = conf.getInt(<a name="line.567"></a>
-<span class="sourceLineNo">568</span>      HConstants.HBASE_RPC_SHORTOPERATION_TIMEOUT_KEY,<a name="line.568"></a>
-<span class="sourceLineNo">569</span>      HConstants.DEFAULT_HBASE_RPC_SHORTOPERATION_TIMEOUT);<a name="line.569"></a>
-<span class="sourceLineNo">570</span><a name="line.570"></a>
-<span class="sourceLineNo">571</span>    this.abortRequested = false;<a name="line.571"></a>
-<span class="sourceLineNo">572</span>    this.stopped = false;<a name="line.572"></a>
-<span class="sourceLineNo">573</span><a name="line.573"></a>
-<span class="sourceLineNo">574</span>    rpcServices = createRpcServices();<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    this.startcode = System.currentTimeMillis();<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    if (this instanceof HMaster) {<a name="line.576"></a>
-<span class="sourceLineNo">577</span>      useThisHostnameInstead = conf.get(MASTER_HOSTNAME_KEY);<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    } else {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>      useThisHostnameInstead = conf.get(RS_HOSTNAME_KEY);<a name="line.579"></a>
-<span class="sourceLineNo">580</span>    }<a name="line.580"></a>
-<span class="sourceLineNo">581</span>    String hostName = shouldUseThisHostnameInstead() ? useThisHostnameInstead :<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      rpcServices.isa.getHostName();<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    serverName = ServerName.valueOf(hostName, rpcServices.isa.getPort(), startcode);<a name="line.583"></a>
-<span class="sourceLineNo">584</span><a name="line.584"></a>
-<span class="sourceLineNo">585</span>    rpcControllerFactory = RpcControllerFactory.instantiate(this.conf);<a name="line.585"></a>
-<span class="sourceLineNo">586</span>    rpcRetryingCallerFactory = RpcRetryingCallerFactory.instantiate(this.conf);<a name="line.586"></a>
-<span class="sourceLineNo">587</span><a name="line.587"></a>
-<span class="sourceLineNo">588</span>    // login the zookeeper client principal (if using security)<a name="line.588"></a>
-<span class="sourceLineNo">589</span>    ZKUtil.loginClient(this.conf, HConstants.ZK_CLIENT_KEYTAB_FILE,<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      HConstants.ZK_CLIENT_KERBEROS_PRINCIPAL, hostName);<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    // login the server principal (if using secure Hadoop)<a name="line.591"></a>
-<span class="sourceLineNo">592</span>    login(userProvider, hostName);<a name="line.592"></a>
-<span class="sourceLineNo">593</span>    // init superusers and add the server principal (if using security)<a name="line.593"></a>
-<span class="sourceLineNo">594</span>    // or process owner as default super user.<a name="line.594"></a>
-<span class="sourceLineNo">595</span>    Superusers.initialize(conf);<a name="line.595"></a>
-<span class="sourceLineNo">596</span><a name="line.596"></a>
-<span class="sourceLineNo">597</span>    regionServerAccounting = new RegionServerAccounting(conf);<a name="line.597"></a>
-<span class="sourceLineNo">598</span>    cacheConfig = new CacheConfig(conf);<a name="line.598"></a>
-<span class="sourceLineNo">599</span>    mobCacheConfig = new MobCacheConfig(conf);<a name="line.599"></a>
-<span class="sourceLineNo">600</span>    uncaughtExceptionHandler = new UncaughtExceptionHandler() {<a name="line.600"></a>
-<span class="sourceLineNo">601</span>      @Override<a name="line.601"></a>
-<span class="sourceLineNo">602</span>      public void uncaughtException(Thread t, Throwable e) {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>        abort("Uncaught exception in service thread " + t.getName(), e);<a name="line.603"></a>
-<span class="sourceLineNo">604</span>      }<a name="line.604"></a>
-<span class="sourceLineNo">605</span>    };<a name="line.605"></a>
-<span class="sourceLineNo">606</span><a name="line.606"></a>
-<span class="sourceLineNo">607</span>    initializeFileSystem();<a name="line.607"></a>
-<span class="sourceLineNo">608</span><a name="line.608"></a>
-<span class="sourceLineNo">609</span>    service = new ExecutorService(getServerName().toShortString());<a name="line.609"></a>
-<span class="sourceLineNo">610</span>    spanReceiverHost = SpanReceiverHost.getInstance(getConfiguration());<a name="line.610"></a>
+<span class="sourceLineNo">560</span>    this.sleeper = new Sleeper(this.msgInterval, this);<a name="line.560"></a>
+<span class="sourceLineNo">561</span><a name="line.561"></a>
+<span class="sourceLineNo">562</span>    boolean isNoncesEnabled = conf.getBoolean(HConstants.HBASE_RS_NONCES_ENABLED, true);<a name="line.562"></a>
+<span class="sourceLineNo">563</span>    this.nonceManager = isNoncesEnabled ? new ServerNonceManager(this.conf) : null;<a name="line.563"></a>
+<span class="sourceLineNo">564</span><a name="line.564"></a>
+<span class="sourceLineNo">565</span>    this.numRegionsToReport = conf.getInt(<a name="line.565"></a>
+<span class="sourceLineNo">566</span>      "hbase.regionserver.numregionstoreport", 10);<a name="line.566"></a>
+<span class="sourceLineNo">567</span><a name="line.567"></a>
+<span class="sourceLineNo">568</span>    this.operationTimeout = conf.getInt(<a name="line.568"></a>
+<span class="sourceLineNo">569</span>      HConstants.HBASE_CLIENT_OPERATION_TIMEOUT,<a name="line.569"></a>
+<span class="sourceLineNo">570</span>      HConstants.DEFAULT_HBASE_CLIENT_OPERATION_TIMEOUT);<a name="line.570"></a>
+<span class="sourceLineNo">571</span><a name="line.571"></a>
+<span class="sourceLineNo">572</span>    this.shortOperationTimeout = conf.getInt(<a name="line.572"></a>
+<span class="sourceLineNo">573</span>      HConstants.HBASE_RPC_SHORTOPERATION_TIMEOUT_KEY,<a name="line.573"></a>
+<span class="sourceLineNo">574</span>      HConstants.DEFAULT_HBASE_RPC_SHORTOPERATION_TIMEOUT);<a name="line.574"></a>
+<span class="sourceLineNo">575</span><a name="line.575"></a>
+<span class="sourceLineNo">576</span>    this.abortRequested = false;<a name="line.576"></a>
+<span class="sourceLineNo">577</span>    this.stopped = false;<a name="line.577"></a>
+<span class="sourceLineNo">578</span><a name="line.578"></a>
+<span class="sourceLineNo">579</span>    rpcServices = createRpcServices();<a name="line.579"></a>
+<span class="sourceLineNo">580</span>    this.startcode = System.currentTimeMillis();<a name="line.580"></a>
+<span class="sourceLineNo">581</span>    if (this instanceof HMaster) {<a name="line.581"></a>
+<span class="sourceLineNo">582</span>      useThisHostnameInstead = conf.get(MASTER_HOSTNAME_KEY);<a name="line.582"></a>
+<span class="sourceLineNo">583</span>    } else {<a name="line.583"></a>
+<span class="sourceLineNo">584</span>      useThisHostnameInstead = conf.get(RS_HOSTNAME_KEY);<a name="line.584"></a>
+<span class="sourceLineNo">585</span>      if (conf.getBoolean(RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY, false)) {<a name="line.585"></a>
+<span class="sourceLineNo">586</span>        if (shouldUseThisHostnameInstead()) {<a name="line.586"></a>
+<span class="sourceLineNo">587</span>          String msg = RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY + " and " + RS_HOSTNAME_KEY +<a name="line.587"></a>
+<span class="sourceLineNo">588</span>            " are mutually exclusive. Do not set " + RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY +<a name="line.588"></a>
+<span class="sourceLineNo">589</span>            " to true while " + RS_HOSTNAME_KEY + " is used";<a name="line.589"></a>
+<span class="sourceLineNo">590</span>          throw new IOException(msg);<a name="line.590"></a>
+<span class="sourceLineNo">591</span>        } else {<a name="line.591"></a>
+<span class="sourceLineNo">592</span>          useThisHostnameInstead = rpcServices.isa.getHostName();<a name="line.592"></a>
+<span class="sourceLineNo">593</span>        }<a name="line.593"></a>
+<span class="sourceLineNo">594</span>      }<a name="line.594"></a>
+<span class="sourceLineNo">595</span>    }<a name="line.595"></a>
+<span class="sourceLineNo">596</span>    String hostName = shouldUseThisHostnameInstead() ? useThisHostnameInstead :<a name="line.596"></a>
+<span class="sourceLineNo">597</span>      rpcServices.isa.getHostName();<a name="line.597"></a>
+<span class="sourceLineNo">598</span>    serverName = ServerName.valueOf(hostName, rpcServices.isa.getPort(), startcode);<a name="line.598"></a>
+<span class="sourceLineNo">599</span><a name="line.599"></a>
+<span class="sourceLineNo">600</span>    rpcControllerFactory = RpcControllerFactory.instantiate(this.conf);<a name="line.600"></a>
+<span class="sourceLineNo">601</span>    rpcRetryingCallerFactory = RpcRetryingCallerFactory.instantiate(this.conf);<a name="line.601"></a>
+<span class="sourceLineNo">602</span><a name="line.602"></a>
+<span class="sourceLineNo">603</span>    // login the zookeeper client principal (if using security)<a name="line.603"></a>
+<span class="sourceLineNo">604</span>    ZKUtil.loginClient(this.conf, HConstants.ZK_CLIENT_KEYTAB_FILE,<a name="line.604"></a>
+<span class="sourceLineNo">605</span>      HConstants.ZK_CLIENT_KERBEROS_PRINCIPAL, hostName);<a name="line.605"></a>
+<span class="sourceLineNo">606</span>    // login the server principal (if using secure Hadoop)<a name="line.606"></a>
+<span class="sourceLineNo">607</span>    login(userProvider, hostName);<a name="line.607"></a>
+<span class="sourceLineNo">608</span>    // init superusers and add the server principal (if using security)<a name="line.608"></a>
+<span class="sourceLineNo">609</span>    // or process owner as default super user.<a name="line.609"></a>
+<span class="sourceLineNo">610</span>    Superusers.initialize(conf);<a name="line.610"></a>
 <span class="sourceLineNo">611</span><a name="line.611"></a>
-<span class="sourceLineNo">612</span>    // Some unit tests don't need a cluster, so no zookeeper at all<a name="line.612"></a>
-<span class="sourceLineNo">613</span>    if (!conf.getBoolean("hbase.testing.nocluster", false)) {<a name="line.613"></a>
-<span class="sourceLineNo">614</span>      // Open connection to zookeeper and set primary watcher<a name="line.614"></a>
-<span class="sourceLineNo">615</span>      zooKeeper = new ZooKeeperWatcher(conf, getProcessName() + ":" +<a name="line.615"></a>
-<span class="sourceLineNo">616</span>        rpcServices.isa.getPort(), this, canCreateBaseZNode());<a name="line.616"></a>
-<span class="sourceLineNo">617</span><a name="line.617"></a>
-<span class="sourceLineNo">618</span>      this.csm = (BaseCoordinatedStateManager) csm;<a name="line.618"></a>
-<span class="sourceLineNo">619</span>      this.csm.initialize(this);<a name="line.619"></a>
-<span class="sourceLineNo">620</span>      this.csm.start();<a name="line.620"></a>
+<span class="sourceLineNo">612</span>    regionServerAccounting = new RegionServerAccounting(conf);<a name="line.612"></a>
+<span class="sourceLineNo">613</span>    cacheConfig = new CacheConfig(conf);<a name="line.613"></a>
+<span class="sourceLineNo">614</span>    mobCacheConfig = new MobCacheConfig(conf);<a name="line.614"></a>
+<span class="sourceLineNo">615</span>    uncaughtExceptionHandler = new UncaughtExceptionHandler() {<a name="line.615"></a>
+<span class="sourceLineNo">616</span>      @Override<a name="line.616"></a>
+<span class="sourceLineNo">617</span>      public void uncaughtException(Thread t, Throwable e) {<a name="line.617"></a>
+<span class="sourceLineNo">618</span>        abort("Uncaught exception in service thread " + t.getName(), e);<a name="line.618"></a>
+<span class="sourceLineNo">619</span>      }<a name="line.619"></a>
+<span class="sourceLineNo">620</span>    };<a name="line.620"></a>
 <span class="sourceLineNo">621</span><a name="line.621"></a>
-<span class="sourceLineNo">622</span>      masterAddressTracker = new MasterAddressTracker(getZooKeeper(), this);<a name="line.622"></a>
-<span class="sourceLineNo">623</span>      masterAddressTracker.start();<a name="line.623"></a>
-<span class="sourceLineNo">624</span><a name="line.624"></a>
-<span class="sourceLineNo">625</span>      clusterStatusTracker = new ClusterStatusTracker(zooKeeper, this);<a name="line.625"></a>
-<span class="sourceLineNo">626</span>      clusterStatusTracker.start();<a name="line.626"></a>
-<span class="sourceLineNo">627</span>    }<a name="line.627"></a>
-<span class="sourceLineNo">628</span>    this.configurationManager = new ConfigurationManager();<a name="line.628"></a>
-<span class="sourceLineNo">629</span><a name="line.629"></a>
-<span class="sourceLineNo">630</span>    rpcServices.start();<a name="line.630"></a>
-<span class="sourceLineNo">631</span>    putUpWebUI();<a name="line.631"></a>
-<span class="sourceLineNo">632</span>    this.walRoller = new LogRoller(this, this);<a name="line.632"></a>
-<span class="sourceLineNo">633</span>    this.choreService = new ChoreService(getServerName().toString(), true);<a name="line.633"></a>
-<span class="sourceLineNo">634</span>    this.flushThroughputController = FlushThroughputControllerFactory.create(this, conf);<a name="line.634"></a>
-<span class="sourceLineNo">635</span><a name="line.635"></a>
-<span class="sourceLineNo">636</span>    if (!SystemUtils.IS_OS_WINDOWS) {<a name="line.636"></a>
-<span class="sourceLineNo">637</span>      Signal.handle(new Signal("HUP"), new SignalHandler() {<a name="line.637"></a>
-<span class="sourceLineNo">638</span>        @Override<a name="line.638"></a>
-<span class="sourceLineNo">639</span>        public void handle(Signal signal) {<a name="line.639"></a>
-<span class="sourceLineNo">640</span>          getConfiguration().reloadConfiguration();<a name="line.640"></a>
-<span class="sourceLineNo">641</span>          configurationManager.notifyAllObservers(getConfiguration());<a name="line.641"></a>
-<span class="sourceLineNo">642</span>        }<a name="line.642"></a>
-<span class="sourceLineNo">643</span>      });<a name="line.643"></a>
-<span class="sourceLineNo">644</span>    }<a name="line.644"></a>
-<span class="sourceLineNo">645</span>    // Create the CompactedFileDischarger chore service. This chore helps to<a name="line.645"></a>
-<span class="sourceLineNo">646</span>    // remove the compacted files<a name="line.646"></a>
-<span class="sourceLineNo">647</span>    // that will no longer be used in reads.<a name="line.647"></a>
-<span class="sourceLineNo">648</span>    // Default is 2 mins. The default value for TTLCleaner is 5 mins so we set this to<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    // 2 mins so that compacted files can be archived before the TTLCleaner runs<a name="line.649"></a>
-<span class="sourceLineNo">650</span>    int cleanerInterval =<a name="line.650"></a>
-<span class="sourceLineNo">651</span>        conf.getInt("hbase.hfile.compaction.discharger.interval", 2 * 60 * 1000);<a name="line.651"></a>
-<span class="sourceLineNo">652</span>    this.compactedFileDischarger =<a name="line.652"></a>
-<span class="sourceLineNo">653</span>        new CompactedHFilesDischarger(cleanerInterval, this, this);<a name="line.653"></a>
-<span class="sourceLineNo">654</span>    choreService.scheduleChore(compactedFileDischarger);<a name="line.654"></a>
-<span class="sourceLineNo">655</span>  }<a name="line.655"></a>
-<span class="sourceLineNo">656</span><a name="line.656"></a>
-<span class="sourceLineNo">657</span>  private void initializeFileSystem() throws IOException {<a name="line.657"></a>
-<span class="sourceLineNo">658</span>    // Get fs instance used by this RS.  Do we use checksum verification in the hbase? If hbase<a name="line.658"></a>
-<span class="sourceLineNo">659</span>    // checksum verification enabled, then automatically switch off hdfs checksum verification.<a name="line.659"></a>
-<span class="sourceLineNo">660</span>    boolean useHBaseChecksum = conf.getBoolean(HConstants.HBASE_CHECKSUM_VERIFICATION, true);<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    FSUtils.setFsDefault(this.conf, FSUtils.getWALRootDir(this.conf));<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    this.walFs = new HFileSystem(this.conf, useHBaseChecksum);<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    this.walRootDir = FSUtils.getWALRootDir(this.conf);<a name="line.663"></a>
-<span class="sourceLineNo">664</span>    // Set 'fs.defaultFS' to match the filesystem on hbase.rootdir else<a name="line.664"></a>
-<span class="sourceLineNo">665</span>    // underlying hadoop hdfs accessors will be going against wrong filesystem<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    // (unless all is set to defaults).<a name="line.666"></a>
-<span class="sourceLineNo">667</span>    FSUtils.setFsDefault(this.conf, FSUtils.getRootDir(this.conf));<a name="line.667"></a>
-<span class="sourceLineNo">668</span>    this.fs = new HFileSystem(this.conf, useHBaseChecksum);<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    this.rootDir = FSUtils.getRootDir(this.conf);<a name="line.669"></a>
-<span class="sourceLineNo">670</span>    this.tableDescriptors = getFsTableDescriptors();<a name="line.670"></a>
-<span class="sourceLineNo">671</span>  }<a name="line.671"></a>
-<span class="sourceLineNo">672</span><a name="line.672"></a>
-<span class="sourceLineNo">673</span>  protected TableDescriptors getFsTableDescriptors() throws IOException {<a name="line.673"></a>
-<span class="sourceLineNo">674</span>    return new FSTableDescriptors(this.conf,<a name="line.674"></a>
-<span class="sourceLineNo">675</span>      this.fs, this.rootDir, !canUpdateTableDescriptor(), false);<a name="line.675"></a>
-<span class="sourceLineNo">676</span>  }<a name="line.676"></a>
-<span class="sourceLineNo">677</span><a name="line.677"></a>
-<span class="sourceLineNo">678</span>  protected void setInitLatch(CountDownLatch latch) {<a name="line.678"></a>
-<span class="sourceLineNo">679</span>    this.initLatch = latch;<a name="line.679"></a>
-<span class="sourceLineNo">680</span>  }<a name="line.680"></a>
-<span class="sourceLineNo">681</span><a name="line.681"></a>
-<span class="sourceLineNo">682</span>  /*<a name="line.682"></a>
-<span class="sourceLineNo">683</span>   * Returns true if configured hostname should be used<a name="line.683"></a>
-<span class="sourceLineNo">684</span>   */<a name="line.684"></a>
-<span class="sourceLineNo">685</span>  protected boolean shouldUseThisHostnameInstead() {<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    return useThisHostnameInstead != null &amp;&amp; !useThisHostnameInstead.isEmpty();<a name="line.686"></a>
-<span class="sourceLineNo">687</span>  }<a name="line.687"></a>
-<span class="sourceLineNo">688</span><a name="line.688"></a>
-<span class="sourceLineNo">689</span>  protected void login(UserProvider user, String host) throws IOException {<a name="line.689"></a>
-<span class="sourceLineNo">690</span>    user.login("hbase.regionserver.keytab.file",<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      "hbase.regionserver.kerberos.principal", host);<a name="line.691"></a>
-<span class="sourceLineNo">692</span>  }<a name="line.692"></a>
-<span class="sourceLineNo">693</span><a name="line.693"></a>
-<span class="sourceLineNo">694</span>  protected void waitForMasterActive(){<a name="line.694"></a>
+<span class="sourceLineNo">622</span>    initializeFileSystem();<a name="line.622"></a>
+<span class="sourceLineNo">623</span><a name="line.623"></a>
+<span class="sourceLineNo">624</span>    service = new ExecutorService(getServerName().toShortString());<a name="line.624"></a>
+<span class="sourceLineNo">625</span>    spanReceiverHost = SpanReceiverHost.getInstance(getConfiguration());<a name="line.625"></a>
+<span class="sourceLineNo">626</span><a name="line.626"></a>
+<span class="sourceLineNo">627</span>    // Some unit tests don't need a cluster, so no zookeeper at all<a name="line.627"></a>
+<span class="sourceLineNo">628</span>    if (!conf.getBoolean("hbase.testing.nocluster", false)) {<a name="line.628"></a>
+<span class="sourceLineNo">629</span>      // Open connection to zookeeper and set primary watcher<a name="line.629"></a>
+<span class="sourceLineNo">630</span>      zooKeeper = new ZooKeeperWatcher(conf, getProcessName() + ":" +<a name="line.630"></a>
+<span class="sourceLineNo">631</span>        rpcServices.isa.getPort(), this, canCreateBaseZNode());<a name="line.631"></a>
+<span class="sourceLineNo">632</span><a name="line.632"></a>
+<span class="sourceLineNo">633</span>      this.csm = (BaseCoordinatedStateManager) csm;<a name="line.633"></a>
+<span class="sourceLineNo">634</span>      this.csm.initialize(this);<a name="line.634"></a>
+<span class="sourceLineNo">635</span>      this.csm.start();<a name="line.635"></a>
+<span class="sourceLineNo">636</span><a name="line.636"></a>
+<span class="sourceLineNo">637</span>      masterAddressTracker = new MasterAddressTracker(getZooKeeper(), this);<a name="line.637"></a>
+<span class="sourceLineNo">638</span>      masterAddressTracker.start();<a name="line.638"></a>
+<span class="sourceLineNo">639</span><a name="line.639"></a>
+<span class="sourceLineNo">640</span>      clusterStatusTracker = new ClusterStatusTracker(zooKeeper, this);<a name="line.640"></a>
+<span class="sourceLineNo">641</span>      clusterStatusTracker.start();<a name="line.641"></a>
+<span class="sourceLineNo">642</span>    }<a name="line.642"></a>
+<span class="sourceLineNo">643</span>    this.configurationManager = new ConfigurationManager();<a name="line.643"></a>
+<span class="sourceLineNo">644</span><a name="line.644"></a>
+<span class="sourceLineNo">645</span>    rpcServices.start();<a name="line.645"></a>
+<span class="sourceLineNo">646</span>    putUpWebUI();<a name="line.646"></a>
+<span class="sourceLineNo">647</span>    this.walRoller = new LogRoller(this, this);<a name="line.647"></a>
+<span class="sourceLineNo">648</span>    this.choreService = new ChoreService(getServerName().toString(), true);<a name="line.648"></a>
+<span class="sourceLineNo">649</span>    this.flushThroughputController = FlushThroughputControllerFactory.create(this, conf);<a name="line.649"></a>
+<span class="sourceLineNo">650</span><a name="line.650"></a>
+<span class="sourceLineNo">651</span>    if (!SystemUtils.IS_OS_WINDOWS) {<a name="line.651"></a>
+<span class="sourceLineNo">652</span>      Signal.handle(new Signal("HUP"), new SignalHandler() {<a name="line.652"></a>
+<span class="sourceLineNo">653</span>        @Override<a name="line.653"></a>
+<span class="sourceLineNo">654</span>        public void handle(Signal signal) {<a name="line.654"></a>
+<span class="sourceLineNo">655</span>          getConfiguration().reloadConfiguration();<a name="line.655"></a>
+<span class="sourceLineNo">656</span>          configurationManager.notifyAllObservers(getConfiguration());<a name="line.656"></a>
+<span class="sourceLineNo">657</span>        }<a name="line.657"></a>
+<span class="sourceLineNo">658</span>      });<a name="line.658"></a>
+<span class="sourceLineNo">659</span>    }<a name="line.659"></a>
+<span class="sourceLineNo">660</span>    // Create the CompactedFileDischarger chore service. This chore helps to<a name="line.660"></a>
+<span class="sourceLineNo">661</span>    // remove the compacted files<a name="line.661"></a>
+<span class="sourceLineNo">662</span>    // that will no longer be used in reads.<a name="line.662"></a>
+<span class="sourceLineNo">663</span>    // Default is 2 mins. The default value for TTLCleaner is 5 mins so we set this to<a name="line.663"></a>
+<span class="sourceLineNo">664</span>    // 2 mins so that compacted files can be archived before the TTLCleaner runs<a name="line.664"></a>
+<span class="sourceLineNo">665</span>    int cleanerInterval =<a name="line.665"></a>
+<span class="sourceLineNo">666</span>        conf.getInt("hbase.hfile.compaction.discharger.interval", 2 * 60 * 1000);<a name="line.666"></a>
+<span class="sourceLineNo">667</span>    this.compactedFileDischarger =<a name="line.667"></a>
+<span class="sourceLineNo">668</span>        new CompactedHFilesDischarger(cleanerInterval, this, this);<a name="line.668"></a>
+<span class="sourceLineNo">669</span>    choreService.scheduleChore(compactedFileDischarger);<a name="line.669"></a>
+<span class="sourceLineNo">670</span>  }<a name="line.670"></a>
+<span class="sourceLineNo">671</span><a name="line.671"></a>
+<span class="sourceLineNo">672</span>  private void initializeFileSystem() throws IOException {<a name="line.672"></a>
+<span class="sourceLineNo">673</span>    // Get fs instance used by this RS.  Do we use checksum verification in the hbase? If hbase<a name="line.673"></a>
+<span class="sourceLineNo">674</span>    // checksum verification enabled, then automatically switch off hdfs checksum verification.<a name="line.674"></a>
+<span class="sourceLineNo">675</span>    boolean useHBaseChecksum = conf.getBoolean(HConstants.HBASE_CHECKSUM_VERIFICATION, true);<a name="line.675"></a>
+<span class="sourceLineNo">676</span>    FSUtils.setFsDefault(this.conf, FSUtils.getWALRootDir(this.conf));<a name="line.676"></a>
+<span class="sourceLineNo">677</span>    this.walFs = new HFileSystem(this.conf, useHBaseChecksum);<a name="line.677"></a>
+<span class="sourceLineNo">678</span>    this.walRootDir = FSUtils.getWALRootDir(this.conf);<a name="line.678"></a>
+<span class="sourceLineNo">679</span>    // Set 'fs.defaultFS' to match the filesystem on hbase.rootdir else<a name="line.679"></a>
+<span class="sourceLineNo">680</span>    // underlying hadoop hdfs accessors will be going against wrong filesystem<a name="line.680"></a>
+<span class="sourceLineNo">681</span>    // (unless all is set to defaults).<a name="line.681"></a>
+<span class="sourceLineNo">682</span>    FSUtils.setFsDefault(this.conf, FSUtils.getRootDir(this.conf));<a name="line.682"></a>
+<span class="sourceLineNo">683</span>    this.fs = new HFileSystem(this.conf, useHBaseChecksum);<a name="line.683"></a>
+<span class="sourceLineNo">684</span>    this.rootDir = FSUtils.getRootDir(this.conf);<a name="line.684"></a>
+<span class="sourceLineNo">685</span>    this.tableDescriptors = getFsTableDescriptors();<a name="line.685"></a>
+<span class="sourceLineNo">686</span>  }<a name="line.686"></a>
+<span class="sourceLineNo">687</span><a name="line.687"></a>
+<span class="sourceLineNo">688</span>  protected TableDescriptors getFsTableDescriptors() throws IOException {<a name="line.688"></a>
+<span class="sourceLineNo">689</span>    return new FSTableDescriptors(this.conf,<a name="line.689"></a>
+<span class="sourceLineNo">690</span>      this.fs, this.rootDir, !canUpdateTableDescriptor(), false);<a name="line.690"></a>
+<span class="sourceLineNo">691</span>  }<a name="line.691"></a>
+<span class="sourceLineNo">692</span><a name="line.692"></a>
+<span class="sourceLineNo">693</span>  protected void setInitLatch(CountDownLatch latch) {<a name="line.693"></a>
+<span class="sourceLineNo">694</span>    this.initLatch = latch;<a name="line.694"></a>
 <span class="sourceLineNo">695</span>  }<a name="line.695"></a>
 <span class="sourceLineNo">696</span><a name="line.696"></a>
-<span class="sourceLineNo">697</span>  protected String getProcessName() {<a name="line.697"></a>
-<span class="sourceLineNo">698</span>    return REGIONSERVER;<a name="line.698"></a>
-<span class="sourceLineNo">699</span>  }<a name="line.699"></a>
-<span class="sourceLineNo">700</span><a name="line.700"></a>
-<span class="sourceLineNo">701</span>  protected boolean canCreateBaseZNode() {<a name="line.701"></a>
-<span class="sourceLineNo">702</span>    return false;<a name="line.702"></a>
-<span class="sourceLineNo">703</span>  }<a name="line.703"></a>
-<span class="sourceLineNo">704</span><a name="line.704"></a>
-<span class="sourceLineNo">705</span>  protected boolean canUpdateTableDescriptor() {<a name="line.705"></a>
-<span class="sourceLineNo">706</span>    return false;<a name="line.706"></a>
+<span class="sourceLineNo">697</span>  /*<a name="line.697"></a>
+<span class="sourceLineNo">698</span>   * Returns true if configured hostname should be used<a name="line.698"></a>
+<span class="sourceLineNo">699</span>   */<a name="line.699"></a>
+<span class="sourceLineNo">700</span>  protected boolean shouldUseThisHostnameInstead() {<a name="line.700"></a>
+<span class="sourceLineNo">701</span>    return useThisHostnameInstead != null &amp;&amp; !useThisHostnameInstead.isEmpty();<a name="line.701"></a>
+<span class="sourceLineNo">702</span>  }<a name="line.702"></a>
+<span class="sourceLineNo">703</span><a name="line.703"></a>
+<span class="sourceLineNo">704</span>  protected void login(UserProvider user, String host) throws IOException {<a name="line.704"></a>
+<span class="sourceLineNo">705</span>    user.login("hbase.regionserver.keytab.file",<a name="line.705"></a>
+<span class="sourceLineNo">706</span>      "hbase.regionserver.kerberos.principal", host);<a name="line.706"></a>
 <span class="sourceLineNo">707</span>  }<a name="line.707"></a>
 <span class="sourceLineNo">708</span><a name="line.708"></a>
-<span class="sourceLineNo">709</span>  protected RSRpcServices createRpcServices() throws IOException {<a name="line.709"></a>
-<span class="sourceLineNo">710</span>    return new RSRpcServices(this);<a name="line.710"></a>
-<span class="sourceLineNo">711</span>  }<a name="line.711"></a>
-<span class="sourceLineNo">712</span><a name="line.712"></a>
-<span class="sourceLineNo">713</span>  protected void configureInfoServer() {<a name="line.713"></a>
-<span class="sourceLineNo">714</span>    infoServer.addServlet("rs-status", "/rs-status", RSStatusServlet.class);<a name="line.714"></a>
-<span class="sourceLineNo">715</span>    infoServer.setAttribute(REGIONSERVER, this);<a name="line.715"></a>
-<span class="sourceLineNo">716</span>  }<a name="line.716"></a>
-<span class="sourceLineNo">717</span><a name="line.717"></a>
-<span class="sourceLineNo">718</span>  protected Class&lt;? extends HttpServlet&gt; getDumpServlet() {<a name="line.718"></a>
-<span class="sourceLineNo">719</span>    return RSDumpServlet.class;<a name="line.719"></a>
-<span class="sourceLineNo">720</span>  }<a name="line.720"></a>
-<span class="sourceLineNo">721</span><a name="line.721"></a>
-<span class="sourceLineNo">722</span>  @Override<a name="line.722"></a>
-<span class="sourceLineNo">723</span>  public boolean registerService(com.google.protobuf.Service instance) {<a name="line.723"></a>
-<span class="sourceLineNo">724</span>    /*<a name="line.724"></a>
-<span class="sourceLineNo">725</span>     * No stacking of instances is allowed for a single service name<a name="line.725"></a>
-<span class="sourceLineNo">726</span>     */<a name="line.726"></a>
-<span class="sourceLineNo">727</span>    com.google.protobuf.Descriptors.ServiceDescriptor serviceDesc =<a name="line.727"></a>
-<span class="sourceLineNo">728</span>        instance.getDescriptorForType();<a name="line.728"></a>
-<span class="sourceLineNo">729</span>    String serviceName = CoprocessorRpcUtils.getServiceName(serviceDesc);<a name="line.729"></a>
-<span class="sourceLineNo">730</span>    if (coprocessorServiceHandlers.containsKey(serviceName)) {<a name="line.730"></a>
-<span class="sourceLineNo">731</span>      LOG.error("Coprocessor service " + serviceName<a name="line.731"></a>
-<span class="sourceLineNo">732</span>          + " already registered, rejecting request from " + instance);<a name="line.732"></a>
-<span class="sourceLineNo">733</span>      return false;<a name="line.733"></a>
-<span class="sourceLineNo">734</span>    }<a name="line.734"></a>
-<span class="sourceLineNo">735</span><a name="line.735"></a>
-<span class="sourceLineNo">736</span>    coprocessorServiceHandlers.put(serviceName, instance);<a name="line.736"></a>
-<span class="sourceLineNo">737</span>    if (LOG.isDebugEnabled()) {<a name="line.737"></a>
-<span class="sourceLineNo">738</span>      LOG.debug("Registered regionserver coprocessor service: service=" + serviceName);<a name="line.738"></a>
-<span class="sourceLineNo">739</span>    }<a name="line.739"></a>
-<span class="sourceLineNo">740</span>    return true;<a name="line.740"></a>
-<span class="sourceLineNo">741</span>  }<a name="line.741"></a>
-<span class="sourceLineNo">742</span><a name="line.742"></a>
-<span class="sourceLineNo">743</span>  /**<a name="line.743"></a>
-<span class="sourceLineNo">744</span>   * Create a 'smarter' Connection, one that is capable of by-passing RPC if the request is to<a name="line.744"></a>
-<span class="sourceLineNo">745</span>   * the local server. Safe to use going to local or remote server.<a name="line.745"></a>
-<span class="sourceLineNo">746</span>   * Create this instance in a method can be intercepted and mocked in tests.<a name="line.746"></a>
-<span class="sourceLineNo">747</span>   * @throws IOException<a name="line.747"></a>
-<span class="sourceLineNo">748</span>   */<a name="line.748"></a>
-<span class="sourceLineNo">749</span>  @VisibleForTesting<a name="line.749"></a>
-<span class="sourceLineNo">750</span>  protected ClusterConnection createClusterConnection() throws IOException {<a name="line.750"></a>
-<span class="sourceLineNo">751</span>    // Create a cluster connection that when appropriate, can short-circuit and go directly to the<a name="line.751"></a>
-<span class="sourceLineNo">752</span>    // local server if the request is to the local server bypassing RPC. Can be used for both local<a name="line.752"></a>
-<span class="sourceLineNo">753</span>    // and remote invocations.<a name="line.753"></a>
-<span class="sourceLineNo">754</span>    return ConnectionUtils.createShortCircuitConnection(conf, null, userProvider.getCurrent(),<a name="line.754"></a>
-<span class="sourceLineNo">755</span>      serverName, rpcServices, rpcServices);<a name="line.755"></a>
+<span class="sourceLineNo">709</span>  protected void waitForMasterActive(){<a name="line.709"></a>
+<span class="sourceLineNo">710</span>  }<a name="line.710"></a>
+<span class="sourceLineNo">711</span><a name="line.711"></a>
+<span class="sourceLineNo">712</span>  protected String getProcessName() {<a name="line.712"></a>
+<span class="sourceLineNo">713</span>    return REGIONSERVER;<a name="line.713"></a>
+<span class="sourceLineNo">714</span>  }<a name="line.714"></a>
+<span class="sourceLineNo">715</span><a name="line.715"></a>
+<span class="sourceLineNo">716</span>  protected boolean canCreateBaseZNode() {<a name="line.716"></a>
+<span class="sourceLineNo">717</span>    return false;<a name="line.717"></a>
+<span class="sourceLineNo">718</span>  }<a name="line.718"></a>
+<span class="sourceLineNo">719</span><a name="line.719"></a>
+<span class="sourceLineNo">720</span>  protected boolean canUpdateTableDescriptor() {<a name="line.720"></a>
+<span class="sourceLineNo">721</span>    return false;<a name="line.721"></a>
+<span class="sourceLineNo">722</span>  }<a name="line.722"></a>
+<span class="sourceLineNo">723</span><a name="line.723"></a>
+<span class="sourceLineNo">724</span>  protected RSRpcServices createRpcServices() throws IOException {<a name="line.724"></a>
+<span class="sourceLineNo">725</span>    return new RSRpcServices(this);<a name="line.725"></a>
+<span class="sourceLineNo">726</span>  }<a name="line.726"></a>
+<span class="sourceLineNo">727</span><a name="line.727"></a>
+<span class="sourceLineNo">728</span>  protected void configureInfoServer() {<a name="line.728"></a>
+<span class="sourceLineNo">729</span>    infoServer.addServlet("rs-status", "/rs-status", RSStatusServlet.class);<a name="line.729"></a>
+<span class="sourceLineNo">730</span>    infoServer.setAttribute(REGIONSERVER, this);<a name="line.730"></a>
+<span class="sourceLineNo">731</span>  }<a name="line.731"></a>
+<span class="sourceLineNo">732</span><a name="line.732"></a>
+<span class="sourceLineNo">733</span>  protected Class&lt;? extends HttpServlet&gt; getDumpServlet() {<a name="line.733"></a>
+<span class="sourceLineNo">734</span>    return RSDumpServlet.class;<a name="line.734"></a>
+<span class="sourceLineNo">735</span>  }<a name="line.735"></a>
+<span class="sourceLineNo">736</span><a name="line.736"></a>
+<span class="sourceLineNo">737</span>  @Override<a name="line.737"></a>
+<span class="sourceLineNo">738</span>  public boolean registerService(com.google.protobuf.Service instance) {<a name="line.738"></a>
+<span class="sourceLineNo">739</span>    /*<a name="line.739"></a>
+<span class="sourceLineNo">740</span>     * No stacking of instances is allowed for a single service name<a name="line.740"></a>
+<span class="sourceLineNo">741</span>     */<a name="line.741"></a>
+<span class="sourceLineNo">742</span>    com.google.protobuf.Descriptors.ServiceDescriptor serviceDesc =<a name="line.742"></a>
+<span class="sourceLineNo">743</span>        instance.getDescriptorForType();<a name="line.743"></a>
+<span class="sourceLineNo">744</span>    String serviceName = CoprocessorRpcUtils.getServiceName(serviceDesc);<a name="line.744"></a>
+<span class="sourceLineNo">745</span>    if (coprocessorServiceHandlers.containsKey(serviceName)) {<a name="line.745"></a>
+<span class="sourceLineNo">746</span>      LOG.error("Coprocessor service " + serviceName<a name="line.746"></a>
+<span class="sourceLineNo">747</span>          + " already registered, rejecting request from " + instance);<a name="line.747"></a>
+<span class="sourceLineNo">748</span>      return false;<a name="line.748"></a>
+<span class="sourceLineNo">749</span>    }<a name="line.749"></a>
+<span class="sourceLineNo">750</span><a name="line.750"></a>
+<span class="sourceLineNo">751</span>    coprocessorServiceHandlers.put(serviceName, instance);<a name="line.751"></a>
+<span class="sourceLineNo">752</span>    if (LOG.isDebugEnabled()) {<a name="line.752"></a>
+<span class="sourceLineNo">753</span>      LOG.debug("Registered regionserver coprocessor service: service=" + serviceName);<a name="line.753"></a>
+<span class="sourceLineNo">754</span>    }<a name="line.754"></a>
+<span class="sourceLineNo">755</span>    return true;<a name="line.755"></a>
 <span class="sourceLineNo">756</span>  }<a name="line.756"></a>
 <span class="sourceLineNo">757</span><a name="line.757"></a>
 <span class="sourceLineNo">758</span>  /**<a name="line.758"></a>
-<span class="sourceLineNo">759</span>   * Run test on configured codecs to make sure supporting libs are in place.<a name="line.759"></a>
-<span class="sourceLineNo">760</span>   * @param c<a name="line.760"></a>
-<span class="sourceLineNo">761</span>   * @throws IOException<a name="line.761"></a>
-<span class="sourceLineNo">762</span>   */<a name="line.762"></a>
-<span class="sourceLineNo">763</span>  private static void checkCodecs(final Configuration c) throws IOException {<a name="line.763"></a>
-<span class="sourceLineNo">764</span>    // check to see if the codec list is available:<a name="line.764"></a>
-<span class="sourceLineNo">765</span>    String [] codecs = c.getStrings("hbase.regionserver.codecs", (String[])null);<a name="line.765"></a>
-<span class="sourceLineNo">766</span>    if (codecs == null) return;<a name="line.766"></a>
-<span class="sourceLineNo">767</span>    for (String codec : codecs) {<a name="line.767"></a>
-<span class="sourceLineNo">768</span>      if (!CompressionTest.testCompression(codec)) {<a name="line.768"></a>
-<span class="sourceLineNo">769</span>        throw new IOException("Compression codec " + codec +<a name="line.769"></a>
-<span class="sourceLineNo">770</span>          " not supported, aborting RS construction");<a name="line.770"></a>
-<span class="sourceLineNo">771</span>      }<a name="line.771"></a>
-<span class="sourceLineNo">772</span>    }<a name="line.772"></a>
-<span class="sourceLineNo">773</span>  }<a name="line.773"></a>
-<span class="sourceLineNo">774</span><a name="line.774"></a>
-<span class="sourceLineNo">775</span>  public String getClusterId() {<a name="line.775"></a>
-<span class="sourceLineNo">776</span>    return this.clusterId;<a name="line.776"></a>
-<span class="sourceLineNo">777</span>  }<a name="line.777"></a>
-<span class="sourceLineNo">778</span><a name="line.778"></a>
-<span class="sourceLineNo">779</span>  /**<a name="line.779"></a>
-<span class="sourceLineNo">780</span>   * Setup our cluster connection if not already initialized.<a name="line.780"></a>
-<span class="sourceLineNo">781</span>   * @throws IOException<a name="line.781"></a>
-<span class="sourceLineNo">782</span>   */<a name="line.782"></a>
-<span class="sourceLineNo">783</span>  protected synchronized void setupClusterConnection() throws IOException {<a name="line.783"></a>
-<span class="sourceLineNo">784</span>    if (clusterConnection == null) {<a name="line.784"></a>
-<span class="sourceLineNo">785</span>      clusterConnection = createClusterConnection();<a name="line.785"></a>
-<span class="sourceLineNo">786</span>      metaTableLocator = new MetaTableLocator();<a name="line.786"></a>
+<span class="sourceLineNo">759</span>   * Create a 'smarter' Connection, one that is capable of by-passing RPC if the request is to<a name="line.759"></a>
+<span class="sourceLineNo">760</span>   * the local server. Safe to use going to local or remote server.<a name="line.760"></a>
+<span class="sourceLineNo">761</span>   * Create this instance in a method can be intercepted and mocked in tests.<a name="line.761"></a>
+<span class="sourceLineNo">762</span>   * @throws IOException<a name="line.762"></a>
+<span class="sourceLineNo">763</span>   */<a name="line.763"></a>
+<span class="sourceLineNo">764</span>  @VisibleForTesting<a name="line.764"></a>
+<span class="sourceLineNo">765</span>  protected ClusterConnection createClusterConnection() throws IOException {<a name="line.765"></a>
+<span class="sourceLineNo">766</span>    // Create a cluster connection that when appropriate, can short-circuit and go directly to the<a name="line.766"></a>
+<span class="sourceLineNo">767</span>    // local server if the request is to the local server bypassing RPC. Can be used for both local<a name="line.767"></a>
+<span class="sourceLineNo">768</span>    // and remote invocations.<a name="line.768"></a>
+<span class="sourceLineNo">769</span>    return ConnectionUtils.createShortCircuitConnection(conf, null, userProvider.getCurrent(),<a name="line.769"></a>
+<span class="sourceLineNo">770</span>      serverName, rpcServices, rpcServices);<a name="line.770"></a>
+<span class="sourceLineNo">771</span>  }<a name="line.771"></a>
+<span class="sourceLineNo">772</span><a name="line.772"></a>
+<span class="sourceLineNo">773</span>  /**<a name="line.773"></a>
+<span class="sourceLineNo">774</span>   * Run test on configured codecs to make sure supporting libs are in place.<a name="line.774"></a>
+<span class="sourceLineNo">775</span>   * @param c<a name="line.775"></a>
+<span class="sourceLineNo">776</span>   * @throws IOException<a name="line.776"></a>
+<span class="sourceLineNo">777</span>   */<a name="line.777"></a>
+<span class="sourceLineNo">778</span>  private static void checkCodecs(final Configuration c) throws IOException {<a name="line.778"></a>
+<span class="sourceLineNo">779</span>    // check to see if the codec list is available:<a name="line.779"></a>
+<span class="sourceLineNo">780</span>    String [] codecs = c.getStrings("hbase.regionserver.codecs", (String[])null);<a name="line.780"></a>
+<span class="sourceLineNo">781</span>    if (codecs == null) return;<a name="line.781"></a>
+<span class="sourceLineNo">782</span>    for (String codec : codecs) {<a name="line.782"></a>
+<span class="sourceLineNo">783</span>      if (!CompressionTest.testCompression(codec)) {<a name="line.783"></a>
+<span class="sourceLineNo">784</span>        throw new IOException("Compression codec " + codec +<a name="line.784"></a>
+<span class="sourceLineNo">785</span>          " not supported, aborting RS construction");<a name="line.785"></a>
+<span class="sourceLineNo">786</span>      }<a name="line.786"></a>
 <span class="sourceLineNo">787</span>    }<a name="line.787"></a>
 <span class="sourceLineNo">788</span>  }<a name="line.788"></a>
 <span class="sourceLineNo">789</span><a name="line.789"></a>
-<span class="sourceLineNo">790</span>  /**<a name="line.790"></a>
-<span class="sourceLineNo">791</span>   * All initialization needed before we go register with Master.<a name="line.791"></a>
-<span class="sourceLineNo">792</span>   *<a name="line.792"></a>
-<span class="sourceLineNo">793</span>   * @throws IOException<a name="line.793"></a>
-<span class="sourceLineNo">794</span>   * @throws InterruptedException<a name="line.794"></a>
-<span class="sourceLineNo">795</span>   */<a name="line.795"></a>
-<span class="sourceLineNo">796</span>  private void preRegistrationInitialization(){<a name="line.796"></a>
-<span class="sourceLineNo">797</span>    try {<a name="line.797"></a>
-<span class="sourceLineNo">798</span>      setupClusterConnection();<a name="line.798"></a>
-<span class="sourceLineNo">799</span><a name="line.799"></a>
-<span class="sourceLineNo">800</span>      this.secureBulkLoadManager = new SecureBulkLoadManager(this.conf, clusterConnection);<a name="line.800"></a>
-<span class="sourceLineNo">801</span>      this.secureBulkLoadManager.start();<a name="line.801"></a>
-<span class="sourceLineNo">802</span><a name="line.802"></a>
-<span class="sourceLineNo">803</span>      // Health checker thread.<a name="line.803"></a>
-<span class="sourceLineNo">804</span>      if (isHealthCheckerConfigured()) {<a name="line.804"></a>
-<span class="sourceLineNo">805</span>        int sleepTime = this.conf.getInt(HConstants.HEALTH_CHORE_WAKE_FREQ,<a name="line.805"></a>
-<span class="sourceLineNo">806</span>          HConstants.DEFAULT_THREAD_WAKE_FREQUENCY);<a name="line.806"></a>
-<span class="sourceLineNo">807</span>        healthCheckChore = new HealthCheckChore(sleepTime, this, getConfiguration());<a name="line.807"></a>
-<span class="sourceLineNo">808</span>      }<a name="line.808"></a>
-<span class="sourceLineNo">809</span><a name="line.809"></a>
-<span class="sourceLineNo">810</span>      initializeZooKeeper();<a name="line.810"></a>
-<span class="sourceLineNo">811</span>      if (!isStopped() &amp;&amp; !isAborted()) {<a name="line.811"></a>
-<span class="sourceLineNo">812</span>        initializeThreads();<a name="line.812"></a>
-<span class="sourceLineNo">813</span>      }<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    } catch (Throwable t) {<a name="line.814"></a>
-<span class="sourceLineNo">815</span>      // Call stop if error or process will stick around for ever since server<a name="line.815"></a>
-<span class="sourceLineNo">816</span>      // puts up non-daemon threads.<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      this.rpcServices.stop();<a name="line.817"></a>
-<span class="sourceLineNo">818</span>      abort("Initialization of RS failed.  Hence aborting RS.", t);<a name="line.818"></a>
-<span class="sourceLineNo">819</span>    }<a name="line.819"></a>
-<span class="sourceLineNo">820</span>  }<a name="line.820"></a>
-<span class="sourceLineNo">821</span><a name="line.821"></a>
-<span class="sourceLineNo">822</span>  /**<a name="line.822"></a>
-<span class="sourceLineNo">823</span>   * Bring up connection to zk ensemble and then wait until a master for this<a name="line.823"></a>
-<span class="sourceLineNo">824</span>   * cluster and then after that, wait until cluster 'up' flag has been set.<a name="line.824"></a>
-<span class="sourceLineNo">825</span>   * This is the order in which master does things.<a name="line.825"></a>
-<span class="sourceLineNo">826</span>   * Finally open long-living server short-circuit connection.<a name="line.826"></a>
-<span class="sourceLineNo">827</span>   * @throws IOException<a name="line.827"></a>
-<span class="sourceLineNo">828</span>   * @throws InterruptedException<a name="line.828"></a>
-<span class="sourceLineNo">829</span>   */<a name="line.829"></a>
-<span class="sourceLineNo">830</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="RV_RETURN_VALUE_IGNORED_BAD_PRACTICE",<a name="line.830"></a>
-<span class="sourceLineNo">831</span>    justification="cluster Id znode read would give us correct response")<a name="line.831"></a>
-<span class="sourceLineNo">832</span>  private void initializeZooKeeper() throws IOException, InterruptedException {<a name="line.832"></a>
-<span class="sourceLineNo">833</span>    // Create the master address tracker, register with zk, and start it.  Then<a name="line.833"></a>
-<span class="sourceLineNo">834</span>    // block until a master is available.  No point in starting up if no master<a name="line.834"></a>
-<span class="sourceLineNo">835</span>    // running.<a name="line.835"></a>
-<span class="sourceLineNo">836</span>    blockAndCheckIfStopped(this.masterAddressTracker);<a name="line.836"></a>
-<span class="sourceLineNo">837</span><a name="line.837"></a>
-<span class="sourceLineNo">838</span>    // Wait on cluster being up.  Master will set this flag up in zookeeper<a name="line.838"></a>
-<span class="sourceLineNo">839</span>    // when ready.<a name="line.839"></a>
-<span class="sourceLineNo">840</span>    blockAndCheckIfStopped(this.clusterStatusTracker);<a name="line.840"></a>
-<span class="sourceLineNo">841</span><a name="line.841"></a>
-<span class="sourceLineNo">842</span>    doLatch(this.initLatch);<a name="line.842"></a>
-<span class="sourceLineNo">843</span><a name="line.843"></a>
-<span class="sourceLineNo">844</span>    // Retrieve clusterId<a name="line.844"></a>
-<span class="sourceLineNo">845</span>    // Since cluster status is now up<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    // ID should have already been set by HMaster<a name="line.846"></a>
-<span class="sourceLineNo">847</span>    try {<a name="line.847"></a>
-<span class="sourceLineNo">848</span>      clusterId = ZKClusterId.readClusterIdZNode(this.zooKeeper);<a name="line.848"></a>
-<span class="sourceLineNo">849</span>      if (clusterId == null) {<a name="line.849"></a>
-<span class="sourceLineNo">850</span>        this.abort("Cluster ID has not been set");<a name="line.850"></a>
-<span class="sourceLineNo">851</span>      }<a name="line.851"></a>
-<span class="sourceLineNo">852</span>      LOG.info("ClusterId : "+clusterId);<a name="line.852"></a>
-<span class="sourceLineNo">853</span>    } catch (KeeperException e) {<a name="line.853"></a>
-<span class="sourceLineNo">854</span>      this.abort("Failed to retrieve Cluster ID",e);<a name="line.854"></a>
-<span class="sourceLineNo">855</span>    }<a name="line.855"></a>
+<span class="sourceLineNo">790</span>  public String getClusterId() {<a name="line.790"></a>
+<span class="sourceLineNo">791</span>    return this.clusterId;<a name="line.791"></a>
+<span class="sourceLineNo">792</span>  }<a name="line.792"></a>
+<span class="sourceLineNo">793</span><a name="line.793"></a>
+<span class="sourceLineNo">794</span>  /**<a name="line.794"></a>
+<span class="sourceLineNo">795</span>   * Setup our cluster connection if not already initialized.<a name="line.795"></a>
+<span class="sourceLineNo">796</span>   * @throws IOException<a name="line.796"></a>
+<span class="sourceLineNo">797</span>   */<a name="line.797"></a>
+<span class="sourceLineNo">798</span>  protected synchronized void setupClusterConnection() throws IOException {<a name="line.798"></a>
+<span class="sourceLineNo">799</span>    if (clusterConnection == null) {<a name="line.799"></a>
+<span class="sourceLineNo">800</span>      clusterConnection = createClusterConnection();<a name="line.800"></a>
+<span class="sourceLineNo">801</span>      metaTableLocator = new MetaTableLocator();<a name="line.801"></a>
+<span class="sourceLineNo">802</span>    }<a name="line.802"></a>
+<span class="sourceLineNo">803</span>  }<a name="line.803"></a>
+<span class="sourceLineNo">804</span><a name="line.804"></a>
+<span class="sourceLineNo">805</span>  /**<a name="line.805"></a>
+<span class="sourceLineNo">806</span>   * All initialization needed before we go register with Master.<a name="line.806"></a>
+<span class="sourceLineNo">807</span>   *<a name="line.807"></a>
+<span class="sourceLineNo">808</span>   * @throws IOException<a name="line.808"></a>
+<span class="sourceLineNo">809</span>   * @throws InterruptedException<a name="line.809"></a>
+<span class="sourceLineNo">810</span>   */<a name="line.810"></a>
+<span class="sourceLineNo">811</span>  private void preRegistrationInitialization(){<a name="line.811"></a>
+<span class="sourceLineNo">812</span>    try {<a name="line.812"></a>
+<span class="sourceLineNo">813</span>      setupClusterConnection();<a name="line.813"></a>
+<span class="sourceLineNo">814</span><a name="line.814"></a>
+<span class="sourceLineNo">815</span>      this.secureBulkLoadManager = new SecureBulkLoadManager(this.conf, clusterConnection);<a name="line.815"></a>
+<span class="sourceLineNo">816</span>      this.secureBulkLoadManager.start();<a name="line.816"></a>
+<span class="sourceLineNo">817</span><a name="line.817"></a>
+<span class="sourceLineNo">818</span>      // Health checker thread.<a name="line.818"></a>
+<span class="sourceLineNo">819</span>      if (isHealthCheckerConfigured()) {<a name="line.819"></a>
+<span class="sourceLineNo">820</span>        int sleepTime = this.conf.getInt(HConstants.HEALTH_CHORE_WAKE_FREQ,<a name="line.820"></a>
+<span class="sourceLineNo">821</span>          HConstants.DEFAULT_THREAD_WAKE_FREQUENCY);<a name="line.821"></a>
+<span class="sourceLineNo">822</span>        healthCheckChore = new HealthCheckChore(sleepTime, this, getConfiguration());<a name="line.822"></a>
+<span class="sourceLineNo">823</span>      }<a name="line.823"></a>
+<span class="sourceLineNo">824</span><a name="line.824"></a>
+<span class="sourceLineNo">825</span>      initializeZooKeeper();<a name="line.825"></a>
+<span class="sourceLineNo">826</span>      if (!isStopped() &amp;&amp; !isAborted()) {<a name="line.826"></a>
+<span class="sourceLineNo">827</span>        initializeThreads();<a name="line.827"></a>
+<span class="sourceLineNo">828</span>      }<a name="line.828"></a>
+<span class="sourceLineNo">829</span>    } catch (Throwable t) {<a name="line.829"></a>
+<span class="sourceLineNo">830</span>      // Call stop if error or process will stick around for ever since server<a name="line.830"></a>
+<span class="sourceLineNo">831</span>      // puts up non-daemon threads.<a name="line.831"></a>
+<span class="sourceLineNo">832</span>      this.rpcServices.stop();<a name="line.832"></a>
+<span class="sourceLineNo">833</span>      abort("Initialization of RS failed.  Hence aborting RS.", t);<a name="line.833"></a>
+<span class="sourceLineNo">834</span>    }<a name="line.834"></a>
+<span class="sourceLineNo">835</span>  }<a name="line.835"></a>
+<span class="sourceLineNo">836</span><a name="line.836"></a>
+<span class="sourceLineNo">837</span>  /**<a name="line.837"></a>
+<span class="sourceLineNo">838</span>   * Bring up connection to zk ensemble and then wait until a master for this<a name="line.838"></a>
+<span class="sourceLineNo">839</span>   * cluster and then after that, wait until cluster 'up' flag has been set.<a name="line.839"></a>
+<span class="sourceLineNo">840</span>   * This is the order in which master does things.<a name="line.840"></a>
+<span class="sourceLineNo">841</span>   * Finally open long-living server short-circuit connection.<a name="line.841"></a>
+<span class="sourceLineNo">842</span>   * @throws IOException<a name="line.842"></a>
+<span class="sourceLineNo">843</span>   * @throws InterruptedException<a name="line.843"></a>
+<span class="sourceLineNo">844</span>   */<a name="line.844"></a>
+<span class="sourceLineNo">845</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="RV_RETURN_VALUE_IGNORED_BAD_PRACTICE",<a name="line.845"></a>
+<span class="sourceLineNo">846</span>    justification="cluster Id znode read would give us correct response")<a name="line.846"></a>
+<span class="sourceLineNo">847</span>  private void initializeZooKeeper() throws IOException, InterruptedException {<a name="line.847"></a>
+<span class="sourceLineNo">848</span>    // Create the master address tracker, register with zk, and start it.  Then<a name="line.848"></a>
+<span class="sourceLineNo">849</span>    // block until a master is available.  No point in starting up if no master<a name="line.849"></a>
+<span class="sourceLineNo">850</span>    // running.<a name="line.850"></a>
+<span class="sourceLineNo">851</span>    blockAndCheckIfStopped(this.masterAddressTracker);<a name="line.851"></a>
+<span class="sourceLineNo">852</span><a name="line.852"></a>
+<span class="sourceLineNo">853</span>    // Wait on cluster being up.  Master will set this flag up in zookeeper<a name="line.853"></a>
+<span class="sourceLineNo">854</span>    // when ready.<a name="line.854"></a>
+<span class="sourceLineNo">855</span>    blockAndCheckIfStopped(this.clusterStatusTracker);<a name="line.855"></a>
 <span class="sourceLineNo">856</span><a name="line.856"></a>
-<span class="sourceLineNo">857</span>    // In case colocated master, wait here till it's active.<a name="line.857"></a>
-<span class="sourceLineNo">858</span>    // So backup masters won't start as regionservers.<a name="line.858"></a>
-<span class="sourceLineNo">859</span>    // This is to avoid showing backup masters as regionservers<a name="line.859"></a>
-<span class="sourceLineNo">860</span>    // in master web UI, or assigning any region to them.<a name="line.860"></a>
-<span class="sourceLineNo">861</span>    waitForMasterActive();<a name="line.861"></a>
-<span class="sourceLineNo">862</span>    if (isStopped() || isAborted()) {<a name="line.862"></a>
-<span class="sourceLineNo">863</span>      return; // No need for further initialization<a name="line.863"></a>
-<span class="sourceLineNo">864</span>    }<a name="line.864"></a>
-<span class="sourceLineNo">865</span><a name="line.865"></a>
-<span class="sourceLineNo">866</span>    // watch for snapshots and other procedures<a name="line.866"></a>
-<span class="sourceLineNo">867</span>    try {<a name="line.867"></a>
-<span class="sourceLineNo">868</span>      rspmHost = new RegionServerProcedureManagerHost();<a name="line.868"></a>
-<span class="sourceLineNo">869</span>      rspmHost.loadProcedures(conf);<a name="line.869"></a>
-<span class="sourceLineNo">870</span>      rspmHost.initialize(this);<a name="line.870"></a>
-<span class="sourceLineNo">871</span>    } catch (KeeperException e) {<a name="line.871"></a>
-<span class="sourceLineNo">872</span>      this.abort("Failed to reach coordination cluster when creating procedure handler.", e);<a name="line.872"></a>
-<span class="sourceLineNo">873</span>    }<a name="line.873"></a>
-<span class="sourceLineNo">874</span>    // register watcher for recovering regions<a name="line.874"></a>
-<span class="sourceLineNo">875</span>    this.recoveringRegionWatcher = new RecoveringRegionWatcher(this.zooKeeper, this);<a name="line.875"></a>
-<span class="sourceLineNo">876</span>  }<a name="line.876"></a>
-<span class="sourceLineNo">877</span><a name="line.877"></a>
-<span class="sourceLineNo">878</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="RV_RETURN_VALUE_IGNORED",<a name="line.878"></a>
-<span class="sourceLineNo">879</span>      justification="We don't care about the return")<a name="line.879"></a>
-<span class="sourceLineNo">880</span>  private void doLatch(final CountDownLatch latch) throws InterruptedException {<a name="line.880"></a>
-<span class="sourceLineNo">881</span>    if (latch != null) {<a name="line.881"></a>
-<span class="sourceLineNo">882</span>      // Result is ignored intentionally but if I remove the below, findbugs complains (the<a name="line.882"></a>
-<span class="sourceLineNo">883</span>      // above justification on this method doesn't seem to suppress it).<a name="line.883"></a>
-<span class="sourceLineNo">884</span>      boolean result = latch.await(20, TimeUnit.SECONDS);<a name="line.884"></a>
-<span class="sourceLineNo">885</span>    }<a name="line.885"></a>
-<span class="sourceLineNo">886</span>  }<a name="line.886"></a>
-<span class="sourceLineNo">887</span><a name="line.887"></a>
-<span class="sourceLineNo">888</span>  /**<a name="line.888"></a>
-<span class="sourceLineNo">889</span>   * Utilty method to wait indefinitely on a znode availability while checking<a name="line.889"></a>
-<span class="sourceLineNo">890</span>   * if the region server is shut down<a name="line.890"></a>
-<span class="sourceLineNo">891</span>   * @param tracker znode tracker to use<a name="line.891"></a>
-<span class="sourceLineNo">892</span>   * @throws IOException any IO exception, plus if the RS is stopped<a name="line.892"></a>
-<span class="sourceLineNo">893</span>   * @throws InterruptedException<a name="line.893"></a>
-<span class="sourceLineNo">894</span>   */<a name="line.894"></a>
-<span class="sourceLineNo">895</span>  private void blockAndCheckIfStopped(ZooKeeperNodeTracker tracker)<a name="line.895"></a>
-<span class="sourceLineNo">896</span>      throws IOException, InterruptedException {<a name="line.896"></a>
-<span class="sourceLineNo">897</span>    while (tracker.blockUntilAvailable(this.msgInterval, false) == null) {<a name="line.897"></a>
-<span class="sourceLineNo">898</span>      if (this.stopped) {<a name="line.898"></a>
-<span class="sourceLineNo">899</span>        throw new IOException("Received the shutdown message while waiting.");<a name="line.899"></a>
-<span class="sourceLineNo">900</span>      }<a name="line.900"></a>
-<span class="sourceLineNo">901</span>    }<a name="line.901"></a>
-<span class="sourceLineNo">902</span>  }<a name="line.902"></a>
-<span class="sourceLineNo">903</span><a name="line.903"></a>
-<span class="sourceLineNo">904</span>  /**<a name="line.904"></a>
-<span class="sourceLineNo">905</span>   * @return False if cluster shutdown in progress<a name="line.905"></a>
-<span class="sourceLineNo">906</span>   */<a name="line.906"></a>
-<span class="sourceLineNo">907</span>  private boolean isClusterUp() {<a name="line.907"></a>
-<span class="sourceLineNo">908</span>    return clusterStatusTracker != null &amp;&amp; clusterStatusTracker.isClusterUp();<a name="line.908"></a>
-<span class="sourceLineNo">909</span>  }<a name="line.909"></a>
-<span class="sourceLineNo">910</span><a name="line.910"></a>
-<span class="sourceLineNo">911</span>  private void initializeThreads() throws IOException {<a name="line.911"></a>
-<span class="sourceLineNo">912</span>    // Cache flushing thread.<a name="line.912"></a>
-<span class="sourceLineNo">913</span>    this.cacheFlusher = new MemStoreFlusher(conf, this);<a name="line.913"></a>
-<span class="sourceLineNo">914</span><a name="line.914"></a>
-<span class="sourceLineNo">915</span>    // Compaction thread<a name="line.915"></a>
-<span class="sourceLineNo">916</span>    this.compactSplitThread = new CompactSplit(this);<a name="line.916"></a>
-<span class="sourceLineNo">917</span><a name="line.917"></a>
-<span class="sourceLineNo">918</span>    // Background thread to check for compactions; needed if region has not gotten updates<a name="line.918"></a>
-<span class="sourceLineNo">919</span>    // in a while. It will take care of not checking too frequently on store-by-store basis.<a name="line.919"></a>
-<span class="sourceLineNo">920</span>    this.compactionChecker = new CompactionChecker(this, this.threadWakeFrequency, this);<a name="line.920"></a>
-<span class="sourceLineNo">921</span>    this.periodicFlusher = new PeriodicMemstoreFlusher(this.threadWakeFrequency, this);<a name="line.921"></a>
-<span class="sourceLineNo">922</span>    this.leases = new Leases(this.threadWakeFrequency);<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>    // Create the thread to clean the moved regions list<a name="line.924"></a>
-<span class="sourceLineNo">925</span>    movedRegionsCleaner = MovedRegionsCleaner.create(this);<a name="line.925"></a>
-<span class="sourceLineNo">926</span><a name="line.926"></a>
-<span class="sourceLineNo">927</span>    if (this.nonceManager != null) {<a name="line.927"></a>
-<span class="sourceLineNo">928</span>      // Create the scheduled chore that cleans up nonces.<a name="line.928"></a>
-<span class="sourceLineNo">929</span>      nonceManagerChore = this.nonceManager.createCleanupScheduledChore(this);<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>    // Setup the Quota Manager<a name="line.932"></a>
-<span class="sourceLineNo">933</span>    rsQuotaManager = new RegionServerRpcQuotaManager(this);<a name="line.933"></a>
-<span class="sourceLineNo">934</span>    rsSpaceQuotaManager = new RegionServerSpaceQuotaManager(this);<a name="line.934"></a>
-<span class="sourceLineNo">935</span><a name="line.935"></a>
-<span class="sourceLineNo">936</span>    if (QuotaUtil.isQuotaEnabled(conf)) {<a name="line.936"></a>
-<span class="sourceLineNo">937</span>      this.fsUtilizationChore = new FileSystemUtilizationChore(this);<a name="line.937"></a>
-<span class="sourceLineNo">938</span>    }<a name="line.938"></a>
-<span class="sourceLineNo">939</span><a name="line.939"></a>
-<span class="sourceLineNo">940</span>    // Setup RPC client for master communication<a name="line.940"></a>
-<span class="sourceLineNo">941</span>    rpcClient = RpcClientFactory.createClient(conf, clusterId, new InetSocketAddress(<a name="line.941"></a>
-<span class="sourceLineNo">942</span>        rpcServices.isa.getAddress(), 0), clusterConnection.getConnectionMetrics());<a name="line.942"></a>
-<span class="sourceLineNo">943</span><a name="line.943"></a>
-<span class="sourceLineNo">944</span>    boolean onlyMetaRefresh = false;<a name="line.944"></a>
-<span class="sourceLineNo">945</span>    int storefileRefreshPeriod = conf.getInt(<a name="line.945"></a>
-<span class="sourceLineNo">946</span>        StorefileRefresherChore.REGIONSERVER_STOREFILE_REFRESH_PERIOD<a name="line.946"></a>
-<span class="sourceLineNo">947</span>      , StorefileRefresherChore.DEFAULT_REGIONSERVER_STOREFILE_REFRESH_PERIOD);<a name="line.947"></a>
-<span class="sourceLineNo">948</span>    if (storefileRefreshPeriod == 0) {<a name="line.948"></a>
-<span class="sourceLineNo">949</span>      storefileRefreshPe

<TRUNCATED>

[14/26] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.UserQuotasVisitor.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.UserQuotasVisitor.html b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.UserQuotasVisitor.html
index 3c6f9b8..7d3deb8 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.UserQuotasVisitor.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.UserQuotasVisitor.html
@@ -39,731 +39,772 @@
 <span class="sourceLineNo">031</span>import org.apache.commons.logging.Log;<a name="line.31"></a>
 <span class="sourceLineNo">032</span>import org.apache.commons.logging.LogFactory;<a name="line.32"></a>
 <span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.Cell;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.ServerName;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.TableName;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.client.ClusterConnection;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.client.Get;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.client.Put;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.client.QuotaStatusCalls;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.client.Result;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.client.ResultScanner;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.client.Table;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.filter.ColumnPrefixFilter;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.filter.CompareFilter;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.filter.Filter;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.filter.FilterList;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.filter.QualifierFilter;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.filter.RegexStringComparator;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.filter.RowFilter;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.protobuf.ProtobufMagic;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.InvalidProtocolBufferException;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.UnsafeByteOperations;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetQuotaStatesResponse;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaRegionSizesResponse;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse.TableQuotaSnapshot;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaRegionSizesResponse.RegionSizes;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.util.Strings;<a name="line.70"></a>
-<span class="sourceLineNo">071</span><a name="line.71"></a>
-<span class="sourceLineNo">072</span>/**<a name="line.72"></a>
-<span class="sourceLineNo">073</span> * Helper class to interact with the quota table.<a name="line.73"></a>
-<span class="sourceLineNo">074</span> * &lt;table&gt;<a name="line.74"></a>
-<span class="sourceLineNo">075</span> *   &lt;tr&gt;&lt;th&gt;ROW-KEY&lt;/th&gt;&lt;th&gt;FAM/QUAL&lt;/th&gt;&lt;th&gt;DATA&lt;/th&gt;&lt;/tr&gt;<a name="line.75"></a>
-<span class="sourceLineNo">076</span> *   &lt;tr&gt;&lt;td&gt;n.&amp;lt;namespace&amp;gt;&lt;/td&gt;&lt;td&gt;q:s&lt;/td&gt;&lt;td&gt;&amp;lt;global-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.76"></a>
-<span class="sourceLineNo">077</span> *   &lt;tr&gt;&lt;td&gt;n.&amp;lt;namespace&amp;gt;&lt;/td&gt;&lt;td&gt;u:p&lt;/td&gt;&lt;td&gt;&amp;lt;namespace-quota policy&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.77"></a>
-<span class="sourceLineNo">078</span> *   &lt;tr&gt;&lt;td&gt;n.&amp;lt;namespace&amp;gt;&lt;/td&gt;&lt;td&gt;u:s&lt;/td&gt;&lt;td&gt;&amp;lt;SpaceQuotaSnapshot&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.78"></a>
-<span class="sourceLineNo">079</span> *   &lt;tr&gt;&lt;td&gt;t.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;q:s&lt;/td&gt;&lt;td&gt;&amp;lt;global-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.79"></a>
-<span class="sourceLineNo">080</span> *   &lt;tr&gt;&lt;td&gt;t.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;u:p&lt;/td&gt;&lt;td&gt;&amp;lt;table-quota policy&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.80"></a>
-<span class="sourceLineNo">081</span> *   &lt;tr&gt;&lt;td&gt;t.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;u:ss.&amp;lt;snapshot name&amp;gt;&lt;/td&gt;&lt;td&gt;&amp;lt;SpaceQuotaSnapshot&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.81"></a>
-<span class="sourceLineNo">082</span> *   &lt;tr&gt;&lt;td&gt;u.&amp;lt;user&amp;gt;&lt;/td&gt;&lt;td&gt;q:s&lt;/td&gt;&lt;td&gt;&amp;lt;global-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.82"></a>
-<span class="sourceLineNo">083</span> *   &lt;tr&gt;&lt;td&gt;u.&amp;lt;user&amp;gt;&lt;/td&gt;&lt;td&gt;q:s.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;&amp;lt;table-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.83"></a>
-<span class="sourceLineNo">084</span> *   &lt;tr&gt;&lt;td&gt;u.&amp;lt;user&amp;gt;&lt;/td&gt;&lt;td&gt;q:s.&amp;lt;ns&amp;gt;&lt;/td&gt;&lt;td&gt;&amp;lt;namespace-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.84"></a>
-<span class="sourceLineNo">085</span> * &lt;/table<a name="line.85"></a>
-<span class="sourceLineNo">086</span> */<a name="line.86"></a>
-<span class="sourceLineNo">087</span>@InterfaceAudience.Private<a name="line.87"></a>
-<span class="sourceLineNo">088</span>@InterfaceStability.Evolving<a name="line.88"></a>
-<span class="sourceLineNo">089</span>public class QuotaTableUtil {<a name="line.89"></a>
-<span class="sourceLineNo">090</span>  private static final Log LOG = LogFactory.getLog(QuotaTableUtil.class);<a name="line.90"></a>
-<span class="sourceLineNo">091</span><a name="line.91"></a>
-<span class="sourceLineNo">092</span>  /** System table for quotas */<a name="line.92"></a>
-<span class="sourceLineNo">093</span>  public static final TableName QUOTA_TABLE_NAME =<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      TableName.valueOf(NamespaceDescriptor.SYSTEM_NAMESPACE_NAME_STR, "quota");<a name="line.94"></a>
-<span class="sourceLineNo">095</span><a name="line.95"></a>
-<span class="sourceLineNo">096</span>  protected static final byte[] QUOTA_FAMILY_INFO = Bytes.toBytes("q");<a name="line.96"></a>
-<span class="sourceLineNo">097</span>  protected static final byte[] QUOTA_FAMILY_USAGE = Bytes.toBytes("u");<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  protected static final byte[] QUOTA_QUALIFIER_SETTINGS = Bytes.toBytes("s");<a name="line.98"></a>
-<span class="sourceLineNo">099</span>  protected static final byte[] QUOTA_QUALIFIER_SETTINGS_PREFIX = Bytes.toBytes("s.");<a name="line.99"></a>
-<span class="sourceLineNo">100</span>  protected static final byte[] QUOTA_QUALIFIER_POLICY = Bytes.toBytes("p");<a name="line.100"></a>
-<span class="sourceLineNo">101</span>  protected static final byte[] QUOTA_SNAPSHOT_SIZE_QUALIFIER = Bytes.toBytes("ss");<a name="line.101"></a>
-<span class="sourceLineNo">102</span>  protected static final String QUOTA_POLICY_COLUMN =<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      Bytes.toString(QUOTA_FAMILY_USAGE) + ":" + Bytes.toString(QUOTA_QUALIFIER_POLICY);<a name="line.103"></a>
-<span class="sourceLineNo">104</span>  protected static final byte[] QUOTA_USER_ROW_KEY_PREFIX = Bytes.toBytes("u.");<a name="line.104"></a>
-<span class="sourceLineNo">105</span>  protected static final byte[] QUOTA_TABLE_ROW_KEY_PREFIX = Bytes.toBytes("t.");<a name="line.105"></a>
-<span class="sourceLineNo">106</span>  protected static final byte[] QUOTA_NAMESPACE_ROW_KEY_PREFIX = Bytes.toBytes("n.");<a name="line.106"></a>
-<span class="sourceLineNo">107</span><a name="line.107"></a>
-<span class="sourceLineNo">108</span>  /* =========================================================================<a name="line.108"></a>
-<span class="sourceLineNo">109</span>   *  Quota "settings" helpers<a name="line.109"></a>
-<span class="sourceLineNo">110</span>   */<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  public static Quotas getTableQuota(final Connection connection, final TableName table)<a name="line.111"></a>
-<span class="sourceLineNo">112</span>      throws IOException {<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    return getQuotas(connection, getTableRowKey(table));<a name="line.113"></a>
-<span class="sourceLineNo">114</span>  }<a name="line.114"></a>
-<span class="sourceLineNo">115</span><a name="line.115"></a>
-<span class="sourceLineNo">116</span>  public static Quotas getNamespaceQuota(final Connection connection, final String namespace)<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      throws IOException {<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    return getQuotas(connection, getNamespaceRowKey(namespace));<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  }<a name="line.119"></a>
-<span class="sourceLineNo">120</span><a name="line.120"></a>
-<span class="sourceLineNo">121</span>  public static Quotas getUserQuota(final Connection connection, final String user)<a name="line.121"></a>
-<span class="sourceLineNo">122</span>      throws IOException {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    return getQuotas(connection, getUserRowKey(user));<a name="line.123"></a>
-<span class="sourceLineNo">124</span>  }<a name="line.124"></a>
-<span class="sourceLineNo">125</span><a name="line.125"></a>
-<span class="sourceLineNo">126</span>  public static Quotas getUserQuota(final Connection connection, final String user,<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      final TableName table) throws IOException {<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    return getQuotas(connection, getUserRowKey(user), getSettingsQualifierForUserTable(table));<a name="line.128"></a>
-<span class="sourceLineNo">129</span>  }<a name="line.129"></a>
-<span class="sourceLineNo">130</span><a name="line.130"></a>
-<span class="sourceLineNo">131</span>  public static Quotas getUserQuota(final Connection connection, final String user,<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      final String namespace) throws IOException {<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    return getQuotas(connection, getUserRowKey(user),<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      getSettingsQualifierForUserNamespace(namespace));<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  }<a name="line.135"></a>
-<span class="sourceLineNo">136</span><a name="line.136"></a>
-<span class="sourceLineNo">137</span>  private static Quotas getQuotas(final Connection connection, final byte[] rowKey)<a name="line.137"></a>
-<span class="sourceLineNo">138</span>      throws IOException {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    return getQuotas(connection, rowKey, QUOTA_QUALIFIER_SETTINGS);<a name="line.139"></a>
-<span class="sourceLineNo">140</span>  }<a name="line.140"></a>
-<span class="sourceLineNo">141</span><a name="line.141"></a>
-<span class="sourceLineNo">142</span>  private static Quotas getQuotas(final Connection connection, final byte[] rowKey,<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      final byte[] qualifier) throws IOException {<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    Get get = new Get(rowKey);<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    get.addColumn(QUOTA_FAMILY_INFO, qualifier);<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    Result result = doGet(connection, get);<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    if (result.isEmpty()) {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>      return null;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    }<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    return quotasFromData(result.getValue(QUOTA_FAMILY_INFO, qualifier));<a name="line.150"></a>
-<span class="sourceLineNo">151</span>  }<a name="line.151"></a>
-<span class="sourceLineNo">152</span><a name="line.152"></a>
-<span class="sourceLineNo">153</span>  public static Get makeGetForTableQuotas(final TableName table) {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    Get get = new Get(getTableRowKey(table));<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    get.addFamily(QUOTA_FAMILY_INFO);<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    return get;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>  }<a name="line.157"></a>
-<span class="sourceLineNo">158</span><a name="line.158"></a>
-<span class="sourceLineNo">159</span>  public static Get makeGetForNamespaceQuotas(final String namespace) {<a name="line.159"></a>
-<span class="sourceLineNo">160</span>    Get get = new Get(getNamespaceRowKey(namespace));<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    get.addFamily(QUOTA_FAMILY_INFO);<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    return get;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>  }<a name="line.163"></a>
-<span class="sourceLineNo">164</span><a name="line.164"></a>
-<span class="sourceLineNo">165</span>  public static Get makeGetForUserQuotas(final String user, final Iterable&lt;TableName&gt; tables,<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      final Iterable&lt;String&gt; namespaces) {<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    Get get = new Get(getUserRowKey(user));<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    get.addColumn(QUOTA_FAMILY_INFO, QUOTA_QUALIFIER_SETTINGS);<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    for (final TableName table: tables) {<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      get.addColumn(QUOTA_FAMILY_INFO, getSettingsQualifierForUserTable(table));<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    }<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    for (final String ns: namespaces) {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      get.addColumn(QUOTA_FAMILY_INFO, getSettingsQualifierForUserNamespace(ns));<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    }<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    return get;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>  }<a name="line.176"></a>
-<span class="sourceLineNo">177</span><a name="line.177"></a>
-<span class="sourceLineNo">178</span>  public static Scan makeScan(final QuotaFilter filter) {<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    Scan scan = new Scan();<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    scan.addFamily(QUOTA_FAMILY_INFO);<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    if (filter != null &amp;&amp; !filter.isNull()) {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>      scan.setFilter(makeFilter(filter));<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    }<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    return scan;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>  }<a name="line.185"></a>
-<span class="sourceLineNo">186</span><a name="line.186"></a>
-<span class="sourceLineNo">187</span>  /**<a name="line.187"></a>
-<span class="sourceLineNo">188</span>   * converts quotafilter to serializeable filterlists.<a name="line.188"></a>
-<span class="sourceLineNo">189</span>   */<a name="line.189"></a>
-<span class="sourceLineNo">190</span>  public static Filter makeFilter(final QuotaFilter filter) {<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    FilterList filterList = new FilterList(FilterList.Operator.MUST_PASS_ALL);<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    if (!Strings.isEmpty(filter.getUserFilter())) {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      FilterList userFilters = new FilterList(FilterList.Operator.MUST_PASS_ONE);<a name="line.193"></a>
-<span class="sourceLineNo">194</span>      boolean hasFilter = false;<a name="line.194"></a>
-<span class="sourceLineNo">195</span><a name="line.195"></a>
-<span class="sourceLineNo">196</span>      if (!Strings.isEmpty(filter.getNamespaceFilter())) {<a name="line.196"></a>
-<span class="sourceLineNo">197</span>        FilterList nsFilters = new FilterList(FilterList.Operator.MUST_PASS_ALL);<a name="line.197"></a>
-<span class="sourceLineNo">198</span>        nsFilters.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.198"></a>
-<span class="sourceLineNo">199</span>            new RegexStringComparator(getUserRowKeyRegex(filter.getUserFilter()), 0)));<a name="line.199"></a>
-<span class="sourceLineNo">200</span>        nsFilters.addFilter(new QualifierFilter(CompareFilter.CompareOp.EQUAL,<a name="line.200"></a>
-<span class="sourceLineNo">201</span>            new RegexStringComparator(<a name="line.201"></a>
-<span class="sourceLineNo">202</span>              getSettingsQualifierRegexForUserNamespace(filter.getNamespaceFilter()), 0)));<a name="line.202"></a>
-<span class="sourceLineNo">203</span>        userFilters.addFilter(nsFilters);<a name="line.203"></a>
-<span class="sourceLineNo">204</span>        hasFilter = true;<a name="line.204"></a>
-<span class="sourceLineNo">205</span>      }<a name="line.205"></a>
-<span class="sourceLineNo">206</span>      if (!Strings.isEmpty(filter.getTableFilter())) {<a name="line.206"></a>
-<span class="sourceLineNo">207</span>        FilterList tableFilters = new FilterList(FilterList.Operator.MUST_PASS_ALL);<a name="line.207"></a>
-<span class="sourceLineNo">208</span>        tableFilters.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.208"></a>
-<span class="sourceLineNo">209</span>            new RegexStringComparator(getUserRowKeyRegex(filter.getUserFilter()), 0)));<a name="line.209"></a>
-<span class="sourceLineNo">210</span>        tableFilters.addFilter(new QualifierFilter(CompareFilter.CompareOp.EQUAL,<a name="line.210"></a>
-<span class="sourceLineNo">211</span>            new RegexStringComparator(<a name="line.211"></a>
-<span class="sourceLineNo">212</span>              getSettingsQualifierRegexForUserTable(filter.getTableFilter()), 0)));<a name="line.212"></a>
-<span class="sourceLineNo">213</span>        userFilters.addFilter(tableFilters);<a name="line.213"></a>
-<span class="sourceLineNo">214</span>        hasFilter = true;<a name="line.214"></a>
-<span class="sourceLineNo">215</span>      }<a name="line.215"></a>
-<span class="sourceLineNo">216</span>      if (!hasFilter) {<a name="line.216"></a>
-<span class="sourceLineNo">217</span>        userFilters.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.217"></a>
-<span class="sourceLineNo">218</span>            new RegexStringComparator(getUserRowKeyRegex(filter.getUserFilter()), 0)));<a name="line.218"></a>
-<span class="sourceLineNo">219</span>      }<a name="line.219"></a>
-<span class="sourceLineNo">220</span><a name="line.220"></a>
-<span class="sourceLineNo">221</span>      filterList.addFilter(userFilters);<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    } else if (!Strings.isEmpty(filter.getTableFilter())) {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>      filterList.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.223"></a>
-<span class="sourceLineNo">224</span>          new RegexStringComparator(getTableRowKeyRegex(filter.getTableFilter()), 0)));<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    } else if (!Strings.isEmpty(filter.getNamespaceFilter())) {<a name="line.225"></a>
-<span class="sourceLineNo">226</span>      filterList.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.226"></a>
-<span class="sourceLineNo">227</span>          new RegexStringComparator(getNamespaceRowKeyRegex(filter.getNamespaceFilter()), 0)));<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    }<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    return filterList;<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  }<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>  /**<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   * Creates a {@link Scan} which returns only quota snapshots from the quota table.<a name="line.233"></a>
-<span class="sourceLineNo">234</span>   */<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  public static Scan makeQuotaSnapshotScan() {<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    return makeQuotaSnapshotScanForTable(null);<a name="line.236"></a>
-<span class="sourceLineNo">237</span>  }<a name="line.237"></a>
-<span class="sourceLineNo">238</span><a name="line.238"></a>
-<span class="sourceLineNo">239</span>  /**<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * Fetches all {@link SpaceQuotaSnapshot} objects from the {@code hbase:quota} table.<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   *<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   * @param conn The HBase connection<a name="line.242"></a>
-<span class="sourceLineNo">243</span>   * @return A map of table names and their computed snapshot.<a name="line.243"></a>
-<span class="sourceLineNo">244</span>   */<a name="line.244"></a>
-<span class="sourceLineNo">245</span>  public static Map&lt;TableName,SpaceQuotaSnapshot&gt; getSnapshots(Connection conn) throws IOException {<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    Map&lt;TableName,SpaceQuotaSnapshot&gt; snapshots = new HashMap&lt;&gt;();<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    try (Table quotaTable = conn.getTable(QUOTA_TABLE_NAME);<a name="line.247"></a>
-<span class="sourceLineNo">248</span>        ResultScanner rs = quotaTable.getScanner(makeQuotaSnapshotScan())) {<a name="line.248"></a>
-<span class="sourceLineNo">249</span>      for (Result r : rs) {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>        extractQuotaSnapshot(r, snapshots);<a name="line.250"></a>
-<span class="sourceLineNo">251</span>      }<a name="line.251"></a>
-<span class="sourceLineNo">252</span>    }<a name="line.252"></a>
-<span class="sourceLineNo">253</span>    return snapshots;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  }<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>  /**<a name="line.256"></a>
-<span class="sourceLineNo">257</span>   * Creates a {@link Scan} which returns only {@link SpaceQuotaSnapshot} from the quota table for a<a name="line.257"></a>
-<span class="sourceLineNo">258</span>   * specific table.<a name="line.258"></a>
-<span class="sourceLineNo">259</span>   * @param tn Optionally, a table name to limit the scan's rowkey space. Can be null.<a name="line.259"></a>
-<span class="sourceLineNo">260</span>   */<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  public static Scan makeQuotaSnapshotScanForTable(TableName tn) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    Scan s = new Scan();<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    // Limit to "u:v" column<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    s.addColumn(QUOTA_FAMILY_USAGE, QUOTA_QUALIFIER_POLICY);<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    if (null == tn) {<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      s.setRowPrefixFilter(QUOTA_TABLE_ROW_KEY_PREFIX);<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    } else {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      byte[] row = getTableRowKey(tn);<a name="line.268"></a>
-<span class="sourceLineNo">269</span>      // Limit rowspace to the "t:" prefix<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      s.withStartRow(row, true).withStopRow(row, true);<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    }<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    return s;<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  }<a name="line.273"></a>
-<span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>  /**<a name="line.275"></a>
-<span class="sourceLineNo">276</span>   * Extracts the {@link SpaceViolationPolicy} and {@link TableName} from the provided<a name="line.276"></a>
-<span class="sourceLineNo">277</span>   * {@link Result} and adds them to the given {@link Map}. If the result does not contain<a name="line.277"></a>
-<span class="sourceLineNo">278</span>   * the expected information or the serialized policy in the value is invalid, this method<a name="line.278"></a>
-<span class="sourceLineNo">279</span>   * will throw an {@link IllegalArgumentException}.<a name="line.279"></a>
-<span class="sourceLineNo">280</span>   *<a name="line.280"></a>
-<span class="sourceLineNo">281</span>   * @param result A row from the quota table.<a name="line.281"></a>
-<span class="sourceLineNo">282</span>   * @param snapshots A map of snapshots to add the result of this method into.<a name="line.282"></a>
-<span class="sourceLineNo">283</span>   */<a name="line.283"></a>
-<span class="sourceLineNo">284</span>  public static void extractQuotaSnapshot(<a name="line.284"></a>
-<span class="sourceLineNo">285</span>      Result result, Map&lt;TableName,SpaceQuotaSnapshot&gt; snapshots) {<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    byte[] row = Objects.requireNonNull(result).getRow();<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    if (row == null) {<a name="line.287"></a>
-<span class="sourceLineNo">288</span>      throw new IllegalArgumentException("Provided result had a null row");<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    }<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    final TableName targetTableName = getTableFromRowKey(row);<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    Cell c = result.getColumnLatestCell(QUOTA_FAMILY_USAGE, QUOTA_QUALIFIER_POLICY);<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    if (c == null) {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>      throw new IllegalArgumentException("Result did not contain the expected column "<a name="line.293"></a>
-<span class="sourceLineNo">294</span>          + QUOTA_POLICY_COLUMN + ", " + result.toString());<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    }<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    ByteString buffer = UnsafeByteOperations.unsafeWrap(<a name="line.296"></a>
-<span class="sourceLineNo">297</span>        c.getValueArray(), c.getValueOffset(), c.getValueLength());<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    try {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      QuotaProtos.SpaceQuotaSnapshot snapshot = QuotaProtos.SpaceQuotaSnapshot.parseFrom(buffer);<a name="line.299"></a>
-<span class="sourceLineNo">300</span>      snapshots.put(targetTableName, SpaceQuotaSnapshot.toSpaceQuotaSnapshot(snapshot));<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    } catch (InvalidProtocolBufferException e) {<a name="line.301"></a>
-<span class="sourceLineNo">302</span>      throw new IllegalArgumentException(<a name="line.302"></a>
-<span class="sourceLineNo">303</span>          "Result did not contain a valid SpaceQuota protocol buffer message", e);<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    }<a name="line.304"></a>
-<span class="sourceLineNo">305</span>  }<a name="line.305"></a>
-<span class="sourceLineNo">306</span><a name="line.306"></a>
-<span class="sourceLineNo">307</span>  public static interface UserQuotasVisitor {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    void visitUserQuotas(final String userName, final Quotas quotas)<a name="line.308"></a>
-<span class="sourceLineNo">309</span>      throws IOException;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    void visitUserQuotas(final String userName, final TableName table, final Quotas quotas)<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      throws IOException;<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    void visitUserQuotas(final String userName, final String namespace, final Quotas quotas)<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      throws IOException;<a name="line.313"></a>
-<span class="sourceLineNo">314</span>  }<a name="line.314"></a>
-<span class="sourceLineNo">315</span><a name="line.315"></a>
-<span class="sourceLineNo">316</span>  public static interface TableQuotasVisitor {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    void visitTableQuotas(final TableName tableName, final Quotas quotas)<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      throws IOException;<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  }<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>  public static interface NamespaceQuotasVisitor {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    void visitNamespaceQuotas(final String namespace, final Quotas quotas)<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      throws IOException;<a name="line.323"></a>
-<span class="sourceLineNo">324</span>  }<a name="line.324"></a>
-<span class="sourceLineNo">325</span><a name="line.325"></a>
-<span class="sourceLineNo">326</span>  public static interface QuotasVisitor extends UserQuotasVisitor,<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      TableQuotasVisitor, NamespaceQuotasVisitor {<a name="line.327"></a>
-<span class="sourceLineNo">328</span>  }<a name="line.328"></a>
-<span class="sourceLineNo">329</span><a name="line.329"></a>
-<span class="sourceLineNo">330</span>  public static void parseResult(final Result result, final QuotasVisitor visitor)<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      throws IOException {<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    byte[] row = result.getRow();<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    if (isNamespaceRowKey(row)) {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>      parseNamespaceResult(result, visitor);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>    } else if (isTableRowKey(row)) {<a name="line.335"></a>
-<span class="sourceLineNo">336</span>      parseTableResult(result, visitor);<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    } else if (isUserRowKey(row)) {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      parseUserResult(result, visitor);<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    } else {<a name="line.339"></a>
-<span class="sourceLineNo">340</span>      LOG.warn("unexpected row-key: " + Bytes.toString(row));<a name="line.340"></a>
-<span class="sourceLineNo">341</span>    }<a name="line.341"></a>
-<span class="sourceLineNo">342</span>  }<a name="line.342"></a>
-<span class="sourceLineNo">343</span><a name="line.343"></a>
-<span class="sourceLineNo">344</span>  public static void parseResultToCollection(final Result result,<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      Collection&lt;QuotaSettings&gt; quotaSettings) throws IOException {<a name="line.345"></a>
-<span class="sourceLineNo">346</span><a name="line.346"></a>
-<span class="sourceLineNo">347</span>    QuotaTableUtil.parseResult(result, new QuotaTableUtil.QuotasVisitor() {<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      @Override<a name="line.348"></a>
-<span class="sourceLineNo">349</span>      public void visitUserQuotas(String userName, Quotas quotas) {<a name="line.349"></a>
-<span class="sourceLineNo">350</span>        quotaSettings.addAll(QuotaSettingsFactory.fromUserQuotas(userName, quotas));<a name="line.350"></a>
-<span class="sourceLineNo">351</span>      }<a name="line.351"></a>
-<span class="sourceLineNo">352</span><a name="line.352"></a>
-<span class="sourceLineNo">353</span>      @Override<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      public void visitUserQuotas(String userName, TableName table, Quotas quotas) {<a name="line.354"></a>
-<span class="sourceLineNo">355</span>        quotaSettings.addAll(QuotaSettingsFactory.fromUserQuotas(userName, table, quotas));<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      }<a name="line.356"></a>
-<span class="sourceLineNo">357</span><a name="line.357"></a>
-<span class="sourceLineNo">358</span>      @Override<a name="line.358"></a>
-<span class="sourceLineNo">359</span>      public void visitUserQuotas(String userName, String namespace, Quotas quotas) {<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        quotaSettings.addAll(QuotaSettingsFactory.fromUserQuotas(userName, namespace, quotas));<a name="line.360"></a>
-<span class="sourceLineNo">361</span>      }<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>      @Override<a name="line.363"></a>
-<span class="sourceLineNo">364</span>      public void visitTableQuotas(TableName tableName, Quotas quotas) {<a name="line.364"></a>
-<span class="sourceLineNo">365</span>        quotaSettings.addAll(QuotaSettingsFactory.fromTableQuotas(tableName, quotas));<a name="line.365"></a>
-<span class="sourceLineNo">366</span>      }<a name="line.366"></a>
-<span class="sourceLineNo">367</span><a name="line.367"></a>
-<span class="sourceLineNo">368</span>      @Override<a name="line.368"></a>
-<span class="sourceLineNo">369</span>      public void visitNamespaceQuotas(String namespace, Quotas quotas) {<a name="line.369"></a>
-<span class="sourceLineNo">370</span>        quotaSettings.addAll(QuotaSettingsFactory.fromNamespaceQuotas(namespace, quotas));<a name="line.370"></a>
-<span class="sourceLineNo">371</span>      }<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    });<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  }<a name="line.373"></a>
-<span class="sourceLineNo">374</span><a name="line.374"></a>
-<span class="sourceLineNo">375</span>  public static void parseNamespaceResult(final Result result,<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      final NamespaceQuotasVisitor visitor) throws IOException {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    String namespace = getNamespaceFromRowKey(result.getRow());<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    parseNamespaceResult(namespace, result, visitor);<a name="line.378"></a>
-<span class="sourceLineNo">379</span>  }<a name="line.379"></a>
-<span class="sourceLineNo">380</span><a name="line.380"></a>
-<span class="sourceLineNo">381</span>  protected static void parseNamespaceResult(final String namespace, final Result result,<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      final NamespaceQuotasVisitor visitor) throws IOException {<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    byte[] data = result.getValue(QUOTA_FAMILY_INFO, QUOTA_QUALIFIER_SETTINGS);<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    if (data != null) {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>      Quotas quotas = quotasFromData(data);<a name="line.385"></a>
-<span class="sourceLineNo">386</span>      visitor.visitNamespaceQuotas(namespace, quotas);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    }<a name="line.387"></a>
-<span class="sourceLineNo">388</span>  }<a name="line.388"></a>
-<span class="sourceLineNo">389</span><a name="line.389"></a>
-<span class="sourceLineNo">390</span>  public static void parseTableResult(final Result result, final TableQuotasVisitor visitor)<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      throws IOException {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    TableName table = getTableFromRowKey(result.getRow());<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    parseTableResult(table, result, visitor);<a name="line.393"></a>
-<span class="sourceLineNo">394</span>  }<a name="line.394"></a>
-<span class="sourceLineNo">395</span><a name="line.395"></a>
-<span class="sourceLineNo">396</span>  protected static void parseTableResult(final TableName table, final Result result,<a name="line.396"></a>
-<span class="sourceLineNo">397</span>      final TableQuotasVisitor visitor) throws IOException {<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    byte[] data = result.getValue(QUOTA_FAMILY_INFO, QUOTA_QUALIFIER_SETTINGS);<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    if (data != null) {<a name="line.399"></a>
-<span class="sourceLineNo">400</span>      Quotas quotas = quotasFromData(data);<a name="line.400"></a>
-<span class="sourceLineNo">401</span>      visitor.visitTableQuotas(table, quotas);<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    }<a name="line.402"></a>
-<span class="sourceLineNo">403</span>  }<a name="line.403"></a>
-<span class="sourceLineNo">404</span><a name="line.404"></a>
-<span class="sourceLineNo">405</span>  public static void parseUserResult(final Result result, final UserQuotasVisitor visitor)<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      throws IOException {<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    String userName = getUserFromRowKey(result.getRow());<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    parseUserResult(userName, result, visitor);<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  }<a name="line.409"></a>
-<span class="sourceLineNo">410</span><a name="line.410"></a>
-<span class="sourceLineNo">411</span>  protected static void parseUserResult(final String userName, final Result result,<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      final UserQuotasVisitor visitor) throws IOException {<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    Map&lt;byte[], byte[]&gt; familyMap = result.getFamilyMap(QUOTA_FAMILY_INFO);<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    if (familyMap == null || familyMap.isEmpty()) return;<a name="line.414"></a>
-<span class="sourceLineNo">415</span><a name="line.415"></a>
-<span class="sourceLineNo">416</span>    for (Map.Entry&lt;byte[], byte[]&gt; entry: familyMap.entrySet()) {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      Quotas quotas = quotasFromData(entry.getValue());<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      if (Bytes.startsWith(entry.getKey(), QUOTA_QUALIFIER_SETTINGS_PREFIX)) {<a name="line.418"></a>
-<span class="sourceLineNo">419</span>        String name = Bytes.toString(entry.getKey(), QUOTA_QUALIFIER_SETTINGS_PREFIX.length);<a name="line.419"></a>
-<span class="sourceLineNo">420</span>        if (name.charAt(name.length() - 1) == TableName.NAMESPACE_DELIM) {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>          String namespace = name.substring(0, name.length() - 1);<a name="line.421"></a>
-<span class="sourceLineNo">422</span>          visitor.visitUserQuotas(userName, namespace, quotas);<a name="line.422"></a>
-<span class="sourceLineNo">423</span>        } else {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>          TableName table = TableName.valueOf(name);<a name="line.424"></a>
-<span class="sourceLineNo">425</span>          visitor.visitUserQuotas(userName, table, quotas);<a name="line.425"></a>
-<span class="sourceLineNo">426</span>        }<a name="line.426"></a>
-<span class="sourceLineNo">427</span>      } else if (Bytes.equals(entry.getKey(), QUOTA_QUALIFIER_SETTINGS)) {<a name="line.427"></a>
-<span class="sourceLineNo">428</span>        visitor.visitUserQuotas(userName, quotas);<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      }<a name="line.429"></a>
-<span class="sourceLineNo">430</span>    }<a name="line.430"></a>
-<span class="sourceLineNo">431</span>  }<a name="line.431"></a>
-<span class="sourceLineNo">432</span><a name="line.432"></a>
-<span class="sourceLineNo">433</span>  /**<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * Creates a {@link Put} to store the given {@code snapshot} for the given {@code tableName} in<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   * the quota table.<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   */<a name="line.436"></a>
-<span class="sourceLineNo">437</span>  static Put createPutForSpaceSnapshot(TableName tableName, SpaceQuotaSnapshot snapshot) {<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    Put p = new Put(getTableRowKey(tableName));<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    p.addColumn(<a name="line.439"></a>
-<span class="sourceLineNo">440</span>        QUOTA_FAMILY_USAGE, QUOTA_QUALIFIER_POLICY,<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        SpaceQuotaSnapshot.toProtoSnapshot(snapshot).toByteArray());<a name="line.441"></a>
-<span class="sourceLineNo">442</span>    return p;<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>  /**<a name="line.445"></a>
-<span class="sourceLineNo">446</span>   * Creates a {@link Get} for the HBase snapshot's size against the given table.<a name="line.446"></a>
-<span class="sourceLineNo">447</span>   */<a name="line.447"></a>
-<span class="sourceLineNo">448</span>  static Get makeGetForSnapshotSize(TableName tn, String snapshot) {<a name="line.448"></a>
-<span class="sourceLineNo">449</span>    Get g = new Get(Bytes.add(QUOTA_TABLE_ROW_KEY_PREFIX, Bytes.toBytes(tn.toString())));<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    g.addColumn(<a name="line.450"></a>
-<span class="sourceLineNo">451</span>        QUOTA_FAMILY_USAGE,<a name="line.451"></a>
-<span class="sourceLineNo">452</span>        Bytes.add(QUOTA_SNAPSHOT_SIZE_QUALIFIER, Bytes.toBytes(snapshot)));<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    return g;<a name="line.453"></a>
-<span class="sourceLineNo">454</span>  }<a name="line.454"></a>
-<span class="sourceLineNo">455</span><a name="line.455"></a>
-<span class="sourceLineNo">456</span>  /**<a name="line.456"></a>
-<span class="sourceLineNo">457</span>   * Creates a {@link Put} to persist the current size of the {@code snapshot} with respect to<a name="line.457"></a>
-<span class="sourceLineNo">458</span>   * the given {@code table}.<a name="line.458"></a>
-<span class="sourceLineNo">459</span>   */<a name="line.459"></a>
-<span class="sourceLineNo">460</span>  static Put createPutForSnapshotSize(TableName tableName, String snapshot, long size) {<a name="line.460"></a>
-<span class="sourceLineNo">461</span>    // We just need a pb message with some `long usage`, so we can just reuse the<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    // SpaceQuotaSnapshot message instead of creating a new one.<a name="line.462"></a>
-<span class="sourceLineNo">463</span>    Put p = new Put(getTableRowKey(tableName));<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    p.addColumn(QUOTA_FAMILY_USAGE, getSnapshotSizeQualifier(snapshot),<a name="line.464"></a>
-<span class="sourceLineNo">465</span>        org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuotaSnapshot<a name="line.465"></a>
-<span class="sourceLineNo">466</span>            .newBuilder().setQuotaUsage(size).build().toByteArray());<a name="line.466"></a>
-<span class="sourceLineNo">467</span>    return p;<a name="line.467"></a>
-<span class="sourceLineNo">468</span>  }<a name="line.468"></a>
-<span class="sourceLineNo">469</span><a name="line.469"></a>
-<span class="sourceLineNo">470</span>  /**<a name="line.470"></a>
-<span class="sourceLineNo">471</span>   * Creates a {@code Put} for the namespace's total snapshot size.<a name="line.471"></a>
-<span class="sourceLineNo">472</span>   */<a name="line.472"></a>
-<span class="sourceLineNo">473</span>  static Put createPutForNamespaceSnapshotSize(String namespace, long size) {<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    Put p = new Put(getNamespaceRowKey(namespace));<a name="line.474"></a>
-<span class="sourceLineNo">475</span>    p.addColumn(QUOTA_FAMILY_USAGE, QUOTA_SNAPSHOT_SIZE_QUALIFIER,<a name="line.475"></a>
-<span class="sourceLineNo">476</span>        org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuotaSnapshot<a name="line.476"></a>
-<span class="sourceLineNo">477</span>            .newBuilder().setQuotaUsage(size).build().toByteArray());<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    return p;<a name="line.478"></a>
-<span class="sourceLineNo">479</span>  }<a name="line.479"></a>
-<span class="sourceLineNo">480</span><a name="line.480"></a>
-<span class="sourceLineNo">481</span>  /**<a name="line.481"></a>
-<span class="sourceLineNo">482</span>   * Fetches the computed size of all snapshots against tables in a namespace for space quotas.<a name="line.482"></a>
-<span class="sourceLineNo">483</span>   */<a name="line.483"></a>
-<span class="sourceLineNo">484</span>  static long getNamespaceSnapshotSize(<a name="line.484"></a>
-<span class="sourceLineNo">485</span>      Connection conn, String namespace) throws IOException {<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    try (Table quotaTable = conn.getTable(QuotaTableUtil.QUOTA_TABLE_NAME)) {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      Result r = quotaTable.get(createGetNamespaceSnapshotSize(namespace));<a name="line.487"></a>
-<span class="sourceLineNo">488</span>      if (r.isEmpty()) {<a name="line.488"></a>
-<span class="sourceLineNo">489</span>        return 0L;<a name="line.489"></a>
-<span class="sourceLineNo">490</span>      }<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      r.advance();<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      return parseSnapshotSize(r.current());<a name="line.492"></a>
-<span class="sourceLineNo">493</span>    } catch (InvalidProtocolBufferException e) {<a name="line.493"></a>
-<span class="sourceLineNo">494</span>      throw new IOException("Could not parse snapshot size value for namespace " + namespace, e);<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    }<a name="line.495"></a>
-<span class="sourceLineNo">496</span>  }<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>  /**<a name="line.498"></a>
-<span class="sourceLineNo">499</span>   * Creates a {@code Get} to fetch the namespace's total snapshot size.<a name="line.499"></a>
-<span class="sourceLineNo">500</span>   */<a name="line.500"></a>
-<span class="sourceLineNo">501</span>  static Get createGetNamespaceSnapshotSize(String namespace) {<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    Get g = new Get(getNamespaceRowKey(namespace));<a name="line.502"></a>
-<span class="sourceLineNo">503</span>    g.addColumn(QUOTA_FAMILY_USAGE, QUOTA_SNAPSHOT_SIZE_QUALIFIER);<a name="line.503"></a>
-<span class="sourceLineNo">504</span>    return g;<a name="line.504"></a>
-<span class="sourceLineNo">505</span>  }<a name="line.505"></a>
-<span class="sourceLineNo">506</span><a name="line.506"></a>
-<span class="sourceLineNo">507</span>  /**<a name="line.507"></a>
-<span class="sourceLineNo">508</span>   * Parses the snapshot size from the given Cell's value.<a name="line.508"></a>
-<span class="sourceLineNo">509</span>   */<a name="line.509"></a>
-<span class="sourceLineNo">510</span>  static long parseSnapshotSize(Cell c) throws InvalidProtocolBufferException {<a name="line.510"></a>
-<span class="sourceLineNo">511</span>    ByteString bs = UnsafeByteOperations.unsafeWrap(<a name="line.511"></a>
-<span class="sourceLineNo">512</span>        c.getValueArray(), c.getValueOffset(), c.getValueLength());<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    return QuotaProtos.SpaceQuotaSnapshot.parseFrom(bs).getQuotaUsage();<a name="line.513"></a>
-<span class="sourceLineNo">514</span>  }<a name="line.514"></a>
-<span class="sourceLineNo">515</span><a name="line.515"></a>
-<span class="sourceLineNo">516</span>  static Scan createScanForSnapshotSizes(TableName table) {<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    byte[] rowkey = getTableRowKey(table);<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    return new Scan()<a name="line.518"></a>
-<span class="sourceLineNo">519</span>        // Fetch just this one row<a name="line.519"></a>
-<span class="sourceLineNo">520</span>        .withStartRow(rowkey)<a name="line.520"></a>
-<span class="sourceLineNo">521</span>        .withStopRow(rowkey, true)<a name="line.521"></a>
-<span class="sourceLineNo">522</span>        // Just the usage family<a name="line.522"></a>
-<span class="sourceLineNo">523</span>        .addFamily(QUOTA_FAMILY_USAGE)<a name="line.523"></a>
-<span class="sourceLineNo">524</span>        // Only the snapshot size qualifiers<a name="line.524"></a>
-<span class="sourceLineNo">525</span>        .setFilter(new ColumnPrefixFilter(QUOTA_SNAPSHOT_SIZE_QUALIFIER));<a name="line.525"></a>
-<span class="sourceLineNo">526</span>  }<a name="line.526"></a>
-<span class="sourceLineNo">527</span><a name="line.527"></a>
-<span class="sourceLineNo">528</span>  /* =========================================================================<a name="line.528"></a>
-<span class="sourceLineNo">529</span>   *  Space quota status RPC helpers<a name="line.529"></a>
-<span class="sourceLineNo">530</span>   */<a name="line.530"></a>
-<span class="sourceLineNo">531</span>  /**<a name="line.531"></a>
-<span class="sourceLineNo">532</span>   * Fetches the table sizes on the filesystem as tracked by the HBase Master.<a name="line.532"></a>
-<span class="sourceLineNo">533</span>   */<a name="line.533"></a>
-<span class="sourceLineNo">534</span>  public static Map&lt;TableName,Long&gt; getMasterReportedTableSizes(<a name="line.534"></a>
-<span class="sourceLineNo">535</span>      Connection conn) throws IOException {<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    if (!(conn instanceof ClusterConnection)) {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      throw new IllegalArgumentException("Expected a ClusterConnection");<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    }<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    ClusterConnection clusterConn = (ClusterConnection) conn;<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    GetSpaceQuotaRegionSizesResponse response = QuotaStatusCalls.getMasterRegionSizes(<a name="line.540"></a>
-<span class="sourceLineNo">541</span>        clusterConn, 0);<a name="line.541"></a>
-<span class="sourceLineNo">542</span>    Map&lt;TableName,Long&gt; tableSizes = new HashMap&lt;&gt;();<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    for (RegionSizes sizes : response.getSizesList()) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>      TableName tn = ProtobufUtil.toTableName(sizes.getTableName());<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      tableSizes.put(tn, sizes.getSize());<a name="line.545"></a>
-<span class="sourceLineNo">546</span>    }<a name="line.546"></a>
-<span class="sourceLineNo">547</span>    return tableSizes;<a name="line.547"></a>
-<span class="sourceLineNo">548</span>  }<a name="line.548"></a>
-<span class="sourceLineNo">549</span><a name="line.549"></a>
-<span class="sourceLineNo">550</span>  /**<a name="line.550"></a>
-<span class="sourceLineNo">551</span>   * Fetches the observed {@link SpaceQuotaSnapshot}s observed by a RegionServer.<a name="line.551"></a>
-<span class="sourceLineNo">552</span>   */<a name="line.552"></a>
-<span class="sourceLineNo">553</span>  public static Map&lt;TableName,SpaceQuotaSnapshot&gt; getRegionServerQuotaSnapshots(<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      Connection conn, ServerName regionServer) throws IOException {<a name="line.554"></a>
-<span class="sourceLineNo">555</span>    if (!(conn instanceof ClusterConnection)) {<a name="line.555"></a>
-<span class="sourceLineNo">556</span>      throw new IllegalArgumentException("Expected a ClusterConnection");<a name="line.556"></a>
-<span class="sourceLineNo">557</span>    }<a name="line.557"></a>
-<span class="sourceLineNo">558</span>    ClusterConnection clusterConn = (ClusterConnection) conn;<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    GetSpaceQuotaSnapshotsResponse response = QuotaStatusCalls.getRegionServerQuotaSnapshot(<a name="line.559"></a>
-<span class="sourceLineNo">560</span>        clusterConn, 0, regionServer);<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    Map&lt;TableName,SpaceQuotaSnapshot&gt; snapshots = new HashMap&lt;&gt;();<a name="line.561"></a>
-<span class="sourceLineNo">562</span>    for (TableQuotaSnapshot snapshot : response.getSnapshotsList()) {<a name="line.562"></a>
-<span class="sourceLineNo">563</span>      snapshots.put(<a name="line.563"></a>
-<span class="sourceLineNo">564</span>          ProtobufUtil.toTableName(snapshot.getTableName()),<a name="line.564"></a>
-<span class="sourceLineNo">565</span>          SpaceQuotaSnapshot.toSpaceQuotaSnapshot(snapshot.getSnapshot()));<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    }<a name="line.566"></a>
-<span class="sourceLineNo">567</span>    return snapshots;<a name="line.567"></a>
-<span class="sourceLineNo">568</span>  }<a name="line.568"></a>
-<span class="sourceLineNo">569</span><a name="line.569"></a>
-<span class="sourceLineNo">570</span>  /**<a name="line.570"></a>
-<span class="sourceLineNo">571</span>   * Returns the Master's view of a quota on the given {@code tableName} or null if the<a name="line.571"></a>
-<span class="sourceLineNo">572</span>   * Master has no quota information on that table.<a name="line.572"></a>
-<span class="sourceLineNo">573</span>   */<a name="line.573"></a>
-<span class="sourceLineNo">574</span>  public static SpaceQuotaSnapshot getCurrentSnapshot(<a name="line.574"></a>
-<span class="sourceLineNo">575</span>      Connection conn, TableName tn) throws IOException {<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    if (!(conn instanceof ClusterConnection)) {<a name="line.576"></a>
-<span class="sourceLineNo">577</span>      throw new IllegalArgumentException("Expected a ClusterConnection");<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    }<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    ClusterConnection clusterConn = (ClusterConnection) conn;<a name="line.579"></a>
-<span class="sourceLineNo">580</span>    GetQuotaStatesResponse resp = QuotaStatusCalls.getMasterQuotaStates(clusterConn, 0);<a name="line.580"></a>
-<span class="sourceLineNo">581</span>    HBaseProtos.TableName protoTableName = ProtobufUtil.toProtoTableName(tn);<a name="line.581"></a>
-<span class="sourceLineNo">582</span>    for (GetQuotaStatesResponse.TableQuotaSnapshot tableSnapshot : resp.getTableSnapshotsList()) {<a name="line.582"></a>
-<span class="sourceLineNo">583</span>      if (protoTableName.equals(tableSnapshot.getTableName())) {<a name="line.583"></a>
-<span class="sourceLineNo">584</span>        return SpaceQuotaSnapshot.toSpaceQuotaSnapshot(tableSnapshot.getSnapshot());<a name="line.584"></a>
-<span class="sourceLineNo">585</span>      }<a name="line.585"></a>
-<span class="sourceLineNo">586</span>    }<a name="line.586"></a>
-<span class="sourceLineNo">587</span>    return null;<a name="line.587"></a>
-<span class="sourceLineNo">588</span>  }<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span>  /**<a name="line.590"></a>
-<span class="sourceLineNo">591</span>   * Returns the Master's view of a quota on the given {@code namespace} or null if the<a name="line.591"></a>
-<span class="sourceLineNo">592</span>   * Master has no quota information on that namespace.<a name="line.592"></a>
-<span class="sourceLineNo">593</span>   */<a name="line.593"></a>
-<span class="sourceLineNo">594</span>  public static SpaceQuotaSnapshot getCurrentSnapshot(<a name="line.594"></a>
-<span class="sourceLineNo">595</span>      Connection conn, String namespace) throws IOException {<a name="line.595"></a>
-<span class="sourceLineNo">596</span>    if (!(conn instanceof ClusterConnection)) {<a name="line.596"></a>
-<span class="sourceLineNo">597</span>      throw new IllegalArgumentException("Expected a ClusterConnection");<a name="line.597"></a>
-<span class="sourceLineNo">598</span>    }<a name="line.598"></a>
-<span class="sourceLineNo">599</span>    ClusterConnection clusterConn = (ClusterConnection) conn;<a name="line.599"></a>
-<span class="sourceLineNo">600</span>    GetQuotaStatesResponse resp = QuotaStatusCalls.getMasterQuotaStates(clusterConn, 0);<a name="line.600"></a>
-<span class="sourceLineNo">601</span>    for (GetQuotaStatesResponse.NamespaceQuotaSnapshot nsSnapshot : resp.getNsSnapshotsList()) {<a name="line.601"></a>
-<span class="sourceLineNo">602</span>      if (namespace.equals(nsSnapshot.getNamespace())) {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>        return SpaceQuotaSnapshot.toSpaceQuotaSnapshot(nsSnapshot.getSnapshot());<a name="line.603"></a>
-<span class="sourceLineNo">604</span>      }<a name="line.604"></a>
-<span class="sourceLineNo">605</span>    }<a name="line.605"></a>
-<span class="sourceLineNo">606</span>    return null;<a name="line.606"></a>
-<span class="sourceLineNo">607</span>  }<a name="line.607"></a>
-<span class="sourceLineNo">608</span><a name="line.608"></a>
-<span class="sourceLineNo">609</span>  /* =========================================================================<a name="line.609"></a>
-<span class="sourceLineNo">610</span>   *  Quotas protobuf helpers<a name="line.610"></a>
-<span class="sourceLineNo">611</span>   */<a name="line.611"></a>
-<span class="sourceLineNo">612</span>  protected static Quotas quotasFromData(final byte[] data) throws IOException {<a name="line.612"></a>
-<span class="sourceLineNo">613</span>    return quotasFromData(data, 0, data.length);<a name="line.613"></a>
-<span class="sourceLineNo">614</span>  }<a name="line.614"></a>
-<span class="sourceLineNo">615</span><a name="line.615"></a>
-<span class="sourceLineNo">616</span>  protected static Quotas quotasFromData(<a name="line.616"></a>
-<span class="sourceLineNo">617</span>      final byte[] data, int offset, int length) throws IOException {<a name="line.617"></a>
-<span class="sourceLineNo">618</span>    int magicLen = ProtobufMagic.lengthOfPBMagic();<a name="line.618"></a>
-<span class="sourceLineNo">619</span>    if (!ProtobufMagic.isPBMagicPrefix(data, offset, magicLen)) {<a name="line.619"></a>
-<span class="sourceLineNo">620</span>      throw new IOException("Missing pb magic prefix");<a name="line.620"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.ServerName;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.TableName;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.client.ClusterConnection;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.client.Get;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.client.Put;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.client.QuotaStatusCalls;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.client.Result;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.client.ResultScanner;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.client.Table;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.filter.ColumnPrefixFilter;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.filter.CompareFilter;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.filter.Filter;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.filter.FilterList;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.filter.QualifierFilter;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.filter.RegexStringComparator;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.filter.RowFilter;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.protobuf.ProtobufMagic;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.InvalidProtocolBufferException;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.UnsafeByteOperations;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetQuotaStatesResponse;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaRegionSizesResponse;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse.TableQuotaSnapshot;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaRegionSizesResponse.RegionSizes;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.util.Strings;<a name="line.71"></a>
+<span class="sourceLineNo">072</span><a name="line.72"></a>
+<span class="sourceLineNo">073</span>/**<a name="line.73"></a>
+<span class="sourceLineNo">074</span> * Helper class to interact with the quota table.<a name="line.74"></a>
+<span class="sourceLineNo">075</span> * &lt;table&gt;<a name="line.75"></a>
+<span class="sourceLineNo">076</span> *   &lt;tr&gt;&lt;th&gt;ROW-KEY&lt;/th&gt;&lt;th&gt;FAM/QUAL&lt;/th&gt;&lt;th&gt;DATA&lt;/th&gt;&lt;/tr&gt;<a name="line.76"></a>
+<span class="sourceLineNo">077</span> *   &lt;tr&gt;&lt;td&gt;n.&amp;lt;namespace&amp;gt;&lt;/td&gt;&lt;td&gt;q:s&lt;/td&gt;&lt;td&gt;&amp;lt;global-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.77"></a>
+<span class="sourceLineNo">078</span> *   &lt;tr&gt;&lt;td&gt;n.&amp;lt;namespace&amp;gt;&lt;/td&gt;&lt;td&gt;u:p&lt;/td&gt;&lt;td&gt;&amp;lt;namespace-quota policy&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.78"></a>
+<span class="sourceLineNo">079</span> *   &lt;tr&gt;&lt;td&gt;n.&amp;lt;namespace&amp;gt;&lt;/td&gt;&lt;td&gt;u:s&lt;/td&gt;&lt;td&gt;&amp;lt;SpaceQuotaSnapshot&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.79"></a>
+<span class="sourceLineNo">080</span> *   &lt;tr&gt;&lt;td&gt;t.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;q:s&lt;/td&gt;&lt;td&gt;&amp;lt;global-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.80"></a>
+<span class="sourceLineNo">081</span> *   &lt;tr&gt;&lt;td&gt;t.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;u:p&lt;/td&gt;&lt;td&gt;&amp;lt;table-quota policy&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.81"></a>
+<span class="sourceLineNo">082</span> *   &lt;tr&gt;&lt;td&gt;t.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;u:ss.&amp;lt;snapshot name&amp;gt;&lt;/td&gt;&lt;td&gt;&amp;lt;SpaceQuotaSnapshot&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.82"></a>
+<span class="sourceLineNo">083</span> *   &lt;tr&gt;&lt;td&gt;u.&amp;lt;user&amp;gt;&lt;/td&gt;&lt;td&gt;q:s&lt;/td&gt;&lt;td&gt;&amp;lt;global-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.83"></a>
+<span class="sourceLineNo">084</span> *   &lt;tr&gt;&lt;td&gt;u.&amp;lt;user&amp;gt;&lt;/td&gt;&lt;td&gt;q:s.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;&amp;lt;table-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.84"></a>
+<span class="sourceLineNo">085</span> *   &lt;tr&gt;&lt;td&gt;u.&amp;lt;user&amp;gt;&lt;/td&gt;&lt;td&gt;q:s.&amp;lt;ns&amp;gt;&lt;/td&gt;&lt;td&gt;&amp;lt;namespace-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.85"></a>
+<span class="sourceLineNo">086</span> * &lt;/table<a name="line.86"></a>
+<span class="sourceLineNo">087</span> */<a name="line.87"></a>
+<span class="sourceLineNo">088</span>@InterfaceAudience.Private<a name="line.88"></a>
+<span class="sourceLineNo">089</span>@InterfaceStability.Evolving<a name="line.89"></a>
+<span class="sourceLineNo">090</span>public class QuotaTableUtil {<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  private static final Log LOG = LogFactory.getLog(QuotaTableUtil.class);<a name="line.91"></a>
+<span class="sourceLineNo">092</span><a name="line.92"></a>
+<span class="sourceLineNo">093</span>  /** System table for quotas */<a name="line.93"></a>
+<span class="sourceLineNo">094</span>  public static final TableName QUOTA_TABLE_NAME =<a name="line.94"></a>
+<span class="sourceLineNo">095</span>      TableName.valueOf(NamespaceDescriptor.SYSTEM_NAMESPACE_NAME_STR, "quota");<a name="line.95"></a>
+<span class="sourceLineNo">096</span><a name="line.96"></a>
+<span class="sourceLineNo">097</span>  protected static final byte[] QUOTA_FAMILY_INFO = Bytes.toBytes("q");<a name="line.97"></a>
+<span class="sourceLineNo">098</span>  protected static final byte[] QUOTA_FAMILY_USAGE = Bytes.toBytes("u");<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  protected static final byte[] QUOTA_QUALIFIER_SETTINGS = Bytes.toBytes("s");<a name="line.99"></a>
+<span class="sourceLineNo">100</span>  protected static final byte[] QUOTA_QUALIFIER_SETTINGS_PREFIX = Bytes.toBytes("s.");<a name="line.100"></a>
+<span class="sourceLineNo">101</span>  protected static final byte[] QUOTA_QUALIFIER_POLICY = Bytes.toBytes("p");<a name="line.101"></a>
+<span class="sourceLineNo">102</span>  protected static final byte[] QUOTA_SNAPSHOT_SIZE_QUALIFIER = Bytes.toBytes("ss");<a name="line.102"></a>
+<span class="sourceLineNo">103</span>  protected static final String QUOTA_POLICY_COLUMN =<a name="line.103"></a>
+<span class="sourceLineNo">104</span>      Bytes.toString(QUOTA_FAMILY_USAGE) + ":" + Bytes.toString(QUOTA_QUALIFIER_POLICY);<a name="line.104"></a>
+<span class="sourceLineNo">105</span>  protected static final byte[] QUOTA_USER_ROW_KEY_PREFIX = Bytes.toBytes("u.");<a name="line.105"></a>
+<span class="sourceLineNo">106</span>  protected static final byte[] QUOTA_TABLE_ROW_KEY_PREFIX = Bytes.toBytes("t.");<a name="line.106"></a>
+<span class="sourceLineNo">107</span>  protected static final byte[] QUOTA_NAMESPACE_ROW_KEY_PREFIX = Bytes.toBytes("n.");<a name="line.107"></a>
+<span class="sourceLineNo">108</span><a name="line.108"></a>
+<span class="sourceLineNo">109</span>  /* =========================================================================<a name="line.109"></a>
+<span class="sourceLineNo">110</span>   *  Quota "settings" helpers<a name="line.110"></a>
+<span class="sourceLineNo">111</span>   */<a name="line.111"></a>
+<span class="sourceLineNo">112</span>  public static Quotas getTableQuota(final Connection connection, final TableName table)<a name="line.112"></a>
+<span class="sourceLineNo">113</span>      throws IOException {<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    return getQuotas(connection, getTableRowKey(table));<a name="line.114"></a>
+<span class="sourceLineNo">115</span>  }<a name="line.115"></a>
+<span class="sourceLineNo">116</span><a name="line.116"></a>
+<span class="sourceLineNo">117</span>  public static Quotas getNamespaceQuota(final Connection connection, final String namespace)<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      throws IOException {<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    return getQuotas(connection, getNamespaceRowKey(namespace));<a name="line.119"></a>
+<span class="sourceLineNo">120</span>  }<a name="line.120"></a>
+<span class="sourceLineNo">121</span><a name="line.121"></a>
+<span class="sourceLineNo">122</span>  public static Quotas getUserQuota(final Connection connection, final String user)<a name="line.122"></a>
+<span class="sourceLineNo">123</span>      throws IOException {<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    return getQuotas(connection, getUserRowKey(user));<a name="line.124"></a>
+<span class="sourceLineNo">125</span>  }<a name="line.125"></a>
+<span class="sourceLineNo">126</span><a name="line.126"></a>
+<span class="sourceLineNo">127</span>  public static Quotas getUserQuota(final Connection connection, final String user,<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      final TableName table) throws IOException {<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    return getQuotas(connection, getUserRowKey(user), getSettingsQualifierForUserTable(table));<a name="line.129"></a>
+<span class="sourceLineNo">130</span>  }<a name="line.130"></a>
+<span class="sourceLineNo">131</span><a name="line.131"></a>
+<span class="sourceLineNo">132</span>  public static Quotas getUserQuota(final Connection connection, final String user,<a name="line.132"></a>
+<span class="sourceLineNo">133</span>      final String namespace) throws IOException {<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    return getQuotas(connection, getUserRowKey(user),<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      getSettingsQualifierForUserNamespace(namespace));<a name="line.135"></a>
+<span class="sourceLineNo">136</span>  }<a name="line.136"></a>
+<span class="sourceLineNo">137</span><a name="line.137"></a>
+<span class="sourceLineNo">138</span>  private static Quotas getQuotas(final Connection connection, final byte[] rowKey)<a name="line.138"></a>
+<span class="sourceLineNo">139</span>      throws IOException {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    return getQuotas(connection, rowKey, QUOTA_QUALIFIER_SETTINGS);<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  }<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span>  private static Quotas getQuotas(final Connection connection, final byte[] rowKey,<a name="line.143"></a>
+<span class="sourceLineNo">144</span>      final byte[] qualifier) throws IOException {<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    Get get = new Get(rowKey);<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    get.addColumn(QUOTA_FAMILY_INFO, qualifier);<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    Result result = doGet(connection, get);<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    if (result.isEmpty()) {<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      return null;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    }<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    return quotasFromData(result.getValue(QUOTA_FAMILY_INFO, qualifier));<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  }<a name="line.152"></a>
+<span class="sourceLineNo">153</span><a name="line.153"></a>
+<span class="sourceLineNo">154</span>  public static Get makeGetForTableQuotas(final TableName table) {<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    Get get = new Get(getTableRowKey(table));<a name="line.155"></a>
+<span class="sourceLineNo">156</span>    get.addFamily(QUOTA_FAMILY_INFO);<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    return get;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>  }<a name="line.158"></a>
+<span class="sourceLineNo">159</span><a name="line.159"></a>
+<span class="sourceLineNo">160</span>  public static Get makeGetForNamespaceQuotas(final String namespace) {<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    Get get = new Get(getNamespaceRowKey(namespace));<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    get.addFamily(QUOTA_FAMILY_INFO);<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    return get;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>  }<a name="line.164"></a>
+<span class="sourceLineNo">165</span><a name="line.165"></a>
+<span class="sourceLineNo">166</span>  public static Get makeGetForUserQuotas(final String user, final Iterable&lt;TableName&gt; tables,<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      final Iterable&lt;String&gt; namespaces) {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    Get get = new Get(getUserRowKey(user));<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    get.addColumn(QUOTA_FAMILY_INFO, QUOTA_QUALIFIER_SETTINGS);<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    for (final TableName table: tables) {<a name="line.170"></a>
+<span class="sourceLineNo">171</span>      get.addColumn(QUOTA_FAMILY_INFO, getSettingsQualifierForUserTable(table));<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    }<a name="line.172"></a>
+<span class="sourceLineNo">173</span>    for (final String ns: namespaces) {<a name="line.173"></a>
+<span class="sourceLineNo">174</span>      get.addColumn(QUOTA_FAMILY_INFO, getSettingsQualifierForUserNamespace(ns));<a name="line.174"></a>
+<span class="sourceLineNo">175</span>    }<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    return get;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>  }<a name="line.177"></a>
+<span class="sourceLineNo">178</span><a name="line.178"></a>
+<span class="sourceLineNo">179</span>  public static Scan makeScan(final QuotaFilter filter) {<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    Scan scan = new Scan();<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    scan.addFamily(QUOTA_FAMILY_INFO);<a name="line.181"></a>
+<span class="sourceLineNo">182</span>    if (filter != null &amp;&amp; !filter.isNull()) {<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      scan.setFilter(makeFilter(filter));<a name="line.183"></a>
+<span class="sourceLineNo">184</span>    }<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    return scan;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>  }<a name="line.186"></a>
+<span class="sourceLineNo">187</span><a name="line.187"></a>
+<span class="sourceLineNo">188</span>  /**<a name="line.188"></a>
+<span class="sourceLineNo">189</span>   * converts quotafilter to serializeable filterlists.<a name="line.189"></a>
+<span class="sourceLineNo">190</span>   */<a name="line.190"></a>
+<span class="sourceLineNo">191</span>  public static Filter makeFilter(final QuotaFilter filter) {<a name="line.191"></a>
+<span class="sourceLineNo">192</span>    FilterList filterList = new FilterList(FilterList.Operator.MUST_PASS_ALL);<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    if (!Strings.isEmpty(filter.getUserFilter())) {<a name="line.193"></a>
+<span class="sourceLineNo">194</span>      FilterList userFilters = new FilterList(FilterList.Operator.MUST_PASS_ONE);<a name="line.194"></a>
+<span class="sourceLineNo">195</span>      boolean hasFilter = false;<a name="line.195"></a>
+<span class="sourceLineNo">196</span><a name="line.196"></a>
+<span class="sourceLineNo">197</span>      if (!Strings.isEmpty(filter.getNamespaceFilter())) {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>        FilterList nsFilters = new FilterList(FilterList.Operator.MUST_PASS_ALL);<a name="line.198"></a>
+<span class="sourceLineNo">199</span>        nsFilters.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.199"></a>
+<span class="sourceLineNo">200</span>            new RegexStringComparator(getUserRowKeyRegex(filter.getUserFilter()), 0)));<a name="line.200"></a>
+<span class="sourceLineNo">201</span>        nsFilters.addFilter(new QualifierFilter(CompareFilter.CompareOp.EQUAL,<a name="line.201"></a>
+<span class="sourceLineNo">202</span>            new RegexStringComparator(<a name="line.202"></a>
+<span class="sourceLineNo">203</span>              getSettingsQualifierRegexForUserNamespace(filter.getNamespaceFilter()), 0)));<a name="line.203"></a>
+<span class="sourceLineNo">204</span>        userFilters.addFilter(nsFilters);<a name="line.204"></a>
+<span class="sourceLineNo">205</span>        hasFilter = true;<a name="line.205"></a>
+<span class="sourceLineNo">206</span>      }<a name="line.206"></a>
+<span class="sourceLineNo">207</span>      if (!Strings.isEmpty(filter.getTableFilter())) {<a name="line.207"></a>
+<span class="sourceLineNo">208</span>        FilterList tableFilters = new FilterList(FilterList.Operator.MUST_PASS_ALL);<a name="line.208"></a>
+<span class="sourceLineNo">209</span>        tableFilters.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.209"></a>
+<span class="sourceLineNo">210</span>            new RegexStringComparator(getUserRowKeyRegex(filter.getUserFilter()), 0)));<a name="line.210"></a>
+<span class="sourceLineNo">211</span>        tableFilters.addFilter(new QualifierFilter(CompareFilter.CompareOp.EQUAL,<a name="line.211"></a>
+<span class="sourceLineNo">212</span>            new RegexStringComparator(<a name="line.212"></a>
+<span class="sourceLineNo">213</span>              getSettingsQualifierRegexForUserTable(filter.getTableFilter()), 0)));<a name="line.213"></a>
+<span class="sourceLineNo">214</span>        userFilters.addFilter(tableFilters);<a name="line.214"></a>
+<span class="sourceLineNo">215</span>        hasFilter = true;<a name="line.215"></a>
+<span class="sourceLineNo">216</span>      }<a name="line.216"></a>
+<span class="sourceLineNo">217</span>      if (!hasFilter) {<a name="line.217"></a>
+<span class="sourceLineNo">218</span>        userFilters.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.218"></a>
+<span class="sourceLineNo">219</span>            new RegexStringComparator(getUserRowKeyRegex(filter.getUserFilter()), 0)));<a name="line.219"></a>
+<span class="sourceLineNo">220</span>      }<a name="line.220"></a>
+<span class="sourceLineNo">221</span><a name="line.221"></a>
+<span class="sourceLineNo">222</span>      filterList.addFilter(userFilters);<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    } else if (!Strings.isEmpty(filter.getTableFilter())) {<a name="line.223"></a>
+<span class="sourceLineNo">224</span>      filterList.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.224"></a>
+<span class="sourceLineNo">225</span>          new RegexStringComparator(getTableRowKeyRegex(filter.getTableFilter()), 0)));<a name="line.225"></a>
+<span class="sourceLineNo">226</span>    } else if (!Strings.isEmpty(filter.getNamespaceFilter())) {<a name="line.226"></a>
+<span class="sourceLineNo">227</span>      filterList.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.227"></a>
+<span class="sourceLineNo">228</span>          new RegexStringComparator(getNamespaceRowKeyRegex(filter.getNamespaceFilter()), 0)));<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    }<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    return filterList;<a name="line.230"></a>
+<span class="sourceLineNo">231</span>  }<a name="line.231"></a>
+<span class="sourceLineNo">232</span><a name="line.232"></a>
+<span class="sourceLineNo">233</span>  /**<a name="line.233"></a>
+<span class="sourceLineNo">234</span>   * Creates a {@link Scan} which returns only quota snapshots from the quota table.<a name="line.234"></a>
+<span class="sourceLineNo">235</span>   */<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  public static Scan makeQuotaSnapshotScan() {<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    return makeQuotaSnapshotScanForTable(null);<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  }<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
+<span class="sourceLineNo">240</span>  /**<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   * Fetches all {@link SpaceQuotaSnapshot} objects from the {@code hbase:quota} table.<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   *<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   * @param conn The HBase connection<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   * @return A map of table names and their computed snapshot.<a name="line.244"></a>
+<span class="sourceLineNo">245</span>   */<a name="line.245"></a>
+<span class="sourceLineNo">246</span>  public static Map&lt;TableName,SpaceQuotaSnapshot&gt; getSnapshots(Connection conn) throws IOException {<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    Map&lt;TableName,SpaceQuotaSnapshot&gt; snapshots = new HashMap&lt;&gt;();<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    try (Table quotaTable = conn.getTable(QUOTA_TABLE_NAME);<a name="line.248"></a>
+<span class="sourceLineNo">249</span>        ResultScanner rs = quotaTable.getScanner(makeQuotaSnapshotScan())) {<a name="line.249"></a>
+<span class="sourceLineNo">250</span>      for (Result r : rs) {<a name="line.250"></a>
+<span class="sourceLineNo">251</span>        extractQuotaSnapshot(r, snapshots);<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      }<a name="line.252"></a>
+<span class="sourceLineNo">253</span>    }<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    return snapshots;<a name="line.254"></a>
+<span class="sourceLineNo">255</span>  }<a name="line.255"></a>
+<span class="sourceLineNo">256</span><a name="line.256"></a>
+<span class="sourceLineNo">257</span>  /**<a name="line.257"></a>
+<span class="sourceLineNo">258</span>   * Creates a {@link Scan} which returns only {@link SpaceQuotaSnapshot} from the quota table for a<a name="line.258"></a>
+<span class="sourceLineNo">259</span>   * specific table.<a name="line.259"></a>
+<span class="sourceLineNo">260</span>   * @param tn Optionally, a table name to limit the scan's rowkey space. Can be null.<a name="line.260"></a>
+<span class="sourceLineNo">261</span>   */<a name="line.261"></a>
+<span class="sourceLineNo">262</span>  public static Scan makeQuotaSnapshotScanForTable(TableName tn) {<a name="line.262"></a>
+<span class="sourceLineNo">263</span>    Scan s = new Scan();<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    // Limit to "u:v" column<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    s.addColumn(QUOTA_FAMILY_USAGE, QUOTA_QUALIFIER_POLICY);<a name="line.265"></a>
+<span class="sourceLineNo">266</span>    if (null == tn) {<a name="line.266"></a>
+<span class="sourceLineNo">267</span>      s.setRowPrefixFilter(QUOTA_TABLE_ROW_KEY_PREFIX);<a name="line.267"></a>
+<span class="sourceLineNo">268</span>    } else {<a name="line.268"></a>
+<span class="sourceLineNo">269</span>      byte[] row = getTableRowKey(tn);<a name="line.269"></a>
+<span class="sourceLineNo">270</span>      // Limit rowspace to the "t:" prefix<a name="line.270"></a>
+<span class="sourceLineNo">271</span>      s.withStartRow(row, true).withStopRow(row, true);<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    }<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    return s;<a name="line.273"></a>
+<span class="sourceLineNo">274</span>  }<a name="line.274"></a>
+<span class="sourceLineNo">275</span><a name="line.275"></a>
+<span class="sourceLineNo">276</span>  /**<a name="line.276"></a>
+<span class="sourceLineNo">277</span>   * Extracts the {@link SpaceViolationPolicy} and {@link TableName} from the provided<a name="

<TRUNCATED>

[25/26] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/apache_hbase_reference_guide.pdf
----------------------------------------------------------------------
diff --git a/apache_hbase_reference_guide.pdf b/apache_hbase_reference_guide.pdf
index e553fb4..63f7f4d 100644
--- a/apache_hbase_reference_guide.pdf
+++ b/apache_hbase_reference_guide.pdf
@@ -5,16 +5,16 @@
 /Author (Apache HBase Team)
 /Creator (Asciidoctor PDF 1.5.0.alpha.6, based on Prawn 1.2.1)
 /Producer (Apache HBase Team)
-/CreationDate (D:20170620144826+00'00')
-/ModDate (D:20170620144826+00'00')
+/CreationDate (D:20170621144823+00'00')
+/ModDate (D:20170621144823+00'00')
 >>
 endobj
 2 0 obj
 << /Type /Catalog
 /Pages 3 0 R
 /Names 25 0 R
-/Outlines 4030 0 R
-/PageLabels 4238 0 R
+/Outlines 4031 0 R
+/PageLabels 4239 0 R
 /PageMode /UseOutlines
 /ViewerPreferences [/FitWindow]
 >>
@@ -22,7 +22,7 @@ endobj
 3 0 obj
 << /Type /Pages
 /Count 678
-/Kids [7 0 R 13 0 R 15 0 R 17 0 R 19 0 R 21 0 R 23 0 R 39 0 R 43 0 R 47 0 R 55 0 R 58 0 R 60 0 R 62 0 R 66 0 R 71 0 R 74 0 R 79 0 R 81 0 R 84 0 R 86 0 R 92 0 R 101 0 R 106 0 R 108 0 R 120 0 R 123 0 R 130 0 R 136 0 R 145 0 R 154 0 R 166 0 R 170 0 R 172 0 R 176 0 R 182 0 R 184 0 R 186 0 R 188 0 R 190 0 R 193 0 R 199 0 R 201 0 R 204 0 R 206 0 R 208 0 R 210 0 R 212 0 R 214 0 R 217 0 R 220 0 R 224 0 R 226 0 R 228 0 R 230 0 R 232 0 R 234 0 R 236 0 R 238 0 R 245 0 R 247 0 R 249 0 R 251 0 R 254 0 R 258 0 R 263 0 R 268 0 R 271 0 R 274 0 R 290 0 R 299 0 R 305 0 R 317 0 R 326 0 R 331 0 R 333 0 R 335 0 R 346 0 R 351 0 R 355 0 R 360 0 R 367 0 R 378 0 R 380 0 R 392 0 R 406 0 R 415 0 R 417 0 R 419 0 R 425 0 R 436 0 R 447 0 R 458 0 R 461 0 R 464 0 R 468 0 R 472 0 R 476 0 R 479 0 R 481 0 R 484 0 R 488 0 R 490 0 R 494 0 R 499 0 R 503 0 R 509 0 R 511 0 R 517 0 R 519 0 R 523 0 R 532 0 R 534 0 R 538 0 R 541 0 R 544 0 R 547 0 R 561 0 R 568 0 R 575 0 R 587 0 R 593 0 R 601 0 R 610 0 R 613 0 R 617 0 R 620 0
  R 631 0 R 639 0 R 645 0 R 650 0 R 654 0 R 656 0 R 670 0 R 682 0 R 688 0 R 694 0 R 697 0 R 706 0 R 714 0 R 718 0 R 723 0 R 728 0 R 730 0 R 732 0 R 734 0 R 742 0 R 751 0 R 755 0 R 763 0 R 771 0 R 777 0 R 781 0 R 787 0 R 792 0 R 797 0 R 805 0 R 807 0 R 811 0 R 816 0 R 822 0 R 825 0 R 832 0 R 842 0 R 846 0 R 848 0 R 851 0 R 855 0 R 860 0 R 863 0 R 875 0 R 879 0 R 884 0 R 892 0 R 897 0 R 901 0 R 905 0 R 907 0 R 910 0 R 912 0 R 916 0 R 918 0 R 922 0 R 926 0 R 930 0 R 935 0 R 940 0 R 943 0 R 945 0 R 952 0 R 958 0 R 966 0 R 975 0 R 979 0 R 984 0 R 988 0 R 990 0 R 999 0 R 1002 0 R 1007 0 R 1010 0 R 1019 0 R 1022 0 R 1028 0 R 1035 0 R 1038 0 R 1040 0 R 1049 0 R 1051 0 R 1053 0 R 1056 0 R 1058 0 R 1060 0 R 1062 0 R 1064 0 R 1066 0 R 1070 0 R 1074 0 R 1079 0 R 1081 0 R 1083 0 R 1085 0 R 1087 0 R 1092 0 R 1101 0 R 1104 0 R 1106 0 R 1108 0 R 1113 0 R 1115 0 R 1118 0 R 1120 0 R 1122 0 R 1124 0 R 1127 0 R 1132 0 R 1137 0 R 1147 0 R 1152 0 R 1166 0 R 1178 0 R 1182 0 R 1195 0 R 1204 0 R 1218 0 R 122
 2 0 R 1232 0 R 1245 0 R 1248 0 R 1260 0 R 1269 0 R 1276 0 R 1280 0 R 1290 0 R 1295 0 R 1299 0 R 1305 0 R 1311 0 R 1318 0 R 1326 0 R 1328 0 R 1340 0 R 1342 0 R 1347 0 R 1351 0 R 1356 0 R 1367 0 R 1373 0 R 1379 0 R 1381 0 R 1383 0 R 1395 0 R 1401 0 R 1409 0 R 1414 0 R 1426 0 R 1433 0 R 1438 0 R 1448 0 R 1456 0 R 1459 0 R 1465 0 R 1469 0 R 1472 0 R 1477 0 R 1480 0 R 1484 0 R 1490 0 R 1494 0 R 1499 0 R 1505 0 R 1509 0 R 1512 0 R 1514 0 R 1522 0 R 1530 0 R 1536 0 R 1541 0 R 1545 0 R 1548 0 R 1554 0 R 1560 0 R 1565 0 R 1567 0 R 1569 0 R 1572 0 R 1574 0 R 1582 0 R 1585 0 R 1591 0 R 1599 0 R 1603 0 R 1608 0 R 1614 0 R 1617 0 R 1619 0 R 1621 0 R 1623 0 R 1630 0 R 1640 0 R 1642 0 R 1644 0 R 1646 0 R 1648 0 R 1651 0 R 1653 0 R 1655 0 R 1657 0 R 1660 0 R 1662 0 R 1664 0 R 1666 0 R 1670 0 R 1674 0 R 1683 0 R 1685 0 R 1687 0 R 1689 0 R 1691 0 R 1698 0 R 1700 0 R 1705 0 R 1707 0 R 1709 0 R 1716 0 R 1721 0 R 1727 0 R 1731 0 R 1734 0 R 1737 0 R 1741 0 R 1743 0 R 1746 0 R 1748 0 R 1750 0 R 1752 0 R 1
 756 0 R 1758 0 R 1761 0 R 1763 0 R 1765 0 R 1767 0 R 1769 0 R 1777 0 R 1780 0 R 1785 0 R 1787 0 R 1789 0 R 1791 0 R 1793 0 R 1801 0 R 1812 0 R 1815 0 R 1829 0 R 1841 0 R 1845 0 R 1851 0 R 1856 0 R 1859 0 R 1864 0 R 1866 0 R 1871 0 R 1873 0 R 1876 0 R 1878 0 R 1880 0 R 1882 0 R 1884 0 R 1888 0 R 1890 0 R 1894 0 R 1898 0 R 1905 0 R 1912 0 R 1923 0 R 1937 0 R 1949 0 R 1966 0 R 1970 0 R 1972 0 R 1976 0 R 1993 0 R 2001 0 R 2008 0 R 2017 0 R 2023 0 R 2033 0 R 2044 0 R 2050 0 R 2059 0 R 2071 0 R 2088 0 R 2099 0 R 2102 0 R 2111 0 R 2126 0 R 2133 0 R 2136 0 R 2141 0 R 2146 0 R 2156 0 R 2164 0 R 2167 0 R 2169 0 R 2173 0 R 2188 0 R 2197 0 R 2202 0 R 2206 0 R 2209 0 R 2211 0 R 2213 0 R 2215 0 R 2217 0 R 2222 0 R 2224 0 R 2234 0 R 2244 0 R 2251 0 R 2263 0 R 2268 0 R 2272 0 R 2285 0 R 2292 0 R 2298 0 R 2300 0 R 2310 0 R 2317 0 R 2328 0 R 2332 0 R 2343 0 R 2349 0 R 2359 0 R 2368 0 R 2376 0 R 2382 0 R 2387 0 R 2391 0 R 2395 0 R 2397 0 R 2403 0 R 2407 0 R 2411 0 R 2417 0 R 2424 0 R 2429 0 R 2433 0 R
  2442 0 R 2447 0 R 2452 0 R 2465 0 R 2472 0 R 2475 0 R 2481 0 R 2487 0 R 2491 0 R 2495 0 R 2503 0 R 2509 0 R 2511 0 R 2517 0 R 2522 0 R 2525 0 R 2535 0 R 2541 0 R 2550 0 R 2554 0 R 2563 0 R 2568 0 R 2571 0 R 2581 0 R 2585 0 R 2590 0 R 2592 0 R 2601 0 R 2605 0 R 2610 0 R 2612 0 R 2614 0 R 2624 0 R 2630 0 R 2637 0 R 2639 0 R 2645 0 R 2648 0 R 2651 0 R 2654 0 R 2661 0 R 2665 0 R 2670 0 R 2675 0 R 2677 0 R 2679 0 R 2683 0 R 2687 0 R 2696 0 R 2698 0 R 2701 0 R 2704 0 R 2708 0 R 2711 0 R 2715 0 R 2717 0 R 2729 0 R 2735 0 R 2740 0 R 2746 0 R 2751 0 R 2756 0 R 2758 0 R 2765 0 R 2780 0 R 2794 0 R 2798 0 R 2813 0 R 2819 0 R 2822 0 R 2826 0 R 2828 0 R 2835 0 R 2855 0 R 2857 0 R 2864 0 R 2874 0 R 2878 0 R 2889 0 R 2900 0 R 2907 0 R 2912 0 R 2917 0 R 2921 0 R 2923 0 R 2928 0 R 2931 0 R 2937 0 R 2944 0 R 2954 0 R 2956 0 R 2962 0 R 2967 0 R 2977 0 R 2985 0 R 2991 0 R 2999 0 R 3004 0 R 3009 0 R 3016 0 R 3019 0 R 3022 0 R 3028 0 R 3035 0 R 3037 0 R 3039 0 R 3045 0 R 3047 0 R 3055 0 R 3061 0 R 3068 0
  R 3074 0 R 3082 0 R 3090 0 R 3100 0 R 3104 0 R 3114 0 R 3128 0 R 3130 0 R 3132 0 R 3136 0 R 3151 0 R 3157 0 R 3161 0 R 3164 0 R 3169 0 R 3171 0 R 3175 0 R 3177 0 R 3181 0 R 3185 0 R 3188 0 R 3197 0 R 3199 0 R 3203 0 R 3205 0 R 3208 0 R 3215 0 R 3221 0 R 3225 0 R 3228 0 R 3230 0 R 3233 0 R 3236 0 R 3240 0 R 3248 0 R 3257 0 R 3261 0 R 3266 0 R 3273 0 R 3275 0 R 3284 0 R 3289 0 R 3293 0 R 3299 0 R 3304 0 R 3308 0 R 3313 0 R 3317 0 R 3328 0 R 3338 0 R 3359 0 R 3362 0 R 3367 0 R 3370 0 R 3373 0 R 3378 0 R 3381 0 R 3386 0 R 3388 0 R 3390 0 R 3392 0 R 3394 0 R 3396 0 R 3398 0 R 3407 0 R 3411 0 R 3418 0 R 3421 0 R 3423 0 R 3430 0 R 3437 0 R 3442 0 R 3445 0 R 3447 0 R 3449 0 R 3451 0 R 3454 0 R 3461 0 R 3468 0 R 3477 0 R 3482 0 R 3485 0 R 3488 0 R 3492 0 R 3496 0 R 3500 0 R 3516 0 R 3520 0 R 3544 0 R 3548 0 R 3552 0 R 3560 0 R 3570 0 R 3579 0 R 3581 0 R 3584 0 R 3587 0 R 3603 0 R 3609 0 R 3616 0 R]
+/Kids [7 0 R 13 0 R 15 0 R 17 0 R 19 0 R 21 0 R 23 0 R 39 0 R 43 0 R 47 0 R 55 0 R 58 0 R 60 0 R 62 0 R 66 0 R 71 0 R 74 0 R 79 0 R 81 0 R 84 0 R 86 0 R 92 0 R 101 0 R 106 0 R 108 0 R 120 0 R 123 0 R 130 0 R 136 0 R 145 0 R 154 0 R 166 0 R 170 0 R 172 0 R 176 0 R 182 0 R 184 0 R 186 0 R 188 0 R 190 0 R 193 0 R 199 0 R 201 0 R 204 0 R 206 0 R 208 0 R 210 0 R 212 0 R 214 0 R 217 0 R 220 0 R 225 0 R 227 0 R 229 0 R 231 0 R 233 0 R 235 0 R 237 0 R 239 0 R 245 0 R 248 0 R 250 0 R 252 0 R 255 0 R 259 0 R 264 0 R 269 0 R 272 0 R 275 0 R 291 0 R 300 0 R 306 0 R 318 0 R 327 0 R 332 0 R 334 0 R 336 0 R 347 0 R 352 0 R 356 0 R 361 0 R 368 0 R 379 0 R 381 0 R 393 0 R 407 0 R 416 0 R 418 0 R 420 0 R 426 0 R 437 0 R 448 0 R 459 0 R 462 0 R 465 0 R 469 0 R 473 0 R 477 0 R 480 0 R 482 0 R 485 0 R 489 0 R 491 0 R 495 0 R 500 0 R 504 0 R 510 0 R 512 0 R 518 0 R 520 0 R 524 0 R 533 0 R 535 0 R 539 0 R 542 0 R 545 0 R 548 0 R 562 0 R 569 0 R 576 0 R 588 0 R 594 0 R 602 0 R 611 0 R 614 0 R 618 0 R 621 0
  R 632 0 R 640 0 R 646 0 R 651 0 R 655 0 R 657 0 R 671 0 R 683 0 R 689 0 R 695 0 R 698 0 R 707 0 R 715 0 R 719 0 R 724 0 R 729 0 R 731 0 R 733 0 R 735 0 R 743 0 R 752 0 R 756 0 R 764 0 R 772 0 R 778 0 R 782 0 R 788 0 R 793 0 R 798 0 R 806 0 R 808 0 R 812 0 R 817 0 R 823 0 R 826 0 R 833 0 R 843 0 R 847 0 R 849 0 R 852 0 R 856 0 R 861 0 R 864 0 R 876 0 R 880 0 R 885 0 R 893 0 R 898 0 R 902 0 R 906 0 R 908 0 R 911 0 R 913 0 R 917 0 R 919 0 R 923 0 R 927 0 R 931 0 R 936 0 R 941 0 R 944 0 R 946 0 R 953 0 R 959 0 R 967 0 R 976 0 R 980 0 R 985 0 R 989 0 R 991 0 R 1000 0 R 1003 0 R 1008 0 R 1011 0 R 1020 0 R 1023 0 R 1029 0 R 1036 0 R 1039 0 R 1041 0 R 1050 0 R 1052 0 R 1054 0 R 1057 0 R 1059 0 R 1061 0 R 1063 0 R 1065 0 R 1067 0 R 1071 0 R 1075 0 R 1080 0 R 1082 0 R 1084 0 R 1086 0 R 1088 0 R 1093 0 R 1102 0 R 1105 0 R 1107 0 R 1109 0 R 1114 0 R 1116 0 R 1119 0 R 1121 0 R 1123 0 R 1125 0 R 1128 0 R 1133 0 R 1138 0 R 1148 0 R 1153 0 R 1167 0 R 1179 0 R 1183 0 R 1196 0 R 1205 0 R 1219 0 R 12
 23 0 R 1233 0 R 1246 0 R 1249 0 R 1261 0 R 1270 0 R 1277 0 R 1281 0 R 1291 0 R 1296 0 R 1300 0 R 1306 0 R 1312 0 R 1319 0 R 1327 0 R 1329 0 R 1341 0 R 1343 0 R 1348 0 R 1352 0 R 1357 0 R 1368 0 R 1374 0 R 1380 0 R 1382 0 R 1384 0 R 1396 0 R 1402 0 R 1410 0 R 1415 0 R 1427 0 R 1434 0 R 1439 0 R 1449 0 R 1457 0 R 1460 0 R 1466 0 R 1470 0 R 1473 0 R 1478 0 R 1481 0 R 1485 0 R 1491 0 R 1495 0 R 1500 0 R 1506 0 R 1510 0 R 1513 0 R 1515 0 R 1523 0 R 1531 0 R 1537 0 R 1542 0 R 1546 0 R 1549 0 R 1555 0 R 1561 0 R 1566 0 R 1568 0 R 1570 0 R 1573 0 R 1575 0 R 1583 0 R 1586 0 R 1592 0 R 1600 0 R 1604 0 R 1609 0 R 1615 0 R 1618 0 R 1620 0 R 1622 0 R 1624 0 R 1631 0 R 1641 0 R 1643 0 R 1645 0 R 1647 0 R 1649 0 R 1652 0 R 1654 0 R 1656 0 R 1658 0 R 1661 0 R 1663 0 R 1665 0 R 1667 0 R 1671 0 R 1675 0 R 1684 0 R 1686 0 R 1688 0 R 1690 0 R 1692 0 R 1699 0 R 1701 0 R 1706 0 R 1708 0 R 1710 0 R 1717 0 R 1722 0 R 1728 0 R 1732 0 R 1735 0 R 1738 0 R 1742 0 R 1744 0 R 1747 0 R 1749 0 R 1751 0 R 1753 0 R 
 1757 0 R 1759 0 R 1762 0 R 1764 0 R 1766 0 R 1768 0 R 1770 0 R 1778 0 R 1781 0 R 1786 0 R 1788 0 R 1790 0 R 1792 0 R 1794 0 R 1802 0 R 1813 0 R 1816 0 R 1830 0 R 1842 0 R 1846 0 R 1852 0 R 1857 0 R 1860 0 R 1865 0 R 1867 0 R 1872 0 R 1874 0 R 1877 0 R 1879 0 R 1881 0 R 1883 0 R 1885 0 R 1889 0 R 1891 0 R 1895 0 R 1899 0 R 1906 0 R 1913 0 R 1924 0 R 1938 0 R 1950 0 R 1967 0 R 1971 0 R 1973 0 R 1977 0 R 1994 0 R 2002 0 R 2009 0 R 2018 0 R 2024 0 R 2034 0 R 2045 0 R 2051 0 R 2060 0 R 2072 0 R 2089 0 R 2100 0 R 2103 0 R 2112 0 R 2127 0 R 2134 0 R 2137 0 R 2142 0 R 2147 0 R 2157 0 R 2165 0 R 2168 0 R 2170 0 R 2174 0 R 2189 0 R 2198 0 R 2203 0 R 2207 0 R 2210 0 R 2212 0 R 2214 0 R 2216 0 R 2218 0 R 2223 0 R 2225 0 R 2235 0 R 2245 0 R 2252 0 R 2264 0 R 2269 0 R 2273 0 R 2286 0 R 2293 0 R 2299 0 R 2301 0 R 2311 0 R 2318 0 R 2329 0 R 2333 0 R 2344 0 R 2350 0 R 2360 0 R 2369 0 R 2377 0 R 2383 0 R 2388 0 R 2392 0 R 2396 0 R 2398 0 R 2404 0 R 2408 0 R 2412 0 R 2418 0 R 2425 0 R 2430 0 R 2434 0 
 R 2443 0 R 2448 0 R 2453 0 R 2466 0 R 2473 0 R 2476 0 R 2482 0 R 2488 0 R 2492 0 R 2496 0 R 2504 0 R 2510 0 R 2512 0 R 2518 0 R 2523 0 R 2526 0 R 2536 0 R 2542 0 R 2551 0 R 2555 0 R 2564 0 R 2569 0 R 2572 0 R 2582 0 R 2586 0 R 2591 0 R 2593 0 R 2602 0 R 2606 0 R 2611 0 R 2613 0 R 2615 0 R 2625 0 R 2631 0 R 2638 0 R 2640 0 R 2646 0 R 2649 0 R 2652 0 R 2655 0 R 2662 0 R 2666 0 R 2671 0 R 2676 0 R 2678 0 R 2680 0 R 2684 0 R 2688 0 R 2697 0 R 2699 0 R 2702 0 R 2705 0 R 2709 0 R 2712 0 R 2716 0 R 2718 0 R 2730 0 R 2736 0 R 2741 0 R 2747 0 R 2752 0 R 2757 0 R 2759 0 R 2766 0 R 2781 0 R 2795 0 R 2799 0 R 2814 0 R 2820 0 R 2823 0 R 2827 0 R 2829 0 R 2836 0 R 2856 0 R 2858 0 R 2865 0 R 2875 0 R 2879 0 R 2890 0 R 2901 0 R 2908 0 R 2913 0 R 2918 0 R 2922 0 R 2924 0 R 2929 0 R 2932 0 R 2938 0 R 2945 0 R 2955 0 R 2957 0 R 2963 0 R 2968 0 R 2978 0 R 2986 0 R 2992 0 R 3000 0 R 3005 0 R 3010 0 R 3017 0 R 3020 0 R 3023 0 R 3029 0 R 3036 0 R 3038 0 R 3040 0 R 3046 0 R 3048 0 R 3056 0 R 3062 0 R 3069 
 0 R 3075 0 R 3083 0 R 3091 0 R 3101 0 R 3105 0 R 3115 0 R 3129 0 R 3131 0 R 3133 0 R 3137 0 R 3152 0 R 3158 0 R 3162 0 R 3165 0 R 3170 0 R 3172 0 R 3176 0 R 3178 0 R 3182 0 R 3186 0 R 3189 0 R 3198 0 R 3200 0 R 3204 0 R 3206 0 R 3209 0 R 3216 0 R 3222 0 R 3226 0 R 3229 0 R 3231 0 R 3234 0 R 3237 0 R 3241 0 R 3249 0 R 3258 0 R 3262 0 R 3267 0 R 3274 0 R 3276 0 R 3285 0 R 3290 0 R 3294 0 R 3300 0 R 3305 0 R 3309 0 R 3314 0 R 3318 0 R 3329 0 R 3339 0 R 3360 0 R 3363 0 R 3368 0 R 3371 0 R 3374 0 R 3379 0 R 3382 0 R 3387 0 R 3389 0 R 3391 0 R 3393 0 R 3395 0 R 3397 0 R 3399 0 R 3408 0 R 3412 0 R 3419 0 R 3422 0 R 3424 0 R 3431 0 R 3438 0 R 3443 0 R 3446 0 R 3448 0 R 3450 0 R 3452 0 R 3455 0 R 3462 0 R 3469 0 R 3478 0 R 3483 0 R 3486 0 R 3489 0 R 3493 0 R 3497 0 R 3501 0 R 3517 0 R 3521 0 R 3545 0 R 3549 0 R 3553 0 R 3561 0 R 3571 0 R 3580 0 R 3582 0 R 3585 0 R 3588 0 R 3604 0 R 3610 0 R 3617 0 R]
 >>
 endobj
 4 0 obj
@@ -180,22 +180,22 @@ endobj
 << /Type /Font
 /BaseFont /AAAAAA+NotoSerif-Bold
 /Subtype /TrueType
-/FontDescriptor 4240 0 R
+/FontDescriptor 4241 0 R
 /FirstChar 32
 /LastChar 255
-/Widths 4242 0 R
-/ToUnicode 4241 0 R
+/Widths 4243 0 R
+/ToUnicode 4242 0 R
 >>
 endobj
 11 0 obj
 << /Type /Font
 /BaseFont /AAAAAB+NotoSerif
 /Subtype /TrueType
-/FontDescriptor 4244 0 R
+/FontDescriptor 4245 0 R
 /FirstChar 32
 /LastChar 255
-/Widths 4246 0 R
-/ToUnicode 4245 0 R
+/Widths 4247 0 R
+/ToUnicode 4246 0 R
 >>
 endobj
 12 0 obj
@@ -17779,7 +17779,7 @@ endobj
 /F1.1 34 0 R
 >>
 >>
-/Annots [3618 0 R 3619 0 R 3620 0 R 3621 0 R 3622 0 R 3623 0 R 3624 0 R 3625 0 R 3626 0 R 3627 0 R 3628 0 R 3629 0 R 3630 0 R 3631 0 R 3632 0 R 3633 0 R 3634 0 R 3635 0 R 3636 0 R 3637 0 R 3638 0 R 3639 0 R 3640 0 R 3641 0 R 3642 0 R 3643 0 R 3644 0 R 3645 0 R 3646 0 R 3647 0 R 3648 0 R 3649 0 R 3650 0 R 3651 0 R 3652 0 R 3653 0 R 3654 0 R 3655 0 R 3656 0 R 3657 0 R 3658 0 R 3659 0 R 3660 0 R 3661 0 R 3662 0 R 3663 0 R 3664 0 R 3665 0 R 3666 0 R 3667 0 R 3668 0 R 3669 0 R 3670 0 R 3671 0 R 3672 0 R 3673 0 R 3674 0 R 3675 0 R 3676 0 R 3677 0 R 3678 0 R 3679 0 R 3680 0 R 3681 0 R 3682 0 R 3683 0 R 3684 0 R 3685 0 R 3686 0 R 3687 0 R 3688 0 R 3689 0 R 3690 0 R 3691 0 R 3692 0 R 3693 0 R 3694 0 R 3695 0 R 3696 0 R 3697 0 R 3698 0 R 3699 0 R 3700 0 R 3701 0 R]
+/Annots [3619 0 R 3620 0 R 3621 0 R 3622 0 R 3623 0 R 3624 0 R 3625 0 R 3626 0 R 3627 0 R 3628 0 R 3629 0 R 3630 0 R 3631 0 R 3632 0 R 3633 0 R 3634 0 R 3635 0 R 3636 0 R 3637 0 R 3638 0 R 3639 0 R 3640 0 R 3641 0 R 3642 0 R 3643 0 R 3644 0 R 3645 0 R 3646 0 R 3647 0 R 3648 0 R 3649 0 R 3650 0 R 3651 0 R 3652 0 R 3653 0 R 3654 0 R 3655 0 R 3656 0 R 3657 0 R 3658 0 R 3659 0 R 3660 0 R 3661 0 R 3662 0 R 3663 0 R 3664 0 R 3665 0 R 3666 0 R 3667 0 R 3668 0 R 3669 0 R 3670 0 R 3671 0 R 3672 0 R 3673 0 R 3674 0 R 3675 0 R 3676 0 R 3677 0 R 3678 0 R 3679 0 R 3680 0 R 3681 0 R 3682 0 R 3683 0 R 3684 0 R 3685 0 R 3686 0 R 3687 0 R 3688 0 R 3689 0 R 3690 0 R 3691 0 R 3692 0 R 3693 0 R 3694 0 R 3695 0 R 3696 0 R 3697 0 R 3698 0 R 3699 0 R 3700 0 R 3701 0 R 3702 0 R]
 >>
 endobj
 14 0 obj
@@ -34731,7 +34731,7 @@ endobj
 /F1.1 34 0 R
 >>
 >>
-/Annots [3702 0 R 3703 0 R 3704 0 R 3705 0 R 3706 0 R 3707 0 R 3708 0 R 3709 0 R 3710 0 R 3711 0 R 3712 0 R 3713 0 R 3714 0 R 3715 0 R 3716 0 R 3717 0 R 3718 0 R 3719 0 R 3720 0 R 3721 0 R 3722 0 R 3723 0 R 3724 0 R 3725 0 R 3726 0 R 3727 0 R 3728 0 R 3729 0 R 3730 0 R 3731 0 R 3732 0 R 3733 0 R 3734 0 R 3735 0 R 3736 0 R 3737 0 R 3738 0 R 3739 0 R 3740 0 R 3741 0 R 3742 0 R 3743 0 R 3744 0 R 3745 0 R 3746 0 R 3747 0 R 3748 0 R 3749 0 R 3750 0 R 3751 0 R 3752 0 R 3753 0 R 3754 0 R 3755 0 R 3756 0 R 3757 0 R 3758 0 R 3759 0 R 3760 0 R 3761 0 R 3762 0 R 3763 0 R 3764 0 R 3765 0 R 3766 0 R 3767 0 R 3768 0 R 3769 0 R 3770 0 R 3771 0 R 3772 0 R 3773 0 R 3774 0 R 3775 0 R 3776 0 R 3777 0 R 3778 0 R 3779 0 R 3780 0 R 3781 0 R 3782 0 R 3783 0 R 3784 0 R 3785 0 R 3786 0 R 3787 0 R 3788 0 R 3789 0 R]
+/Annots [3703 0 R 3704 0 R 3705 0 R 3706 0 R 3707 0 R 3708 0 R 3709 0 R 3710 0 R 3711 0 R 3712 0 R 3713 0 R 3714 0 R 3715 0 R 3716 0 R 3717 0 R 3718 0 R 3719 0 R 3720 0 R 3721 0 R 3722 0 R 3723 0 R 3724 0 R 3725 0 R 3726 0 R 3727 0 R 3728 0 R 3729 0 R 3730 0 R 3731 0 R 3732 0 R 3733 0 R 3734 0 R 3735 0 R 3736 0 R 3737 0 R 3738 0 R 3739 0 R 3740 0 R 3741 0 R 3742 0 R 3743 0 R 3744 0 R 3745 0 R 3746 0 R 3747 0 R 3748 0 R 3749 0 R 3750 0 R 3751 0 R 3752 0 R 3753 0 R 3754 0 R 3755 0 R 3756 0 R 3757 0 R 3758 0 R 3759 0 R 3760 0 R 3761 0 R 3762 0 R 3763 0 R 3764 0 R 3765 0 R 3766 0 R 3767 0 R 3768 0 R 3769 0 R 3770 0 R 3771 0 R 3772 0 R 3773 0 R 3774 0 R 3775 0 R 3776 0 R 3777 0 R 3778 0 R 3779 0 R 3780 0 R 3781 0 R 3782 0 R 3783 0 R 3784 0 R 3785 0 R 3786 0 R 3787 0 R 3788 0 R 3789 0 R 3790 0 R]
 >>
 endobj
 16 0 obj
@@ -53507,7 +53507,7 @@ endobj
 /F1.1 34 0 R
 >>
 >>
-/Annots [3790 0 R 3791 0 R 3792 0 R 3793 0 R 3794 0 R 3795 0 R 3796 0 R 3797 0 R 3798 0 R 3799 0 R 3800 0 R 3801 0 R 3802 0 R 3803 0 R 3804 0 R 3805 0 R 3806 0 R 3807 0 R 3808 0 R 3809 0 R 3810 0 R 3811 0 R 3812 0 R 3813 0 R 3814 0 R 3815 0 R 3816 0 R 3817 0 R 3818 0 R 3819 0 R 3820 0 R 3821 0 R 3822 0 R 3823 0 R 3824 0 R 3825 0 R 3826 0 R 3827 0 R 3828 0 R 3829 0 R 3830 0 R 3831 0 R 3832 0 R 3833 0 R 3834 0 R 3835 0 R 3836 0 R 3837 0 R 3838 0 R 3839 0 R 3840 0 R 3841 0 R 3842 0 R 3843 0 R 3844 0 R 3845 0 R 3846 0 R 3847 0 R 3848 0 R 3849 0 R 3850 0 R 3851 0 R 3852 0 R 3853 0 R 3854 0 R 3855 0 R 3856 0 R 3857 0 R 3858 0 R 3859 0 R 3860 0 R 3861 0 R 3862 0 R 3863 0 R 3864 0 R 3865 0 R 3866 0 R 3867 0 R 3868 0 R 3869 0 R 3870 0 R 3871 0 R 3872 0 R 3873 0 R 3874 0 R 3875 0 R 3876 0 R 3877 0 R]
+/Annots [3791 0 R 3792 0 R 3793 0 R 3794 0 R 3795 0 R 3796 0 R 3797 0 R 3798 0 R 3799 0 R 3800 0 R 3801 0 R 3802 0 R 3803 0 R 3804 0 R 3805 0 R 3806 0 R 3807 0 R 3808 0 R 3809 0 R 3810 0 R 3811 0 R 3812 0 R 3813 0 R 3814 0 R 3815 0 R 3816 0 R 3817 0 R 3818 0 R 3819 0 R 3820 0 R 3821 0 R 3822 0 R 3823 0 R 3824 0 R 3825 0 R 3826 0 R 3827 0 R 3828 0 R 3829 0 R 3830 0 R 3831 0 R 3832 0 R 3833 0 R 3834 0 R 3835 0 R 3836 0 R 3837 0 R 3838 0 R 3839 0 R 3840 0 R 3841 0 R 3842 0 R 3843 0 R 3844 0 R 3845 0 R 3846 0 R 3847 0 R 3848 0 R 3849 0 R 3850 0 R 3851 0 R 3852 0 R 3853 0 R 3854 0 R 3855 0 R 3856 0 R 3857 0 R 3858 0 R 3859 0 R 3860 0 R 3861 0 R 3862 0 R 3863 0 R 3864 0 R 3865 0 R 3866 0 R 3867 0 R 3868 0 R 3869 0 R 3870 0 R 3871 0 R 3872 0 R 3873 0 R 3874 0 R 3875 0 R 3876 0 R 3877 0 R 3878 0 R]
 >>
 endobj
 18 0 obj
@@ -70938,7 +70938,7 @@ endobj
 /F1.1 34 0 R
 >>
 >>
-/Annots [3878 0 R 3879 0 R 3880 0 R 3881 0 R 3882 0 R 3883 0 R 3884 0 R 3885 0 R 3886 0 R 3887 0 R 3888 0 R 3889 0 R 3890 0 R 3891 0 R 3892 0 R 3893 0 R 3894 0 R 3895 0 R 3896 0 R 3897 0 R 3898 0 R 3899 0 R 3900 0 R 3901 0 R 3902 0 R 3903 0 R 3904 0 R 3905 0 R 3906 0 R 3907 0 R 3908 0 R 3909 0 R 3910 0 R 3911 0 R 3912 0 R 3913 0 R 3914 0 R 3915 0 R 3916 0 R 3917 0 R 3918 0 R 3919 0 R 3920 0 R 3921 0 R 3922 0 R 3923 0 R 3924 0 R 3925 0 R 3926 0 R 3927 0 R 3928 0 R 3929 0 R 3930 0 R 3931 0 R 3932 0 R 3933 0 R 3934 0 R 3935 0 R 3936 0 R 3937 0 R 3938 0 R 3939 0 R 3940 0 R 3941 0 R 3942 0 R 3943 0 R 3944 0 R 3945 0 R 3946 0 R 3947 0 R 3948 0 R 3949 0 R 3950 0 R 3951 0 R 3952 0 R 3953 0 R 3954 0 R 3955 0 R 3956 0 R 3957 0 R 3958 0 R 3959 0 R 3960 0 R 3961 0 R 3962 0 R 3963 0 R 3964 0 R 3965 0 R 3966 0 R 3967 0 R]
+/Annots [3879 0 R 3880 0 R 3881 0 R 3882 0 R 3883 0 R 3884 0 R 3885 0 R 3886 0 R 3887 0 R 3888 0 R 3889 0 R 3890 0 R 3891 0 R 3892 0 R 3893 0 R 3894 0 R 3895 0 R 3896 0 R 3897 0 R 3898 0 R 3899 0 R 3900 0 R 3901 0 R 3902 0 R 3903 0 R 3904 0 R 3905 0 R 3906 0 R 3907 0 R 3908 0 R 3909 0 R 3910 0 R 3911 0 R 3912 0 R 3913 0 R 3914 0 R 3915 0 R 3916 0 R 3917 0 R 3918 0 R 3919 0 R 3920 0 R 3921 0 R 3922 0 R 3923 0 R 3924 0 R 3925 0 R 3926 0 R 3927 0 R 3928 0 R 3929 0 R 3930 0 R 3931 0 R 3932 0 R 3933 0 R 3934 0 R 3935 0 R 3936 0 R 3937 0 R 3938 0 R 3939 0 R 3940 0 R 3941 0 R 3942 0 R 3943 0 R 3944 0 R 3945 0 R 3946 0 R 3947 0 R 3948 0 R 3949 0 R 3950 0 R 3951 0 R 3952 0 R 3953 0 R 3954 0 R 3955 0 R 3956 0 R 3957 0 R 3958 0 R 3959 0 R 3960 0 R 3961 0 R 3962 0 R 3963 0 R 3964 0 R 3965 0 R 3966 0 R 3967 0 R 3968 0 R]
 >>
 endobj
 20 0 obj
@@ -82930,7 +82930,7 @@ endobj
 /F1.1 34 0 R
 >>
 >>
-/Annots [3968 0 R 3969 0 R 3970 0 R 3971 0 R 3972 0 R 3973 0 R 3974 0 R 3975 0 R 3976 0 R 3977 0 R 3978 0 R 3979 0 R 3980 0 R 3981 0 R 3982 0 R 3983 0 R 3984 0 R 3985 0 R 3986 0 R 3987 0 R 3988 0 R 3989 0 R 3990 0 R 3991 0 R 3992 0 R 3993 0 R 3994 0 R 3995 0 R 3996 0 R 3997 0 R 3998 0 R 3999 0 R 4000 0 R 4001 0 R 4002 0 R 4003 0 R 4004 0 R 4005 0 R 4006 0 R 4007 0 R 4008 0 R 4009 0 R 4010 0 R 4011 0 R 4012 0 R 4013 0 R 4014 0 R 4015 0 R 4016 0 R 4017 0 R 4018 0 R 4019 0 R 4020 0 R 4021 0 R 4022 0 R 4023 0 R 4024 0 R 4025 0 R 4026 0 R 4027 0 R 4028 0 R 4029 0 R]
+/Annots [3969 0 R 3970 0 R 3971 0 R 3972 0 R 3973 0 R 3974 0 R 3975 0 R 3976 0 R 3977 0 R 3978 0 R 3979 0 R 3980 0 R 3981 0 R 3982 0 R 3983 0 R 3984 0 R 3985 0 R 3986 0 R 3987 0 R 3988 0 R 3989 0 R 3990 0 R 3991 0 R 3992 0 R 3993 0 R 3994 0 R 3995 0 R 3996 0 R 3997 0 R 3998 0 R 3999 0 R 4000 0 R 4001 0 R 4002 0 R 4003 0 R 4004 0 R 4005 0 R 4006 0 R 4007 0 R 4008 0 R 4009 0 R 4010 0 R 4011 0 R 4012 0 R 4013 0 R 4014 0 R 4015 0 R 4016 0 R 4017 0 R 4018 0 R 4019 0 R 4020 0 R 4021 0 R 4022 0 R 4023 0 R 4024 0 R 4025 0 R 4026 0 R 4027 0 R 4028 0 R 4029 0 R 4030 0 R]
 >>
 endobj
 22 0 obj
@@ -83712,7 +83712,7 @@ endobj
 >>
 endobj
 26 0 obj
-<< /Kids [1143 0 R 2340 0 R 1144 0 R 2021 0 R]
+<< /Kids [1144 0 R 2341 0 R 1145 0 R 2022 0 R]
 >>
 endobj
 27 0 obj
@@ -83763,11 +83763,11 @@ endobj
 << /Type /Font
 /BaseFont /AAAAAC+mplus1mn-regular
 /Subtype /TrueType
-/FontDescriptor 4248 0 R
+/FontDescriptor 4249 0 R
 /FirstChar 32
 /LastChar 255
-/Widths 4250 0 R
-/ToUnicode 4249 0 R
+/Widths 4251 0 R
+/ToUnicode 4250 0 R
 >>
 endobj
 32 0 obj
@@ -83793,11 +83793,11 @@ endobj
 << /Type /Font
 /BaseFont /AAAAAD+NotoSerif
 /Subtype /TrueType
-/FontDescriptor 4252 0 R
+/FontDescriptor 4253 0 R
 /FirstChar 32
 /LastChar 255
-/Widths 4254 0 R
-/ToUnicode 4253 0 R
+/Widths 4255 0 R
+/ToUnicode 4254 0 R
 >>
 endobj
 35 0 obj
@@ -84214,11 +84214,11 @@ endobj
 << /Type /Font
 /BaseFont /AAAAAE+NotoSerif-Italic
 /Subtype /TrueType
-/FontDescriptor 4256 0 R
+/FontDescriptor 4257 0 R
 /FirstChar 32
 /LastChar 255
-/Widths 4258 0 R
-/ToUnicode 4257 0 R
+/Widths 4259 0 R
+/ToUnicode 4258 0 R
 >>
 endobj
 41 0 obj
@@ -107120,12 +107120,12 @@ endobj
 endobj
 161 0 obj
 << /Limits [(acid) (arch.bulk.load.arch)]
-/Names [(acid) 621 0 R (add-metric-name-and-function-to-hadoop-compat-interface) 3087 0 R (add-the-implementation-to-both-hadoop-1-and-hadoop-2-compat-modules) 3088 0 R (add.metrics) 3085 0 R (adding-a-new-chapter-to-the-hbase-reference-guide) 3314 0 R (adding.new.node) 2588 0 R (administration) 1054 0 R (administration-2) 1077 0 R (administration-3) 1109 0 R (amazon-ec2) 3350 0 R (api-as-of-hbase-1-0-0) 1160 0 R (api-before-hbase-1-0-0) 1162 0 R (appendix) 3264 0 R (appendix_acl_matrix) 3382 0 R (appendix_contributing_to_documentation) 3267 0 R (arch.bulk.load) 1515 0 R (arch.bulk.load.adv) 1527 0 R (arch.bulk.load.also) 1523 0 R (arch.bulk.load.arch) 1518 0 R]
+/Names [(acid) 622 0 R (add-metric-name-and-function-to-hadoop-compat-interface) 3088 0 R (add-the-implementation-to-both-hadoop-1-and-hadoop-2-compat-modules) 3089 0 R (add.metrics) 3086 0 R (adding-a-new-chapter-to-the-hbase-reference-guide) 3315 0 R (adding.new.node) 2589 0 R (administration) 1055 0 R (administration-2) 1078 0 R (administration-3) 1110 0 R (amazon-ec2) 3351 0 R (api-as-of-hbase-1-0-0) 1161 0 R (api-before-hbase-1-0-0) 1163 0 R (appendix) 3265 0 R (appendix_acl_matrix) 3383 0 R (appendix_contributing_to_documentation) 3268 0 R (arch.bulk.load) 1516 0 R (arch.bulk.load.adv) 1528 0 R (arch.bulk.load.also) 1524 0 R (arch.bulk.load.arch) 1519 0 R]
 >>
 endobj
 162 0 obj
 << /Limits [(ipc-configuration-conflicts-with-hadoop) (jmx_config)]
-/Names [(ipc-configuration-conflicts-with-hadoop) 2383 0 R (irc) 2847 0 R (isolate-system-tables) 2830 0 R (java-2) 1578 0 R (java-3) 1583 0 R (java.client.config) 259 0 R (jdk-issues) 2418 0 R (jdk-version-requirements) 50 0 R (jdo) 1675 0 R (jira) 2850 0 R (jmx_config) 327 0 R]
+/Names [(ipc-configuration-conflicts-with-hadoop) 2384 0 R (irc) 2848 0 R (isolate-system-tables) 2831 0 R (java-2) 1579 0 R (java-3) 1584 0 R (java.client.config) 260 0 R (jdk-issues) 2419 0 R (jdk-version-requirements) 50 0 R (jdo) 1676 0 R (jira) 2851 0 R (jmx_config) 328 0 R]
 >>
 endobj
 163 0 obj
@@ -118201,7 +118201,7 @@ endobj
 >>
 endobj
 219 0 obj
-<< /Length 10175
+<< /Length 10955
 >>
 stream
 q
@@ -118573,7 +118573,7 @@ ET
 BT
 48.24000000000001 230.93 Td
 /F3.0 10.5 Tf
-<68626173652e6d61737465722e6b65797461622e66696c65> Tj
+<68626173652e726567696f6e7365727665722e686f73746e616d652e64697361626c652e6d61737465722e72657665727365646e73> Tj
 ET
 
 0.000 0.000 0.000 SCN
@@ -118581,73 +118581,114 @@ ET
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
+0.125 Tw
+
 BT
 63.24000000000001 212.746 Td
 /F1.0 10.5 Tf
-[<46756c6c207061746820746f20746865206b> 20.01953125 <65726265726f73206b> 20.01953125 <65797461622066696c6520746f2075736520666f72206c6f6767696e6720696e2074686520636f6e6669677572656420484d617374657220736572766572207072696e636970616c2e>] TJ
+<5468697320636f6e66696720697320666f7220657870657274733a20646f6ed57420736574206974732076616c756520756e6c65737320796f75207265616c6c79206b6e6f77207768617420796f752061726520646f696e672e205768656e2073657420746f> Tj
 ET
 
+
+0.000 Tw
 0.000 0.000 0.000 SCN
 0.000 0.000 0.000 scn
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
+1.282 Tw
+
 BT
-63.24000000000001 184.966 Td
+63.24000000000001 196.966 Td
 /F1.0 10.5 Tf
-<6e6f6e65> Tj
+<747275652c20726567696f6e7365727665722077696c6c20757365207468652063757272656e74206e6f646520686f73746e616d6520666f7220746865207365727665726e616d6520616e6420484d61737465722077696c6c20736b6970> Tj
 ET
 
+
+0.000 Tw
 0.000 0.000 0.000 SCN
 0.000 0.000 0.000 scn
-0.694 0.129 0.275 scn
-0.694 0.129 0.275 SCN
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+1.106 Tw
 
 BT
-48.24000000000001 159.37 Td
-/F3.0 10.5 Tf
-<68626173652e6d61737465722e6b65726265726f732e7072696e636970616c> Tj
+63.24000000000001 181.186 Td
+/F1.0 10.5 Tf
+[<7265766572736520444e53206c6f6f6b757020616e64207573652074686520686f73746e616d652073656e742062> 20.01953125 <7920726567696f6e73657276657220696e73746561642e204e6f74652074686174207468697320636f6e66696720616e64>] TJ
 ET
 
+
+0.000 Tw
 0.000 0.000 0.000 SCN
 0.000 0.000 0.000 scn
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
-1.635 Tw
+53.384 Tw
 
 BT
-63.24000000000001 141.186 Td
+63.24000000000001 165.406 Td
 /F1.0 10.5 Tf
-[<45782e202268626173652f5f484f53> 20.01953125 <54404558414d504c452e434f4d222e20546865206b> 20.01953125 <65726265726f73207072696e636970616c206e616d6520746861742073686f756c64206265207573656420746f2072756e20746865>] TJ
+<68626173652e726567696f6e7365727665722e686f73746e616d6520617265206d757475616c6c79206578636c75736976652e20536565> Tj
 ET
 
 
 0.000 Tw
 0.000 0.000 0.000 SCN
 0.000 0.000 0.000 scn
+0.259 0.545 0.792 scn
+0.259 0.545 0.792 SCN
+
+BT
+63.24000000000001 149.626 Td
+/F1.0 10.5 Tf
+[<68747470733a2f2f6973737565732e6170616368652e6f72672f6a6972> 20.01953125 <612f62726f7773652f4842> 20.01953125 <4153452d3138323236>] TJ
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
-0.091 Tw
-
 BT
-63.24000000000001 125.406 Td
+315.16608984375 149.626 Td
 /F1.0 10.5 Tf
-[<484d61737465722070726f636573732e20546865207072696e636970616c206e616d652073686f756c6420626520696e2074686520666f726d3a20757365722f686f73746e616d6540444f4d41494e2e20496620225f484f53> 20.01953125 <5422206973>] TJ
+<20666f72206d6f72652064657461696c732e> Tj
 ET
 
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
+
+BT
+63.24000000000001 124.03 Td
+/F3.0 10.5 Tf
+<66616c7365> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
+
+BT
+48.24000000000001 100.03 Td
+/F3.0 10.5 Tf
+<68626173652e6d61737465722e6b65797461622e66696c65> Tj
+ET
 
-0.000 Tw
 0.000 0.000 0.000 SCN
 0.000 0.000 0.000 scn
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 109.626 Td
+63.24000000000001 81.846 Td
 /F1.0 10.5 Tf
-<757365642061732074686520686f73746e616d6520706f7274696f6e2c2069742077696c6c206265207265706c616365642077697468207468652061637475616c20686f73746e616d65206f66207468652072756e6e696e6720696e7374616e63652e> Tj
+[<46756c6c207061746820746f20746865206b> 20.01953125 <65726265726f73206b> 20.01953125 <65797461622066696c6520746f2075736520666f72206c6f6767696e6720696e2074686520636f6e6669677572656420484d617374657220736572766572207072696e636970616c2e>] TJ
 ET
 
 0.000 0.000 0.000 SCN
@@ -118656,7 +118697,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 81.846 Td
+63.24000000000001 54.066 Td
 /F1.0 10.5 Tf
 <6e6f6e65> Tj
 ET
@@ -118703,7 +118744,7 @@ endobj
 /F3.0 31 0 R
 >>
 >>
-/Annots [221 0 R 222 0 R]
+/Annots [221 0 R 222 0 R 223 0 R]
 >>
 endobj
 221 0 obj
@@ -118729,7 +118770,18 @@ endobj
 >>
 endobj
 223 0 obj
-<< /Length 9526
+<< /Border [0 0 0]
+/A << /Type /Action
+/S /URI
+/URI (https://issues.apache.org/jira/browse/HBASE-18226)
+>>
+/Subtype /Link
+/Rect [63.24000000000001 146.56 315.16608984375 160.84]
+/Type /Annot
+>>
+endobj
+224 0 obj
+<< /Length 9516
 >>
 stream
 q
@@ -118745,6 +118797,69 @@ f
 BT
 48.24000000000001 746.22 Td
 /F3.0 10.5 Tf
+<68626173652e6d61737465722e6b65726265726f732e7072696e636970616c> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+1.635 Tw
+
+BT
+63.24000000000001 728.036 Td
+/F1.0 10.5 Tf
+[<45782e202268626173652f5f484f53> 20.01953125 <54404558414d504c452e434f4d222e20546865206b> 20.01953125 <65726265726f73207072696e636970616c206e616d6520746861742073686f756c64206265207573656420746f2072756e20746865>] TJ
+ET
+
+
+0.000 Tw
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+0.091 Tw
+
+BT
+63.24000000000001 712.256 Td
+/F1.0 10.5 Tf
+[<484d61737465722070726f636573732e20546865207072696e636970616c206e616d652073686f756c6420626520696e2074686520666f726d3a20757365722f686f73746e616d6540444f4d41494e2e20496620225f484f53> 20.01953125 <5422206973>] TJ
+ET
+
+
+0.000 Tw
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+63.24000000000001 696.476 Td
+/F1.0 10.5 Tf
+<757365642061732074686520686f73746e616d6520706f7274696f6e2c2069742077696c6c206265207265706c616365642077697468207468652061637475616c20686f73746e616d65206f66207468652072756e6e696e6720696e7374616e63652e> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+63.24000000000001 668.6959999999999 Td
+/F1.0 10.5 Tf
+<6e6f6e65> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
+
+BT
+48.24000000000001 643.1 Td
+/F3.0 10.5 Tf
 <68626173652e726567696f6e7365727665722e6b65797461622e66696c65> Tj
 ET
 
@@ -118756,7 +118871,7 @@ ET
 2.131 Tw
 
 BT
-63.24000000000001 728.036 Td
+63.24000000000001 624.9159999999999 Td
 /F1.0 10.5 Tf
 [<46756c6c207061746820746f20746865206b> 20.01953125 <65726265726f73206b> 20.01953125 <65797461622066696c6520746f2075736520666f72206c6f6767696e6720696e2074686520636f6e666967757265642048526567696f6e53657276657220736572766572>] TJ
 ET
@@ -118769,7 +118884,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 712.256 Td
+63.24000000000001 609.136 Td
 /F1.0 10.5 Tf
 <7072696e636970616c2e> Tj
 ET
@@ -118780,7 +118895,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 684.476 Td
+63.24000000000001 581.356 Td
 /F1.0 10.5 Tf
 <6e6f6e65> Tj
 ET
@@ -118791,7 +118906,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 658.8800000000001 Td
+48.24000000000001 555.7600000000001 Td
 /F3.0 10.5 Tf
 <68626173652e726567696f6e7365727665722e6b65726265726f732e7072696e636970616c> Tj
 ET
@@ -118804,7 +118919,7 @@ ET
 1.635 Tw
 
 BT
-63.24000000000001 640.696 Td
+63.24000000000001 537.576 Td
 /F1.0 10.5 Tf
 [<45782e202268626173652f5f484f53> 20.01953125 <54404558414d504c452e434f4d222e20546865206b> 20.01953125 <65726265726f73207072696e636970616c206e616d6520746861742073686f756c64206265207573656420746f2072756e20746865>] TJ
 ET
@@ -118819,7 +118934,7 @@ ET
 2.146 Tw
 
 BT
-63.24000000000001 624.916 Td
+63.24000000000001 521.796 Td
 /F1.0 10.5 Tf
 <48526567696f6e5365727665722070726f636573732e20546865207072696e636970616c206e616d652073686f756c6420626520696e2074686520666f726d3a20757365722f686f73746e616d6540444f4d41494e2e204966> Tj
 ET
@@ -118834,7 +118949,7 @@ ET
 2.641 Tw
 
 BT
-63.24000000000001 609.1360000000001 Td
+63.24000000000001 506.0160000000001 Td
 /F1.0 10.5 Tf
 [<225f484f53> 20.01953125 <542220697320757365642061732074686520686f73746e616d6520706f7274696f6e2c2069742077696c6c206265207265706c616365642077697468207468652061637475616c20686f73746e616d65206f6620746865>] TJ
 ET
@@ -118849,7 +118964,7 @@ ET
 8.784 Tw
 
 BT
-63.24000000000001 593.3560000000001 Td
+63.24000000000001 490.2360000000001 Td
 /F1.0 10.5 Tf
 <72756e6e696e6720696e7374616e63652e20416e20656e74727920666f722074686973207072696e636970616c206d75737420657869737420696e207468652066696c652073706563696669656420696e> Tj
 ET
@@ -118862,7 +118977,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 577.576 Td
+63.24000000000001 474.4560000000001 Td
 /F1.0 10.5 Tf
 [<68626173652e726567696f6e7365727665722e6b> 20.01953125 <65797461622e66696c65>] TJ
 ET
@@ -118873,7 +118988,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 549.796 Td
+63.24000000000001 446.6760000000001 Td
 /F1.0 10.5 Tf
 <6e6f6e65> Tj
 ET
@@ -118884,7 +118999,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 524.2000000000002 Td
+48.24000000000001 421.08000000000015 Td
 /F3.0 10.5 Tf
 <6861646f6f702e706f6c6963792e66696c65> Tj
 ET
@@ -118897,7 +119012,7 @@ ET
 0.000 Tw
 
 BT
-63.24000000000001 506.01600000000013 Td
+63.24000000000001 402.89600000000013 Td
 /F1.0 10.5 Tf
 [<54686520706f6c69637920636f6e6669677572> 20.01953125 <6174696f6e2066696c6520757365642062> 20.01953125 <7920525043207365727665727320746f206d616b> 20.01953125 <6520617574686f72697a6174696f6e206465636973696f6e73206f6e20636c69656e742072657175657374732e>] TJ
 ET
@@ -118910,7 +119025,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 490.2360000000001 Td
+63.24000000000001 387.1160000000001 Td
 /F1.0 10.5 Tf
 <4f6e6c792075736564207768656e20484261736520736563757269747920697320656e61626c65642e> Tj
 ET
@@ -118921,7 +119036,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 464.64000000000016 Td
+63.24000000000001 361.52000000000015 Td
 /F3.0 10.5 Tf
 <68626173652d706f6c6963792e786d6c> Tj
 ET
@@ -118932,7 +119047,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 440.64000000000016 Td
+48.24000000000001 337.52000000000015 Td
 /F3.0 10.5 Tf
 <68626173652e737570657275736572> Tj
 ET
@@ -118945,7 +119060,7 @@ ET
 1.986 Tw
 
 BT
-63.24000000000001 422.45600000000013 Td
+63.24000000000001 319.3360000000001 Td
 /F1.0 10.5 Tf
 [<4c697374206f66207573657273206f722067726f7570732028636f6d6d612d7365706172> 20.01953125 <61746564292c2077686f2061726520616c6c6f7765642066756c6c2070726976696c656765732c207265676172646c657373206f662073746f726564>] TJ
 ET
@@ -118958,7 +119073,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 406.67600000000016 Td
+63.24000000000001 303.55600000000015 Td
 /F1.0 10.5 Tf
 [<41> 20.01953125 <434c732c206163726f73732074686520636c75737465722e204f6e6c792075736564207768656e20484261736520736563757269747920697320656e61626c65642e>] TJ
 ET
@@ -118969,7 +119084,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 378.89600000000013 Td
+63.24000000000001 275.7760000000001 Td
 /F1.0 10.5 Tf
 <6e6f6e65> Tj
 ET
@@ -118980,7 +119095,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 353.3000000000002 Td
+48.24000000000001 250.18000000000015 Td
 /F3.0 10.5 Tf
 <68626173652e617574682e6b65792e7570646174652e696e74657276616c> Tj
 ET
@@ -118993,7 +119108,7 @@ ET
 0.849 Tw
 
 BT
-63.24000000000001 335.11600000000016 Td
+63.24000000000001 231.99600000000015 Td
 /F1.0 10.5 Tf
 [<5468652075706461746520696e74657276616c20666f72206d6173746572206b> 20.01953125 <657920666f722061757468656e7469636174696f6e20746f6b> 20.01953125 <656e7320696e207365727665727320696e206d696c6c697365636f6e64732e204f6e6c792075736564>] TJ
 ET
@@ -119006,7 +119121,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 319.3360000000001 Td
+63.24000000000001 216.21600000000015 Td
 /F1.0 10.5 Tf
 <7768656e20484261736520736563757269747920697320656e61626c65642e> Tj
 ET
@@ -119017,7 +119132,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 293.7400000000001 Td
+63.24000000000001 190.62000000000015 Td
 /F3.0 10.5 Tf
 <3836343030303030> Tj
 ET
@@ -119028,7 +119143,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 269.7400000000001 Td
+48.24000000000001 166.62000000000015 Td
 /F3.0 10.5 Tf
 <68626173652e617574682e746f6b656e2e6d61782e6c69666574696d65> Tj
 ET
@@ -119041,7 +119156,7 @@ ET
 2.543 Tw
 
 BT
-63.24000000000001 251.55600000000015 Td
+63.24000000000001 148.43600000000015 Td
 /F1.0 10.5 Tf
 [<546865206d6178696d756d206c69666574696d6520696e206d696c6c697365636f6e647320616674657220776869636820616e2061757468656e7469636174696f6e20746f6b> 20.01953125 <656e20657870697265732e204f6e6c792075736564>] TJ
 ET
@@ -119054,7 +119169,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 235.77600000000015 Td
+63.24000000000001 132.65600000000015 Td
 /F1.0 10.5 Tf
 <7768656e20484261736520736563757269747920697320656e61626c65642e> Tj
 ET
@@ -119065,7 +119180,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 210.18000000000015 Td
+63.24000000000001 107.06000000000014 Td
 /F3.0 10.5 Tf
 <363034383030303030> Tj
 ET
@@ -119076,7 +119191,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 186.18000000000015 Td
+48.24000000000001 83.06000000000014 Td
 /F3.0 10.5 Tf
 <68626173652e6970632e636c69656e742e66616c6c6261636b2d746f2d73696d706c652d617574682d616c6c6f776564> Tj
 ET
@@ -119089,7 +119204,7 @@ ET
 0.652 Tw
 
 BT
-63.24000000000001 167.99600000000015 Td
+63.24000000000001 64.87600000000015 Td
 /F1.0 10.5 Tf
 <5768656e206120636c69656e7420697320636f6e6669677572656420746f20617474656d707420612073656375726520636f6e6e656374696f6e2c2062757420617474656d70747320746f20636f6e6e65637420746f20616e20696e736563757265> Tj
 ET
@@ -119098,13 +119213,66 @@ ET
 0.000 Tw
 0.000 0.000 0.000 SCN
 0.000 0.000 0.000 scn
+q
+0.000 0.000 0.000 scn
+0.000 0.000 0.000 SCN
+1 w
+0 J
+0 j
+[ ] 0 d
+q
+0.5 w
+0.867 0.867 0.867 SCN
+48.240 30.120 m
+563.760 30.120 l
+S
+Q
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+553.698 14.508000000000001 Td
+/F1.0 9 Tf
+<3436> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+Q
+Q
+
+endstream
+endobj
+225 0 obj
+<< /Type /Page
+/Parent 3 0 R
+/MediaBox [0 0 612.0 792.0]
+/Contents 224 0 R
+/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
+/Font << /F3.0 31 0 R
+/F1.0 11 0 R
+>>
+>>
+>>
+endobj
+226 0 obj
+<< /Length 10162
+>>
+stream
+q
+/DeviceRGB cs
+1.000 1.000 1.000 scn
+0.000 0.000 612.000 792.000 re
+f
+0.000 0.000 0.000 scn
 0.200 0.200 0.200 scn
+/DeviceRGB CS
 0.200 0.200 0.200 SCN
 
 0.357 Tw
 
 BT
-63.24000000000001 152.21600000000015 Td
+63.24000000000001 744.786 Td
 /F1.0 10.5 Tf
 [<7365727665722c207468617420736572766572206d61> 20.01953125 <7920696e7374727563742074686520636c69656e7420746f2073776974636820746f2053> 20.01953125 <41534c2053494d504c452028756e736563757265292061757468656e7469636174696f6e2e2054686973>] TJ
 ET
@@ -119119,7 +119287,7 @@ ET
 1.245 Tw
 
 BT
-63.24000000000001 136.43600000000015 Td
+63.24000000000001 729.006 Td
 /F1.0 10.5 Tf
 <73657474696e6720636f6e74726f6c732077686574686572206f72206e6f742074686520636c69656e742077696c6c20616363657074207468697320696e737472756374696f6e2066726f6d20746865207365727665722e205768656e2066616c7365> Tj
 ET
@@ -119134,7 +119302,7 @@ ET
 2.018 Tw
 
 BT
-63.24000000000001 120.65600000000015 Td
+63.24000000000001 713.226 Td
 /F1.0 10.5 Tf
 <287468652064656661756c74292c2074686520636c69656e742077696c6c206e6f7420616c6c6f77207468652066616c6c6261636b20746f2053494d504c452061757468656e7469636174696f6e2c20616e642077696c6c2061626f727420746865> Tj
 ET
@@ -119147,7 +119315,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 104.87600000000015 Td
+63.24000000000001 697.446 Td
 /F1.0 10.5 Tf
 <636f6e6e656374696f6e2e> Tj
 ET
@@ -119158,71 +119326,18 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 79.28000000000014 Td
+63.24000000000001 671.85 Td
 /F3.0 10.5 Tf
 <66616c7365> Tj
 ET
 
 0.000 0.000 0.000 SCN
 0.000 0.000 0.000 scn
-q
-0.000 0.000 0.000 scn
-0.000 0.000 0.000 SCN
-1 w
-0 J
-0 j
-[ ] 0 d
-q
-0.5 w
-0.867 0.867 0.867 SCN
-48.240 30.120 m
-563.760 30.120 l
-S
-Q
-0.200 0.200 0.200 scn
-0.200 0.200 0.200 SCN
-
-BT
-553.698 14.508000000000001 Td
-/F1.0 9 Tf
-<3436> Tj
-ET
-
-0.000 0.000 0.000 SCN
-0.000 0.000 0.000 scn
-Q
-Q
-
-endstream
-endobj
-224 0 obj
-<< /Type /Page
-/Parent 3 0 R
-/MediaBox [0 0 612.0 792.0]
-/Contents 223 0 R
-/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
-/Font << /F3.0 31 0 R
-/F1.0 11 0 R
->>
->>
->>
-endobj
-225 0 obj
-<< /Length 9862
->>
-stream
-q
-/DeviceRGB cs
-1.000 1.000 1.000 scn
-0.000 0.000 612.000 792.000 re
-f
-0.000 0.000 0.000 scn
 0.694 0.129 0.275 scn
-/DeviceRGB CS
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 746.22 Td
+48.24000000000001 647.85 Td
 /F3.0 10.5 Tf
 <68626173652e6970632e7365727665722e66616c6c6261636b2d746f2d73696d706c652d617574682d616c6c6f776564> Tj
 ET
@@ -119235,7 +119350,7 @@ ET
 0.791 Tw
 
 BT
-63.24000000000001 728.036 Td
+63.24000000000001 629.6659999999999 Td
 /F1.0 10.5 Tf
 <5768656e20612073657276657220697320636f6e6669677572656420746f20726571756972652073656375726520636f6e6e656374696f6e732c2069742077696c6c2072656a65637420636f6e6e656374696f6e20617474656d7074732066726f6d> Tj
 ET
@@ -119250,7 +119365,7 @@ ET
 1.395 Tw
 
 BT
-63.24000000000001 712.256 Td
+63.24000000000001 613.886 Td
 /F1.0 10.5 Tf
 [<636c69656e7473207573696e672053> 20.01953125 <41534c2053494d504c452028756e736563757265292061757468656e7469636174696f6e2e20546869732073657474696e6720616c6c6f777320736563757265207365727665727320746f20616363657074>] TJ
 ET
@@ -119265,7 +119380,7 @@ ET
 0.096 Tw
 
 BT
-63.24000000000001 696.476 Td
+63.24000000000001 598.106 Td
 /F1.0 10.5 Tf
 [<53> 20.01953125 <41534c2053494d504c4520636f6e6e656374696f6e732066726f6d20636c69656e7473207768656e2074686520636c69656e742072657175657374732e205768656e2066616c736520287468652064656661756c74292c2074686520736572766572>] TJ
 ET
@@ -119280,7 +119395,7 @@ ET
 0.196 Tw
 
 BT
-63.24000000000001 680.696 Td
+63.24000000000001 582.326 Td
 /F1.0 10.5 Tf
 [<77696c6c206e6f7420616c6c6f77207468652066616c6c6261636b20746f2053494d504c452061757468656e7469636174696f6e2c20616e642077696c6c2072656a6563742074686520636f6e6e656374696f6e2e2057> 60.05859375 <41524e494e473a2054686973>] TJ
 ET
@@ -119295,7 +119410,7 @@ ET
 2.742 Tw
 
 BT
-63.24000000000001 664.9159999999999 Td
+63.24000000000001 566.546 Td
 /F1.0 10.5 Tf
 [<73657474696e672073686f756c64204f4e4c> 60.05859375 <59206265207573656420617320612074656d706f72> 20.01953125 <617279206d656173757265207768696c6520636f6e76657274696e6720636c69656e7473206f76657220746f20736563757265>] TJ
 ET
@@ -119308,7 +119423,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 649.136 Td
+63.24000000000001 550.766 Td
 /F1.0 10.5 Tf
 [<61757468656e7469636174696f6e2e204974204d5553> 20.01953125 <5420424520444953> 20.01953125 <41424c454420666f7220736563757265206f706572> 20.01953125 <6174696f6e2e>] TJ
 ET
@@ -119319,7 +119434,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 623.54 Td
+63.24000000000001 525.1700000000001 Td
 /F3.0 10.5 Tf
 <66616c7365> Tj
 ET
@@ -119330,7 +119445,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 599.54 Td
+48.24000000000001 501.1700000000001 Td
 /F3.0 10.5 Tf
 <68626173652e646973706c61792e6b657973> Tj
 ET
@@ -119343,7 +119458,7 @@ ET
 0.095 Tw
 
 BT
-63.24000000000001 581.3559999999999 Td
+63.24000000000001 482.98600000000005 Td
 /F1.0 10.5 Tf
 [<5768656e20746869732069732073657420746f20747275652074686520776562554920616e6420737563682077696c6c20646973706c61> 20.01953125 <7920616c6c2073746172742f656e64206b> 20.01953125 <6579732061732070617274206f6620746865207461626c652064657461696c732c>] TJ
 ET
@@ -119356,7 +119471,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 565.5759999999999 Td
+63.24000000000001 467.206 Td
 /F1.0 10.5 Tf
 [<726567696f6e206e616d65732c206574632e205768656e20746869732069732073657420746f2066616c73652c20746865206b> 20.01953125 <657973206172652068696464656e2e>] TJ
 ET
@@ -119367,7 +119482,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 539.98 Td
+63.24000000000001 441.61000000000007 Td
 /F3.0 10.5 Tf
 <74727565> Tj
 ET
@@ -119378,7 +119493,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 515.98 Td
+48.24000000000001 417.61000000000007 Td
 /F3.0 10.5 Tf
 <68626173652e636f70726f636573736f722e656e61626c6564> Tj
 ET
@@ -119391,7 +119506,7 @@ ET
 4.669 Tw
 
 BT
-63.24000000000001 497.796 Td
+63.24000000000001 399.42600000000004 Td
 /F1.0 10.5 Tf
 [<456e61626c6573206f722064697361626c657320636f70726f636573736f72206c6f6164696e672e204966202766616c736527202864697361626c6564292c20616e> 20.01953125 <79206f7468657220636f70726f636573736f722072656c61746564>] TJ
 ET
@@ -119404,7 +119519,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 482.01599999999996 Td
+63.24000000000001 383.6460000000001 Td
 /F1.0 10.5 Tf
 [<636f6e6669677572> 20.01953125 <6174696f6e2077696c6c2062652069676e6f7265642e>] TJ
 ET
@@ -119415,7 +119530,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 456.42 Td
+63.24000000000001 358.05000000000007 Td
 /F3.0 10.5 Tf
 <74727565> Tj
 ET
@@ -119426,7 +119541,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 432.42 Td
+48.24000000000001 334.05000000000007 Td
 /F3.0 10.5 Tf
 <68626173652e636f70726f636573736f722e757365722e656e61626c6564> Tj
 ET
@@ -119439,7 +119554,7 @@ ET
 0.675 Tw
 
 BT
-63.24000000000001 414.236 Td
+63.24000000000001 315.86600000000004 Td
 /F1.0 10.5 Tf
 [<456e61626c6573206f722064697361626c657320757365722028616b612e207461626c652920636f70726f636573736f72206c6f6164696e672e204966202766616c736527202864697361626c6564292c20616e> 20.01953125 <79207461626c6520636f70726f636573736f72>] TJ
 ET
@@ -119454,7 +119569,7 @@ ET
 1.392 Tw
 
 BT
-63.24000000000001 398.456 Td
+63.24000000000001 300.086 Td
 /F1.0 10.5 Tf
 <6174747269627574657320696e207461626c652064657363726970746f72732077696c6c2062652069676e6f7265642e204966202268626173652e636f70726f636573736f722e656e61626c656422206973202766616c73652720746869732073657474696e67> Tj
 ET
@@ -119467,7 +119582,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 382.676 Td
+63.24000000000001 284.30600000000004 Td
 /F1.0 10.5 Tf
 <686173206e6f206566666563742e> Tj
 ET
@@ -119478,7 +119593,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 357.08000000000004 Td
+63.24000000000001 258.71000000000004 Td
 /F3.0 10.5 Tf
 <74727565> Tj
 ET
@@ -119489,7 +119604,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 333.08000000000004 Td
+48.24000000000001 234.71 Td
 /F3.0 10.5 Tf
 <68626173652e636f70726f636573736f722e726567696f6e2e636c6173736573> Tj
 ET
@@ -119502,7 +119617,7 @@ ET
 1.249 Tw
 
 BT
-63.24000000000001 314.896 Td
+63.24000000000001 216.526 Td
 /F1.0 10.5 Tf
 [<4120636f6d6d612d7365706172> 20.01953125 <61746564206c697374206f6620436f70726f636573736f7273207468617420617265206c6f616465642062> 20.01953125 <792064656661756c74206f6e20616c6c207461626c65732e2046> 40.0390625 <6f7220616e> 20.01953125 <79206f76657272696465>] TJ
 ET
@@ -119517,7 +119632,7 @@ ET
 5.319 Tw
 
 BT
-63.24000000000001 299.116 Td
+63.24000000000001 200.746 Td
 /F1.0 10.5 Tf
 <636f70726f636573736f72206d6574686f642c20746865736520636c61737365732077696c6c2062652063616c6c656420696e206f726465722e20416674657220696d706c656d656e74696e6720796f7572206f776e> Tj
 ET
@@ -119532,7 +119647,7 @@ ET
 3.495 Tw
 
 BT
-63.24000000000001 283.336 Td
+63.24000000000001 184.966 Td
 /F1.0 10.5 Tf
 [<436f70726f636573736f722c206a7573742070757420697420696e204842617365d5> 49.8046875 <7320636c6173737061746820616e6420616464207468652066756c6c79207175616c696669656420636c617373206e616d6520686572652e2041>] TJ
 ET
@@ -119545,7 +119660,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 267.55600000000004 Td
+63.24000000000001 169.186 Td
 /F1.0 10.5 Tf
 [<636f70726f636573736f722063616e20616c736f206265206c6f61646564206f6e2064656d616e642062> 20.01953125 <792073657474696e67204854> 29.78515625 <61626c6544657363726970746f722e>] TJ
 ET
@@ -119556,7 +119671,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 239.776 Td
+63.24000000000001 141.406 Td
 /F1.0 10.5 Tf
 <6e6f6e65> Tj
 ET
@@ -119567,7 +119682,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 214.18 Td
+48.24000000000001 115.81 Td
 /F3.0 10.5 Tf
 <68626173652e726573742e706f7274> Tj
 ET
@@ -119578,7 +119693,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 195.996 Td
+63.24000000000001 97.626 Td
 /F1.0 10.5 Tf
 [<54686520706f727420666f722074686520484261736520524553> 20.01953125 <54207365727665722e>] TJ
 ET
@@ -119589,18 +119704,71 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 170.4 Td
+63.24000000000001 72.03 Td
 /F3.0 10.5 Tf
 <38303830> Tj
 ET
 
 0.000 0.000 0.000 SCN
 0.000 0.000 0.000 scn
+q
+0.000 0.000 0.000 scn
+0.000 0.000 0.000 SCN
+1 w
+0 J
+0 j
+[ ] 0 d
+q
+0.5 w
+0.867 0.867 0.867 SCN
+48.240 30.120 m
+563.760 30.120 l
+S
+Q
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+48.24 14.508000000000001 Td
+/F1.0 9 Tf
+<3437> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+Q
+Q
+
+endstream
+endobj
+227 0 obj
+<< /Type /Page
+/Parent 3 0 R
+/MediaBox [0 0 612.0 792.0]
+/Contents 226 0 R
+/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
+/Font << /F1.0 11 0 R
+/F3.0 31 0 R
+>>
+>>
+>>
+endobj
+228 0 obj
+<< /Length 10648
+>>
+stream
+q
+/DeviceRGB cs
+1.000 1.000 1.000 scn
+0.000 0.000 612.000 792.000 re
+f
+0.000 0.000 0.000 scn
 0.694 0.129 0.275 scn
+/DeviceRGB CS
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 146.4 Td
+48.24000000000001 746.22 Td
 /F3.0 10.5 Tf
 <68626173652e726573742e726561646f6e6c79> Tj
 ET
@@ -119613,7 +119781,7 @@ ET
 0.064 Tw
 
 BT
-63.24000000000001 128.216 Td
+63.24000000000001 728.036 Td
 /F1.0 10.5 Tf
 [<446566696e657320746865206d6f64652074686520524553> 20.01953125 <54207365727665722077696c6c206265207374617274656420696e2e20506f737369626c652076616c756573206172653a2066616c73653a20416c6c2048545450206d6574686f647320617265>] TJ
 ET
@@ -119626,7 +119794,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 112.436 Td
+63.24000000000001 712.256 Td
 /F1.0 10.5 Tf
 [<7065726d6974746564202d204745542f5055542f504f53> 20.01953125 <542f44454c4554452e20747275653a204f6e6c792074686520474554206d6574686f64206973207065726d69747465642e>] TJ
 ET
@@ -119637,7 +119805,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 86.84 Td
+63.24000000000001 686.6600000000001 Td
 /F3.0 10.5 Tf
 <66616c7365> Tj
 ET
@@ -119648,73 +119816,20 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 62.84 Td
+48.24000000000001 662.6600000000001 Td
 /F3.0 10.5 Tf
 <68626173652e726573742e746872656164732e6d6178> Tj
 ET
 
 0.000 0.000 0.000 SCN
 0.000 0.000 0.000 scn
-q
-0.000 0.000 0.000 scn
-0.000 0.000 0.000 SCN
-1 w
-0 J
-0 j
-[ ] 0 d
-q
-0.5 w
-0.867 0.867 0.867 SCN
-48.240 30.120 m
-563.760 30.120 l
-S
-Q
-0.200 0.200 0.200 scn
-0.200 0.200 0.200 SCN
-
-BT
-48.24 14.508000000000001 Td
-/F1.0 9 Tf
-<3437> Tj
-ET
-
-0.000 0.000 0.000 SCN
-0.000 0.000 0.000 scn
-Q
-Q
-
-endstream
-endobj
-226 0 obj
-<< /Type /Page
-/Parent 3 0 R
-/MediaBox [0 0 612.0 792.0]
-/Contents 225 0 R
-/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
-/Font << /F3.0 31 0 R
-/F1.0 11 0 R
->>
->>
->>
-endobj
-227 0 obj
-<< /Length 10618
->>
-stream
-q
-/DeviceRGB cs
-1.000 1.000 1.000 scn
-0.000 0.000 612.000 792.000 re
-f
-0.000 0.000 0.000 scn
 0.200 0.200 0.200 scn
-/DeviceRGB CS
 0.200 0.200 0.200 SCN
 
 0.347 Tw
 
 BT
-63.24000000000001 744.786 Td
+63.24000000000001 644.476 Td
 /F1.0 10.5 Tf
 [<546865206d6178696d756d206e756d626572206f662074687265616473206f662074686520524553> 20.01953125 <54207365727665722074687265616420706f6f6c2e205468726561647320696e2074686520706f6f6c206172652072657573656420746f>] TJ
 ET
@@ -119729,7 +119844,7 @@ ET
 1.132 Tw
 
 BT
-63.24000000000001 729.006 Td
+63.24000000000001 628.696 Td
 /F1.0 10.5 Tf
 [<70726f6365737320524553> 20.01953125 <542072657175657374732e205468697320636f6e74726f6c7320746865206d6178696d756d206e756d626572206f662072657175657374732070726f63657373656420636f6e63757272656e746c79> 89.84375 <2e204974>] TJ
 ET
@@ -119744,7 +119859,7 @@ ET
 0.535 Tw
 
 BT
-63.24000000000001 713.226 Td
+63.24000000000001 612.916 Td
 /F1.0 10.5 Tf
 [<6d61> 20.01953125 <792068656c7020746f20636f6e74726f6c20746865206d656d6f727920757365642062> 20.01953125 <792074686520524553> 20.01953125 <542073657276657220746f2061766f6964204f4f4d206973737565732e204966207468652074687265616420706f6f6c206973>] TJ
 ET
@@ -119757,7 +119872,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 697.446 Td
+63.24000000000001 597.1360000000001 Td
 /F1.0 10.5 Tf
 <66756c6c2c20696e636f6d696e672072657175657374732077696c6c2062652071756575656420757020616e64207761697420666f7220736f6d65206672656520746872656164732e> Tj
 ET
@@ -119768,7 +119883,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 671.85 Td
+63.24000000000001 571.5400000000001 Td
 /F3.0 10.5 Tf
 <313030> Tj
 ET
@@ -119779,7 +119894,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 647.85 Td
+48.24000000000001 547.5400000000001 Td
 /F3.0 10.5 Tf
 <68626173652e726573742e746872656164732e6d696e> Tj
 ET
@@ -119792,7 +119907,7 @@ ET
 1.507 Tw
 
 BT
-63.24000000000001 629.6659999999999 Td
+63.24000000000001 529.356 Td
 /F1.0 10.5 Tf
 [<546865206d696e696d756d206e756d626572206f662074687265616473206f662074686520524553> 20.01953125 <54207365727665722074687265616420706f6f6c2e205468652074687265616420706f6f6c20616c7761> 20.01953125 <797320686173206174>] TJ
 ET
@@ -119805,7 +119920,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 613.886 Td
+63.24000000000001 513.576 Td
 /F1.0 10.5 Tf
 [<6c65617374207468657365206e756d626572206f66207468726561647320736f2074686520524553> 20.01953125 <542073657276657220697320726561647920746f20736572766520696e636f6d696e672072657175657374732e>] TJ
 ET
@@ -119816,7 +119931,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 588.2900000000001 Td
+63.24000000000001 487.9800000000001 Td
 /F3.0 10.5 Tf
 <32> Tj
 ET
@@ -119827,7 +119942,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 564.2900000000001 Td
+48.24000000000001 463.9800000000001 Td
 /F3.0 10.5 Tf
 <68626173652e726573742e737570706f72742e70726f787975736572> Tj
 ET
@@ -119838,7 +119953,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 546.106 Td
+63.24000000000001 445.79600000000005 Td
 /F1.0 10.5 Tf
 [<456e61626c65732072756e6e696e672074686520524553> 20.01953125 <542073657276657220746f20737570706f72742070726f78792d75736572206d6f64652e>] TJ
 ET
@@ -119849,7 +119964,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 520.5100000000001 Td
+63.24000000000001 420.20000000000005 Td
 /F3.0 10.5 Tf
 <66616c7365> Tj
 ET
@@ -119860,7 +119975,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 496.5100000000001 Td
+48.24000000000001 396.20000000000005 Td
 /F3.0 10.5 Tf
 <68626173652e64656661756c74732e666f722e76657273696f6e2e736b6970> Tj
 ET
@@ -119873,7 +119988,7 @@ ET
 0.208 Tw
 
 BT
-63.24000000000001 478.3260000000001 Td
+63.24000000000001 378.016 Td
 /F1.0 10.5 Tf
 [<53657420746f207472756520746f20736b697020746865202768626173652e64656661756c74732e666f722e76657273696f6e> 40.0390625 <2720636865636b2e2053657474696e67207468697320746f20747275652063616e2062652075736566756c20696e20636f6e7465787473>] TJ
 ET
@@ -119888,7 +120003,7 @@ ET
 2.071 Tw
 
 BT
-63.24000000000001 462.54600000000005 Td
+63.24000000000001 362.236 Td
 /F1.0 10.5 Tf
 [<6f74686572207468616e20746865206f746865722073696465206f662061206d6176656e2067656e6572> 20.01953125 <6174696f6e3b20692e652e2072756e6e696e6720696e20616e204944452e2059> 69.82421875 <6f75d56c6c2077616e7420746f207365742074686973>] TJ
 ET
@@ -119903,7 +120018,7 @@ ET
 0.020 Tw
 
 BT
-63.24000000000001 446.7660000000001 Td
+63.24000000000001 346.456 Td
 /F1.0 10.5 Tf
 <626f6f6c65616e20746f207472756520746f2061766f696420736565696e67207468652052756e74696d65457863657074696f6e20636f6d706c61696e743a202268626173652d64656661756c742e786d6c2066696c65207365656d7320746f206265> Tj
 ET
@@ -119916,7 +120031,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 430.9860000000001 Td
+63.24000000000001 330.67600000000004 Td
 /F1.0 10.5 Tf
 [<666f7220616e64206f6c642076657273696f6e206f6620484261736520285c247b68626173652e76657273696f6e7d292c20746869732076657273696f6e20697320582e582e582d534e415053484f> 20.01953125 <5422>] TJ
 ET
@@ -119927,7 +120042,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 405.3900000000001 Td
+63.24000000000001 305.08000000000004 Td
 /F3.0 10.5 Tf
 <66616c7365> Tj
 ET
@@ -119938,7 +120053,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 381.3900000000001 Td
+48.24000000000001 281.08000000000004 Td
 /F3.0 10.5 Tf
 <68626173652e636f70726f636573736f722e6d61737465722e636c6173736573> Tj
 ET
@@ -119951,7 +120066,7 @@ ET
 0.794 Tw
 
 BT
-63.24000000000001 363.2060000000001 Td
+63.24000000000001 262.896 Td
 /F1.0 10.5 Tf
 [<4120636f6d6d612d7365706172> 20.01953125 <61746564206c697374206f66206f72672e6170616368652e6861646f6f702e68626173652e636f70726f636573736f722e4d61737465724f6273657276657220636f70726f636573736f72732074686174>] TJ
 ET
@@ -119966,7 +120081,7 @@ ET
 1.384 Tw
 
 BT
-63.24000000000001 347.42600000000004 Td
+63.24000000000001 247.116 Td
 /F1.0 10.5 Tf
 [<617265206c6f616465642062> 20.01953125 <792064656661756c74206f6e207468652061637469766520484d61737465722070726f636573732e2046> 40.0390625 <6f7220616e> 20.01953125 <7920696d706c656d656e74656420636f70726f636573736f72206d6574686f64732c>] TJ
 ET
@@ -119981,7 +120096,7 @@ ET
 0.089 Tw
 
 BT
-63.24000000000001 331.6460000000001 Td
+63.24000000000001 231.336 Td
 /F1.0 10.5 Tf
 <746865206c697374656420636c61737365732077696c6c2062652063616c6c656420696e206f726465722e20416674657220696d706c656d656e74696e6720796f7572206f776e204d61737465724f627365727665722c206a7573742070757420697420696e> Tj
 ET
@@ -119994,7 +120109,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 315.8660000000001 Td
+63.24000000000001 215.556 Td
 /F1.0 10.5 Tf
 [<4842617365d5> 49.8046875 <7320636c6173737061746820616e6420616464207468652066756c6c79207175616c696669656420636c617373206e616d6520686572652e>] TJ
 ET
@@ -120005,7 +120120,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 288.08600000000007 Td
+63.24000000000001 187.776 Td
 /F1.0 10.5 Tf
 <6e6f6e65> Tj
 ET
@@ -120016,7 +120131,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 262.4900000000001 Td
+48.24000000000001 162.18 Td
 /F3.0 10.5 Tf
 <68626173652e636f70726f636573736f722e61626f72746f6e6572726f72> Tj
 ET
@@ -120029,7 +120144,7 @@ ET
 0.046 Tw
 
 BT
-63.24000000000001 244.3060000000001 Td
+63.24000000000001 143.996 Td
 /F1.0 10.5 Tf
 <53657420746f207472756520746f2063617573652074686520686f7374696e672073657276657220286d6173746572206f7220726567696f6e7365727665722920746f2061626f7274206966206120636f70726f636573736f72206661696c7320746f206c6f61642c> Tj
 ET
@@ -120044,7 +120159,7 @@ ET
 1.988 Tw
 
 BT
-63.24000000000001 228.5260000000001 Td
+63.24000000000001 128.216 Td
 /F1.0 10.5 Tf
 <6661696c7320746f20696e697469616c697a652c206f72207468726f777320616e20756e6578706563746564205468726f7761626c65206f626a6563742e2053657474696e67207468697320746f2066616c73652077696c6c20616c6c6f7720746865> Tj
 ET
@@ -120059,7 +120174,7 @@ ET
 0.833 Tw
 
 BT
-63.24000000000001 212.7460000000001 Td
+63.24000000000001 112.436 Td
 /F1.0 10.5 Tf
 <73657276657220746f20636f6e74696e756520657865637574696f6e20627574207468652073797374656d2077696465207374617465206f662074686520636f70726f636573736f7220696e207175657374696f6e2077696c6c206265636f6d65> Tj
 ET
@@ -120074,7 +120189,7 @@ ET
 1.303 Tw
 
 BT
-63.24000000000001 196.9660000000001 Td
+63.24000000000001 96.656 Td
 /F1.0 10.5 Tf
 <696e636f6e73697374656e742061732069742077696c6c2062652070726f7065726c7920657865637574696e6720696e206f6e6c79206120737562736574206f6620736572766572732c20736f2074686973206973206d6f73742075736566756c20666f72> Tj
 ET
@@ -120087,7 +120202,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 181.1860000000001 Td
+63.24000000000001 80.876 Td
 /F1.0 10.5 Tf
 [<646562756767696e67206f6e6c79> 89.84375 <2e>] TJ
 ET
@@ -120098,55 +120213,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 155.5900000000001 Td
-/F3.0 10.5 Tf
-<74727565> Tj
-ET
-
-0.000 0.000 0.000 SCN
-0.000 0.000 0.000 scn
-0.694 0.129 0.275 scn
-0.694 0.129 0.275 SCN
-
-BT
-48.24000000000001 131.5900000000001 Td
-/F3.0 10.5 Tf
-<68626173652e7461626c652e6c6f636b2e656e61626c65> Tj
-ET
-
-0.000 0.000 0.000 SCN
-0.000 0.000 0.000 scn
-0.200 0.200 0.200 scn
-0.200 0.200 0.200 SCN
-
-1.556 Tw
-
-BT
-63.24000000000001 113.40600000000009 Td
-/F1.0 10.5 Tf
-[<53657420746f207472756520746f20656e61626c65206c6f636b696e6720746865207461626c6520696e207a6f6f6b> 20.01953125 <656570657220666f7220736368656d61206368616e6765206f706572> 20.01953125 <6174696f6e732e2054> 29.78515625 <61626c65206c6f636b696e67>] TJ
-ET
-
-
-0.000 Tw
-0.000 0.000 0.000 SCN
-0.000 0.000 0.000 scn
-0.200 0.200 0.200 scn
-0.200 0.200 0.200 SCN
-
-BT
-63.24000000000001 97.62600000000009 Td
-/F1.0 10.5 Tf
-<66726f6d206d61737465722070726576656e747320636f6e63757272656e7420736368656d61206d6f64696669636174696f6e7320746f20636f7272757074207461626c652073746174652e> Tj
-ET
-
-0.000 0.000 0.000 SCN
-0.000 0.000 0.000 scn
-0.694 0.129 0.275 scn
-0.694 0.129 0.275 SCN
-
-BT
-63.24000000000001 72.03000000000009 Td
+63.24000000000001 55.28 Td
 /F3.0 10.5 Tf
 <74727565> Tj
 ET
@@ -120183,20 +120250,20 @@ Q
 
 endstream
 endobj
-228 0 obj
+229 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 227 0 R
+/Contents 228 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
-/Font << /F1.0 11 0 R
-/F3.0 31 0 R
+/Font << /F3.0 31 0 R
+/F1.0 11 0 R
 >>
 >>
 >>
 endobj
-229 0 obj
-<< /Length 9425
+230 0 obj
+<< /Length 9431
 >>
 stream
 q
@@ -120212,6 +120279,54 @@ f
 BT
 48.24000000000001 746.22 Td
 /F3.0 10.5 Tf
+<68626173652e7461626c652e6c6f636b2e656e61626c65> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+1.556 Tw
+
+BT
+63.24000000000001 728.036 Td
+/F1.0 10.5 Tf
+[<53657420746f207472756520746f20656e61626c65206c6f636b696e6720746865207461626c6520696e207a6f6f6b> 20.01953125 <656570657220666f7220736368656d61206368616e6765206f706572> 20.01953125 <6174696f6e732e2054> 29.78515625 <61626c65206c6f636b696e67>] TJ
+ET
+
+
+0.000 Tw
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+63.24000000000001 712.256 Td
+/F1.0 10.5 Tf
+<66726f6d206d61737465722070726576656e747320636f6e63757272656e7420736368656d61206d6f64696669636174696f6e7320746f20636f7272757074207461626c652073746174652e> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
+
+BT
+63.24000000000001 686.6600000000001 Td
+/F3.0 10.5 Tf
+<74727565> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
+
+BT
+48.24000000000001 662.6600000000001 Td
+/F3.0 10.5 Tf
 <68626173652e7461626c652e6d61782e726f7773697a65> Tj
 ET
 
@@ -120223,7 +120338,7 @@ ET
 0.511 Tw
 
 BT
-63.24000000000001 728.036 Td
+63.24000000000001 644.476 Td
 /F1.0 10.5 Tf
 [<4d6178696d756d2073697a65206f662073696e676c6520726f7720696e2062> 20.01953125 <79746573202864656661756c7420697320312047622920666f7220476574d574696e67206f72205363616ed56e696e6720776974686f757420696e2d726f77207363616e>] TJ
 ET
@@ -120236,7 +120351,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 712.256 Td
+63.24000000000001 628.696 Td
 /F1.0 10.5 Tf
 [<666c6167207365742e20496620726f772073697a6520657863656564732074686973206c696d697420526f7754> 29.78515625 <6f6f426967457863657074696f6e206973207468726f776e20746f20636c69656e742e>] TJ
 ET
@@ -120247,7 +120362,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 686.6600000000001 Td
+63.24000000000001 603.1000000000001 Td
 /F3.0 10.5 Tf
 <31303733373431383234> Tj
 ET
@@ -120258,7 +120373,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 662.6600000000001 Td
+48.24000000000001 579.1000000000001 Td
 /F3.0 10.5 Tf
 <68626173652e7468726966742e6d696e576f726b657254687265616473> Tj
 ET
@@ -120271,7 +120386,7 @@ ET
 1.493 Tw
 
 BT
-63.24000000000001 644.476 Td
+63.24000000000001 560.916 Td
 /F1.0 10.5 Tf
 [<5468652022636f72652073697a6522206f66207468652074687265616420706f6f6c2e204e65772074687265616473206172652063726561746564206f6e20657665727920636f6e6e656374696f6e20756e74696c2074686973206d616e> 20.01953125 <79>] TJ
 ET
@@ -120284,7 +120399,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 628.696 Td
+63.24000000000001 545.1360000000001 Td
 /F1.0 10.5 Tf
 <746872656164732061726520637265617465642e> Tj
 ET
@@ -120295,7 +120410,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 603.1000000000001 Td
+63.24000000000001 519.5400000000002 Td
 /F3.0 10.5 Tf
 <3136> Tj
 ET
@@ -120306,7 +120421,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 579.1000000000001 Td
+48.24000000000001 495.5400000000002 Td
 /F3.0 10.5 Tf
 <68626173652e7468726966742e6d6178576f726b657254687265616473> Tj
 ET
@@ -120319,7 +120434,7 @@ ET
 0.184 Tw
 
 BT
-63.24000000000001 560.916 Td
+63.24000000000001 477.35600000000017 Td
 /F1.0 10.5 Tf
 <546865206d6178696d756d2073697a65206f66207468652074687265616420706f6f6c2e205768656e207468652070656e64696e672072657175657374207175657565206f766572666c6f77732c206e6577207468726561647320617265> Tj
 ET
@@ -120332,7 +120447,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 545.1360000000001 Td
+63.24000000000001 461.57600000000014 Td
 /F1.0 10.5 Tf
 <6372656174656420756e74696c207468656972206e756d62657220726561636865732074686973206e756d6265722e20416674657220746861742c2074686520736572766572207374617274732064726f7070696e6720636f6e6e656374696f6e732e> Tj
 ET
@@ -120343,7 +120458,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 519.5400000000002 Td
+63.24000000000001 435.9800000000002 Td
 /F3.0 10.5 Tf
 <31303030> Tj
 ET
@@ -120354,7 +120469,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 495.5400000000002 Td
+48.24000000000001 411.9800000000002 Td
 /F3.0 10.5 Tf
 <68626173652e7468726966742e6d61785175657565645265717565737473> Tj
 ET
@@ -120367,7 +120482,7 @@ ET
 1.948 Tw
 
 BT
-63.24000000000001 477.35600000000017 Td
+63.24000000000001 393.79600000000016 Td
 /F1.0 10.5 Tf
 <546865206d6178696d756d206e756d626572206f662070656e64696e672054687269667420636f6e6e656374696f6e732077616974696e6720696e207468652071756575652e20496620746865726520617265206e6f2069646c65> Tj
 ET
@@ -120382,7 +120497,7 @@ ET
 1.037 Tw
 
 BT
-63.24000000000001 461.57600000000014 Td
+63.24000000000001 378.0160000000002 Td
 /F1.0 10.5 Tf
 <7468726561647320696e2074686520706f6f6c2c2074686520736572766572207175657565732072657175657374732e204f6e6c79207768656e20746865207175657565206f766572666c6f77732c206e6577207468726561647320617265> Tj
 ET
@@ -120395,7 +120510,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 445.79600000000016 Td
+63.24000000000001 362.23600000000016 Td
 /F1.0 10.5 Tf
 <61646465642c20757020746f2068626173652e7468726966742e6d6178517565756564526571756573747320746872656164732e> Tj
 ET
@@ -120406,7 +120521,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 420.20000000000016 Td
+63.24000000000001 336.6400000000002 Td
 /F3.0 10.5 Tf
 <31303030> Tj
 ET
@@ -120417,7 +120532,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 396.20000000000016 Td
+48.24000000000001 312.6400000000002 Td
 /F3.0 10.5 Tf
 <68626173652e726567696f6e7365727665722e7468726966742e6672616d6564> Tj
 ET
@@ -120430,7 +120545,7 @@ ET
 2.626 Tw
 
 BT
-63.24000000000001 378.01600000000013 Td
+63.24000000000001 294.4560000000002 Td
 /F1.0 10.5 Tf
 [<5573652054687269667420544672> 20.01953125 <616d65645472> 20.01953125 <616e73706f7274206f6e207468652073657276657220736964652e205468697320697320746865207265636f6d6d656e646564207472> 20.01953125 <616e73706f727420666f7220746872696674>] TJ
 ET
@@ -120445,7 +120560,7 @@ ET
 0.280 Tw
 
 BT
-63.24000000000001 362.2360000000001 Td
+63.24000000000001 278.67600000000016 Td
 /F1.0 10.5 Tf
 <7365727665727320616e6420726571756972657320612073696d696c61722073657474696e67206f6e2074686520636c69656e7420736964652e204368616e67696e67207468697320746f2066616c73652077696c6c2073656c656374207468652064656661756c74> Tj
 ET
@@ -120458,7 +120573,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 346.45600000000013 Td
+63.24000000000001 262.8960000000002 Td
 /F1.0 10.5 Tf
 [<7472> 20.01953125 <616e73706f72742c2076756c6e6572> 20.01953125 <61626c6520746f20446f53207768656e206d616c666f726d656420726571756573747320617265206973737565642064756520746f205448524946542d3630312e>] TJ
 ET
@@ -120469,7 +120584,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 320.8600000000001 Td
+63.24000000000001 237.30000000000015 Td
 /F3.0 10.5 Tf
 <66616c7365> Tj
 ET
@@ -120480,7 +120595,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 296.8600000000001 Td
+48.24000000000001 213.30000000000015 Td
 /F3.0 10.5 Tf
 <68626173652e726567696f6e7365727665722e7468726966742e6672616d65642e6d61785f6672616d655f73697a655f696e5f6d62> Tj
 ET
@@ -120491,7 +120606,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 278.6760000000001 Td
+63.24000000000001 195.11600000000016 Td
 /F1.0 10.5 Tf
 [<44656661756c74206672> 20.01953125 <616d652073697a65207768656e207573696e67206672> 20.01953125 <616d6564207472> 20.01953125 <616e73706f72742c20696e204d42>] TJ
 ET
@@ -120502,7 +120617,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 253.08000000000013 Td
+63.24000000000001 169.52000000000015 Td
 /F3.0 10.5 Tf
 <32> Tj
 ET
@@ -120513,7 +120628,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 229.08000000000013 Td
+48.24000000000001 145.52000000000015 Td
 /F3.0 10.5 Tf
 <68626173652e726567696f6e7365727665722e7468726966742e636f6d70616374> Tj
 ET
@@ -120524,7 +120639,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 210.89600000000013 Td
+63.24000000000001 127.33600000000015 Td
 /F1.0 10.5 Tf
 [<557365205468726966742054> 20.01953125 <436f6d7061637450726f746f636f6c2062696e6172792073657269616c697a6174696f6e2070726f746f636f6c2e>] TJ
 ET
@@ -120535,7 +120650,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 185.30000000000013 Td
+63.24000000000001 101.74000000000015 Td
 /F3.0 10.5 Tf
 <66616c7365> Tj
 ET
@@ -120546,7 +120661,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 161.30000000000013 Td
+48.24000000000001 77.74000000000015 Td
 /F3.0 10.5 Tf
 <68626173652e726f6f746469722e7065726d73> Tj
 ET
@@ -120559,7 +120674,7 @@ ET
 1.166 Tw
 
 BT
-63.24000000000001 143.11600000000013 Td
+63.24000000000001 59.556000000000154 Td
 /F1.0 10.5 Tf
 [<4653205065726d697373696f6e7320666f722074686520726f6f742064617461207375626469726563746f727920696e20612073656375726520286b> 20.01953125 <65726265726f73292073657475702e205768656e206d6173746572207374617274732c206974>] TJ
 ET
@@ -120568,54 +120683,6 @@ ET
 0.000 Tw
 0.000 0.000 0.000 SCN
 0.000 0.000 0.000 scn
-0.200 0.200 0.200 scn
-0.200 0.200 0.200 SCN
-
-BT
-63.24000000000001 127.33600000000013 Td
-/F1.0 10.5 Tf
-<637265617465732074686520726f6f7464697220776974682074686973207065726d697373696f6e73206f72207365747320746865207065726d697373696f6e7320696620697420646f6573206e6f74206d617463682e> Tj
-ET
-
-0.000 0.000 0.000 SCN
-0.000 0.000 0.000 scn
-0.694 0.129 0.275 scn
-0.694 0.129 0.275 SCN
-
-BT
-63.24000000000001 101.74000000000012 Td
-/F3.0 10.5 Tf
-<373030> Tj
-ET
-
-0.000 0.000 0.000 SCN
-0.000 0.000 0.000 scn
-0.694 0.129 0.275 scn
-0.694 0.129 0.275 SCN
-
-BT
-48.24000000000001 77.74000000000012 Td
-/F3.0 10.5 Tf
-<68626173652e77616c2e6469722e7065726d73> Tj
-ET
-
-0.000 0.000 0.000 SCN
-0.000 0.000 0.000 scn
-0.200 0.200 0.200 scn
-0.200 0.200 0.200 SCN
-
-2.548 Tw
-
-BT
-63.24000000000001 59.556000000000125 Td
-/F1.0 10.5 Tf
-[<4653205065726d697373696f6e7320666f722074686520726f6f742057> 60.05859375 <414c206469726563746f727920696e206120736563757265286b> 20.01953125 <65726265726f73292073657475702e205768656e206d6173746572207374617274732c206974>] TJ
-ET
-
-
-0.000 Tw
-0.000 0.000 0.000 SCN
-0.000 0.000 0.000 scn
 q
 0.000 0.000 0.000 scn
 0.000 0.000 0.000 SCN
@@ -120646,11 +120713,11 @@ Q
 
 endstream
 endobj
-230 0 obj
+231 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 229 0 R
+/Contents 230 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F3.0 31 0 R
 /F1.0 11 0 R
@@ -120658,8 +120725,8 @@ endobj
 >>
 >>
 endobj
-231 0 obj
-<< /Length 9829
+232 0 obj
+<< /Length 9553
 >>
 stream
 q
@@ -120675,7 +120742,7 @@ f
 BT
 63.24000000000001 744.786 Td
 /F1.0 10.5 Tf
-[<63726561746573207468652057> 60.05859375 <414c2064697220776974682074686973207065726d697373696f6e73206f72207365747320746865207065726d697373696f6e7320696620697420646f6573206e6f74206d617463682e>] TJ
+<637265617465732074686520726f6f7464697220776974682074686973207065726d697373696f6e73206f72207365747320746865207065726d697373696f6e7320696620697420646f6573206e6f74206d617463682e> Tj
 ET
 
 0.000 0.000 0.000 SCN
@@ -120697,7 +120764,7 @@ ET
 BT
 48.24000000000001 695.19 Td
 /F3.0 10.5 Tf
-<68626173652e646174612e756d61736b2e656e61626c65> Tj
+<68626173652e77616c2e6469722e7065726d73> Tj
 ET
 
 0.000 0.000 0.000 SCN
@@ -120705,9 +120772,57 @@ ET
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
+2.548 Tw
+
 BT
 63.24000000000001 677.006 Td
 /F1.0 10.5 Tf
+[<4653205065726d697373696f6e7320666f722074686520726f6f742057> 60.05859375 <414c206469726563746f727920696e206120736563757265286b> 20.01953125 <65726265726f73292073657475702e205768656e206d6173746572207374617274732c206974>] TJ
+ET
+
+
+0.000 Tw
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+63.24000000000001 661.226 Td
+/F1.0 10.5 Tf
+[<63726561746573207468652057> 60.05859375 <414c2064697220776974682074686973207065726d697373696f6e73206f72207365747320746865207065726d697373696f6e7320696620697420646f6573206e6f74206d617463682e>] TJ
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
+
+BT
+63.24000000000001 635.6300000000001 Td
+/F3.0 10.5 Tf
+<373030> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
+
+BT
+48.24000000000001 611.6300000000001 Td
+/F3.0 10.5 Tf
+<68626173652e646174612e756d61736b2e656e61626c65> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+63.24000000000001 593.446 Td
+/F1.0 10.5 Tf
 [<456e61626c652c20696620747275652c20746861742066696c65207065726d697373696f6e732073686f756c642062652061737369676e656420746f207468652066696c6573207772697474656e2062> 20.01953125 <792074686520726567696f6e736572766572>] TJ
 ET
 
@@ -120717,7 +120832,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 651.4100000000001 Td
+63.24000000000001 567.8500000000001 Td
 /F3.0 10.5 Tf
 <66616c7365> Tj
 ET
@@ -120728,7 +120843,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 627.4100000000001 Td
+48.24000000000001 543.8500000000001 Td
 /F3.0 10.5 Tf
 <68626173652e646174612e756d61736b> Tj
 ET
@@ -120739,7 +120854,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 609.226 Td
+63.24000000000001 525.6660000000002 Td
 /F1.0 10.5 Tf
 <46696c65207065726d697373696f6e7320746861742073686f756c64206265207573656420746f20777269746520646174612066696c6573207768656e2068626173652e646174612e756d61736b2e656e61626c652069732074727565> Tj
 ET
@@ -120750,7 +120865,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 583.6300000000001 Td
+63.24000000000001 500.07000000000016 Td
 /F3.0 10.5 Tf
 <303030> Tj
 ET
@@ -120761,7 +120876,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 559.6300000000001 Td
+48.24000000000001 476.07000000000016 Td
 /F3.0 10.5 Tf
 <68626173652e736e617073686f742e656e61626c6564> Tj
 ET
@@ -120772,7 +120887,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 541.4460000000001 Td
+63.24000000000001 457.88600000000014 Td
 /F1.0 10.5 Tf
 [<53657420746f207472756520746f20616c6c6f7720736e617073686f747320746f2062652074616b> 20.01953125 <656e202f20726573746f726564202f20636c6f6e65642e>] TJ
 ET
@@ -120783,7 +120898,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 515.8500000000001 Td
+63.24000000000001 432.2900000000002 Td
 /F3.0 10.5 Tf
 <74727565> Tj
 ET
@@ -120794,7 +120909,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 491.85000000000014 Td
+48.24000000000001 408.2900000000002 Td
 /F3.0 10.5 Tf
 <68626173652e736e617073686f742e726573746f72652e74616b652e6661696c736166652e736e617073686f74> Tj
 ET
@@ -120807,7 +120922,7 @@ ET
 0.620 Tw
 
 BT
-63.24000000000001 473.6660000000001 Td
+63.24000000000001 390.10600000000017 Td
 /F1.0 10.5 Tf
 [<53657420746f207472756520746f2074616b> 20.01953125 <65206120736e617073686f74206265666f72652074686520726573746f7265206f706572> 20.01953125 <6174696f6e2e2054686520736e617073686f742074616b> 20.01953125 <656e2077696c6c206265207573656420696e2063617365>] TJ
 ET
@@ -120822,7 +120937,7 @@ ET
 1.542 Tw
 
 BT
-63.24000000000001 457.8860000000001 Td
+63.24000000000001 374.32600000000014 Td
 /F1.0 10.5 Tf
 [<6f66206661696c7572652c20746f20726573746f7265207468652070726576696f75732073746174652e2041742074686520656e64206f662074686520726573746f7265206f706572> 20.01953125 <6174696f6e207468697320736e617073686f742077696c6c206265>] TJ
 ET
@@ -120835,7 +120950,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 442.1060000000001 Td
+63.24000000000001 358.54600000000016 Td
 /F1.0 10.5 Tf
 <64656c65746564> Tj
 ET
@@ -120846,7 +120961,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 416.5100000000001 Td
+63.24000000000001 332.95000000000016 Td
 /F3.0 10.5 Tf
 <74727565> Tj
 ET
@@ -120857,7 +120972,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 392.5100000000001 Td
+48.24000000000001 308.95000000000016 Td
 /F3.0 10.5 Tf
 <68626173652e736e617073686f742e726573746f72652e6661696c736166652e6e616d65> Tj
 ET
@@ -120870,7 +120985,7 @@ ET
 1.851 Tw
 
 BT
-63.24000000000001 374.3260000000001 Td
+63.24000000000001 290.76600000000013 Td
 /F1.0 10.5 Tf
 [<4e616d65206f6620746865206661696c7361666520736e617073686f742074616b> 20.01953125 <656e2062> 20.01953125 <792074686520726573746f7265206f706572> 20.01953125 <6174696f6e2e2059> 69.82421875 <6f752063616e2075736520746865207b736e617073686f742e6e616d657d2c>] TJ
 ET
@@ -120883,7 +120998,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 358.54600000000005 Td
+63.24000000000001 274.9860000000001 Td
 /F1.0 10.5 Tf
 <7b7461626c652e6e616d657d20616e64207b726573746f72652e74696d657374616d707d207661726961626c657320746f206372656174652061206e616d65206261736564206f6e207768617420796f752061726520726573746f72696e672e> Tj
 ET
@@ -120894,7 +121009,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 332.9500000000001 Td
+63.24000000000001 249.39000000000013 Td
 /F3.0 10.5 Tf
 <68626173652d6661696c736166652d7b736e617073686f742e6e616d657d2d7b726573746f72652e74696d657374616d707d> Tj
 ET
@@ -120905,7 +121020,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 308.9500000000001 Td
+48.24000000000001 225.39000000000013 Td
 /F3.0 10.5 Tf
 <68626173652e7365727665722e636f6d70616374636865636b65722e696e74657276616c2e6d756c7469706c696572> Tj
 ET
@@ -120918,7 +121033,7 @@ ET
 3.011 Tw
 
 BT
-63.24000000000001 290.7660000000001 Td
+63.24000000000001 207.20600000000013 Td
 /F1.0 10.5 Tf
 [<546865206e756d62657220746861742064657465726d696e657320686f77206f6674656e207765207363616e20746f2073656520696620636f6d70616374696f6e206973206e6563657373617279> 89.84375 <2e204e6f726d616c6c79> 89.84375 <2c>] TJ
 ET
@@ -120933,7 +121048,7 @@ ET
 0.568 Tw
 
 BT
-63.24000000000001 274.9860000000001 Td
+63.24000000000001 191.42600000000013 Td
 /F1.0 10.5 Tf
 <636f6d70616374696f6e732061726520646f6e6520616674657220736f6d65206576656e7473202873756368206173206d656d73746f726520666c757368292c2062757420696620726567696f6e206469646ed57420726563656976652061206c6f74> Tj
 ET
@@ -120948,7 +121063,7 @@ ET
 1.661 Tw
 
 BT
-63.24000000000001 259.2060000000001 Td
+63.24000000000001 175.64600000000013 Td
 /F1.0 10.5 Tf
 [<6f662077726974657320666f7220736f6d652074696d652c206f722064756520746f20646966666572656e7420636f6d70616374696f6e20706f6c69636965732c206974206d61> 20.01953125 <79206265206e656365737361727920746f20636865636b206974>] TJ
 ET
@@ -120963,7 +121078,7 @@ ET
 6.142 Tw
 
 BT
-63.24000000000001 243.42600000000007 Td
+63.24000000000001 159.86600000000013 Td
 /F1.0 10.5 Tf
 [<706572696f646963616c6c79> 89.84375 <2e2054686520696e74657276616c206265747765656e20636865636b732069732068626173652e7365727665722e636f6d70616374636865636b> 20.01953125 <65722e696e74657276616c2e6d756c7469706c696572>] TJ
 ET
@@ -120976,7 +121091,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 227.64600000000007 Td
+63.24000000000001 144.08600000000013 Td
 /F1.0 10.5 Tf
 [<6d756c7469706c6965642062> 20.01953125 <792068626173652e7365727665722e7468726561642e77616b> 20.01953125 <656672657175656e6379> 89.84375 <2e>] TJ
 ET
@@ -120987,7 +121102,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 202.05000000000007 Td
+63.24000000000001 118.49000000000012 Td
 /F3.0 10.5 Tf
 <31303030> Tj
 ET
@@ -120998,7 +121113,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 178.05000000000007 Td
+48.24000000000001 94.49000000000012 Td
 /F3.0 10.5 Tf
 <68626173652e6c656173652e7265636f766572792e74696d656f7574> Tj
 ET
@@ -121009,7 +121124,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 159.86600000000007 Td
+63.24000000000001 76.30600000000013 Td
 /F1.0 10.5 Tf
 <486f77206c6f6e672077652077616974206f6e20646673206c65617365207265636f7665727920696e20746f74616c206265666f726520676976696e672075702e> Tj
 ET
@@ -121020,18 +121135,71 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 134.27000000000007 Td
+63.24000000000001 50.71000000000012 Td
 /F3.0 10.5 Tf
 <393030303030> Tj
 ET
 
 0.000 0.000 0.000 SCN
 0.000 0.000 0.000 scn
+q
+0.000 0.000 0.000 scn
+0.000 0.000 0.000 SCN
+1 w
+0 J
+0 j
+[ ] 0 d
+q
+0.5 w
+0.867 0.867 0.867 SCN
+48.240 30.120 m
+563.760 30.120 l
+S
+Q
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+553.698 14.508000000000001 Td
+/F1.0 9 Tf
+<3530> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+Q
+Q
+
+endstream
+endobj
+233 0 obj
+<< /Type /Page
+/Parent 3 0 R
+/MediaBox [0 0 612.0 792.0]
+/Contents 232 0 R
+/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
+/Font << /F1.0 11 0 R
+/F3.0 31 0 R
+>>
+>>
+>>
+endobj
+234 0 obj
+<< /Length 11329
+>>
+stream
+q
+/DeviceRGB cs
+1.000 1.000 1.000 scn
+0.000 0.000 612.000 792.000 re
+f
+0.000 0.000 0.000 scn
 0.694 0.129 0.275 scn
+/DeviceRGB CS
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 110.27000000000007 Td
+48.24000000000001 746.22 Td
 /F3.0 10.5 Tf
 <68626173652e6c656173652e7265636f766572792e6466732e74696d656f7574> Tj
 ET
@@ -121044,7 +121212,7 @@ ET
 0.491 Tw
 
 BT
-63.24000000000001 92.08600000000007 Td
+63.24000000000001 728.036 Td
 /F1.0 10.5 Tf
 [<486f77206c6f6e67206265747765656e20646673207265636f766572206c6561736520696e766f636174696f6e732e2053686f756c64206265206c6172676572207468616e207468652073756d206f66207468652074696d652069742074616b> 20.01953125 <6573>] TJ
 ET
@@ -121059,7 +121227,7 @@ ET
 1.474 Tw
 
 BT
-63.24000000000001 76.30600000000007 Td
+63.24000000000001 712.256 Td
 /F1.0 10.5 Tf
 <666f7220746865206e616d656e6f646520746f206973737565206120626c6f636b207265636f7665727920636f6d6d616e642061732070617274206f6620646174616e6f64653b206466732e6865617274626561742e696e74657276616c> Tj
 ET
@@ -121074,7 +121242,7 @@ ET
 1.494 Tw
 
 BT
-63.24000000000001 60.52600000000007 Td
+63.24000000000001 696.476 Td
 /F1.0 10.5 Tf
 [<616e64207468652074696d652069742074616b> 20.01953125 <657320666f7220746865207072696d61727920646174616e6f64652c20706572666f726d696e6720626c6f636b207265636f7665727920746f2074696d656f7574206f6e20612064656164>] TJ
 ET
@@ -121083,64 +121251,11 @@ ET
 0.000 Tw
 0.000 0.000 0.000 SCN
 0.000 0.000 0.000 scn
-q
-0.000 0.000 0.000 scn
-0.000 0.000 0.000 SCN
-1 w
-0 J
-0 j
-[ ] 0 d
-q
-0.5 w
-0.867 0.867 0.867 SCN
-48.240 30.120 m
-563.760 30.120 l
-S
-Q
-0.200 0.200 0.200 scn
-0.200 0.200 0.200 SCN
-
-BT
-553.698 14.508000000000001 Td
-/F1.0 9 Tf
-<3530> Tj
-ET
-
-0.000 0.000 0.000 SCN
-0.000 0.000 0.000 scn
-Q
-Q
-
-endstream
-endobj
-232 0 obj
-<< /Type /Page
-/Parent 3 0 R
-/MediaBox [0 0 612.0 792.0]
-/Contents 231 0 R
-/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
-/Font << /F1.0 11 0 R
-/F3.0 31 0 R
->>
->>
->>
-endobj
-233 0 obj
-<< /Length 10780
->>
-stream
-q
-/DeviceRGB cs
-1.000 1.000 1.000 scn
-0.000 0.000 612.000 792.000 re
-f
-0.000 0.000 0.000 scn
 0.200 0.200 0.200 scn
-/DeviceRGB CS
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 744.786 Td
+63.24000000000001 680.696 Td
 /F1.0 10.5 Tf
 [<646174616e6f64653b20757375616c6c79206466732e636c69656e742e736f636b> 20.01953125 <65742d74696d656f75742e205365652074686520656e64206f66204842> 20.01953125 <4153452d3833383920666f72206d6f72652e>] TJ
 ET
@@ -121151,7 +121266,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 719.19 Td
+63.24000000000001 655.1 Td
 /F3.0 10.5 Tf
 <3634303030> Tj
 ET
@@ -121162,7 +121277,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 695.19 Td
+48.24000000000001 631.1 Td
 /F3.0 10.5 Tf
 <68626173652e636f6c756d6e2e6d61782e76657273696f6e> Tj
 ET
@@ -121173,7 +121288,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 677.006 Td
+63.24000000000001 612.9159999999999 Td
 /F1.0 10.5 Tf
 [<4e657720636f6c756d6e2066616d696c792064657363726970746f72732077696c6c2075736520746869732076616c7565206173207468652064656661756c74206e756d626572206f662076657273696f6e7320746f206b> 20.01953125 <6565702e>] TJ
 ET
@@ -121184,7 +121299,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 651.4100000000001 Td
+63.24000000000001 587.32 Td
 /F3.0 10.5 Tf
 <31> Tj
 ET
@@ -121195,7 +121310,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 627.4100000000001 Td
+48.24000000000001 563.32 Td
 /F3.0 10.5 Tf
 <6466732e636c69656e742e726561642e73686f727463697263756974> Tj
 ET
@@ -121206,7 +121321,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 609.226 Td
+63.24000000000001 545.136 Td
 /F1.0 10.5 Tf
 [<49662073657420746f20747275652c207468697320636f6e6669677572> 20.01953125 <6174696f6e20706172> 20.01953125 <616d6574657220656e61626c65732073686f72742d63697263756974206c6f63616c2072656164732e>] TJ
 ET
@@ -121217,7 +121332,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 583.6300000000001 Td
+63.24000000000001 519.5400000000001 Td
 /F3.0 10.5 Tf
 <66616c7365> Tj
 ET
@@ -121228,7 +121343,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 559.6300000000001 Td
+48.24000000000001 495.5400000000001 Td
 /F3.0 10.5 Tf
 <6466732e646f6d61696e2e736f636b65742e70617468> Tj
 ET
@@ -121241,7 +121356,7 @@ ET
 0.519 Tw
 
 BT
-63.24000000000001 541.4460000000001 Td
+63.24000000000001 477.35600000000005 Td
 /F1.0 10.5 Tf
 [<546869732069732061207061746820746f206120554e495820646f6d61696e20736f636b> 20.01953125 <657420746861742077696c6c206265207573656420666f7220636f6d6d756e69636174696f6e206265747765656e2074686520446174614e6f6465>] TJ
 ET
@@ -121256,7 +121371,7 @@ ET
 0.436 Tw
 
 BT
-63.24000000000001 525.666 Td
+63.24000000000001 461.576 Td
 /F1.0 10.5 Tf
 [<616e64206c6f63616c204844465320636c69656e74732c206966206466732e636c69656e742e726561642e73686f7274636972637569742069732073657420746f20747275652e2049662074686520737472696e6720225f504f52> 20.01953125 <54222069732070726573656e7420696e>] TJ
 ET
@@ -121271,7 +121386,7 @@ ET
 0.682 Tw
 
 BT
-63.24000000000001 509.8860000000001 Td
+63.24000000000001 445.79600000000005 Td
 /F1.0 10.5 Tf
 [<7468697320706174682c2069742077696c6c206265207265706c616365642062> 20.01953125 <79207468652054> 20.01953125 <435020706f7274206f662074686520446174614e6f64652e204265206361726566756c2061626f7574207065726d697373696f6e7320666f7220746865>] TJ
 ET
@@ -121286,7 +121401,7 @@ ET
 1.177 Tw
 
 BT
-63.24000000000001 494.1060000000001 Td
+63.24000000000001 430.0160000000001 Td
 /F1.0 10.5 Tf
 [<6469726563746f7279207468617420686f737473207468652073686172656420646f6d61696e20736f636b> 20.01953125 <65743b20646673636c69656e742077696c6c20636f6d706c61696e206966206f70656e20746f206f74686572207573657273207468616e>] TJ
 ET
@@ -121299,7 +121414,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 478.3260000000001 Td
+63.24000000000001 414.23600000000005 Td
 /F1.0 10.5 Tf
 <74686520484261736520757365722e> Tj
 ET
@@ -121310,7 +121425,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 452.73000000000013 Td
+63.24000000000001 388.6400000000001 Td
 /F3.0 10.5 Tf
 <6e6f6e65> Tj
 ET
@@ -121321,7 +121436,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 428.73000000000013 Td
+48.24000000000001 364.6400000000001 Td
 /F3.0 10.5 Tf
 <68626173652e6466732e636c69656e742e726561642e73686f7274636972637569742e6275666665722e73697a65> Tj
 ET
@@ -121334,7 +121449,7 @@ ET
 1.842 Tw
 
 BT
-63.24000000000001 410.5460000000001 Td
+63.24000000000001 346.4560000000001 Td
 /F1.0 10.5 Tf
 [<49662074686520444653436c69656e7420636f6e6669677572> 20.01953125 <6174696f6e206466732e636c69656e742e726561642e73686f7274636972637569742e6275666665722e73697a6520697320756e7365742c2077652077696c6c207573652077686174206973>] TJ
 ET
@@ -121349,7 +121464,7 @@ ET
 0.776 Tw
 
 BT
-63.24000000000001 394.7660000000001 Td
+63.24000000000001 330.67600000000004 Td
 /F1.0 10.5 Tf
 [<636f6e666967757265642068657265206173207468652073686f7274206369

<TRUNCATED>

[20/26] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.html
index 0a4e340..832f618 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.html
@@ -478,129 +478,133 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>(package private) static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#RS_HOSTNAME_KEY">RS_HOSTNAME_KEY</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY">RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>(package private) static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#RS_HOSTNAME_KEY">RS_HOSTNAME_KEY</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerCoprocessorHost</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#rsHost">rsHost</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/procedure/RegionServerProcedureManagerHost.html" title="class in org.apache.hadoop.hbase.procedure">RegionServerProcedureManagerHost</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#rspmHost">rspmHost</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/quotas/RegionServerRpcQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">RegionServerRpcQuotaManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#rsQuotaManager">rsQuotaManager</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/quotas/RegionServerSpaceQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">RegionServerSpaceQuotaManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#rsSpaceQuotaManager">rsSpaceQuotaManager</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerStatusService.BlockingInterface</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#rssStub">rssStub</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/SecureBulkLoadManager.html" title="class in org.apache.hadoop.hbase.regionserver">SecureBulkLoadManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#secureBulkLoadManager">secureBulkLoadManager</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#serverName">serverName</a></span></code>
 <div class="block">The server name the Master sees us as.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/executor/ExecutorService.html" title="class in org.apache.hadoop.hbase.executor">ExecutorService</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#service">service</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#shortOperationTimeout">shortOperationTimeout</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/util/Sleeper.html" title="class in org.apache.hadoop.hbase.util">Sleeper</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#sleeper">sleeper</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/trace/SpanReceiverHost.html" title="class in org.apache.hadoop.hbase.trace">SpanReceiverHost</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#spanReceiverHost">spanReceiverHost</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/SplitLogWorker.html" title="class in org.apache.hadoop.hbase.regionserver">SplitLogWorker</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#splitLogWorker">splitLogWorker</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#startcode">startcode</a></span></code>
 <div class="block">This servers startcode.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#stopped">stopped</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#stopping">stopping</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/StorefileRefresherChore.html" title="class in org.apache.hadoop.hbase.regionserver">StorefileRefresherChore</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#storefileRefresher">storefileRefresher</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html" title="interface in org.apache.hadoop.hbase">TableDescriptors</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#tableDescriptors">tableDescriptors</a></span></code>
 <div class="block">Go here to get table descriptors.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#TEST_SKIP_REPORTING_TRANSITION">TEST_SKIP_REPORTING_TRANSITION</a></span></code>
 <div class="block">For testing only!  Set to true to skip notifying region assignment to master .</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#threadWakeFrequency">threadWakeFrequency</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#TIMEOUT_REGION_MOVED">TIMEOUT_REGION_MOVED</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.UncaughtExceptionHandler.html?is-external=true" title="class or interface in java.lang">Thread.UncaughtExceptionHandler</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#uncaughtExceptionHandler">uncaughtExceptionHandler</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#UNSPECIFIED_REGION">UNSPECIFIED_REGION</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/security/UserProvider.html" title="class in org.apache.hadoop.hbase.security">UserProvider</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#userProvider">userProvider</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#useThisHostnameInstead">useThisHostnameInstead</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#walFactory">walFactory</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/fs/HFileSystem.html" title="class in org.apache.hadoop.hbase.fs">HFileSystem</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#walFs">walFs</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/LogRoller.html" title="class in org.apache.hadoop.hbase.regionserver">LogRoller</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#walRoller">walRoller</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private org.apache.hadoop.fs.Path</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#walRootDir">walRootDir</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZooKeeperWatcher</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#zooKeeper">zooKeeper</a></span></code>&nbsp;</td>
 </tr>
@@ -2239,13 +2243,26 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 </dl>
 </li>
 </ul>
+<a name="RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY</h4>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.455">RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HRegionServer.RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
 <a name="startcode">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>startcode</h4>
-<pre>protected final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.456">startcode</a></pre>
+<pre>protected final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.461">startcode</a></pre>
 <div class="block">This servers startcode.</div>
 </li>
 </ul>
@@ -2255,7 +2272,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>clusterId</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.461">clusterId</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.466">clusterId</a></pre>
 <div class="block">Unique identifier for the cluster we are a part of.</div>
 </li>
 </ul>
@@ -2265,7 +2282,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>mxBean</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/javax/management/ObjectName.html?is-external=true" title="class or interface in javax.management">ObjectName</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.466">mxBean</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/javax/management/ObjectName.html?is-external=true" title="class or interface in javax.management">ObjectName</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.471">mxBean</a></pre>
 <div class="block">MX Bean for RegionServerInfo</div>
 </li>
 </ul>
@@ -2275,7 +2292,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>movedRegionsCleaner</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer.MovedRegionsCleaner</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.471">movedRegionsCleaner</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer.MovedRegionsCleaner</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.476">movedRegionsCleaner</a></pre>
 <div class="block">Chore to clean periodically the moved region list</div>
 </li>
 </ul>
@@ -2285,7 +2302,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>storefileRefresher</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/StorefileRefresherChore.html" title="class in org.apache.hadoop.hbase.regionserver">StorefileRefresherChore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.474">storefileRefresher</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/StorefileRefresherChore.html" title="class in org.apache.hadoop.hbase.regionserver">StorefileRefresherChore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.479">storefileRefresher</a></pre>
 </li>
 </ul>
 <a name="rsHost">
@@ -2294,7 +2311,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>rsHost</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerCoprocessorHost</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.476">rsHost</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerCoprocessorHost</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.481">rsHost</a></pre>
 </li>
 </ul>
 <a name="rspmHost">
@@ -2303,7 +2320,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>rspmHost</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure/RegionServerProcedureManagerHost.html" title="class in org.apache.hadoop.hbase.procedure">RegionServerProcedureManagerHost</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.478">rspmHost</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure/RegionServerProcedureManagerHost.html" title="class in org.apache.hadoop.hbase.procedure">RegionServerProcedureManagerHost</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.483">rspmHost</a></pre>
 </li>
 </ul>
 <a name="rsQuotaManager">
@@ -2312,7 +2329,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>rsQuotaManager</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/RegionServerRpcQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">RegionServerRpcQuotaManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.480">rsQuotaManager</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/RegionServerRpcQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">RegionServerRpcQuotaManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.485">rsQuotaManager</a></pre>
 </li>
 </ul>
 <a name="rsSpaceQuotaManager">
@@ -2321,7 +2338,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>rsSpaceQuotaManager</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/RegionServerSpaceQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">RegionServerSpaceQuotaManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.481">rsSpaceQuotaManager</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/RegionServerSpaceQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">RegionServerSpaceQuotaManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.486">rsSpaceQuotaManager</a></pre>
 </li>
 </ul>
 <a name="nonceManager">
@@ -2330,7 +2347,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>nonceManager</h4>
-<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ServerNonceManager.html" title="class in org.apache.hadoop.hbase.regionserver">ServerNonceManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.501">nonceManager</a></pre>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ServerNonceManager.html" title="class in org.apache.hadoop.hbase.regionserver">ServerNonceManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.506">nonceManager</a></pre>
 <div class="block">Nonce manager. Nonces are used to make operations like increment and append idempotent
  in the case where client doesn't receive the response from a successful operation and
  retries. We track the successful ops for some time via a nonce sent by client and handle
@@ -2355,7 +2372,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>userProvider</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/UserProvider.html" title="class in org.apache.hadoop.hbase.security">UserProvider</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.503">userProvider</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/UserProvider.html" title="class in org.apache.hadoop.hbase.security">UserProvider</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.508">userProvider</a></pre>
 </li>
 </ul>
 <a name="rpcServices">
@@ -2364,7 +2381,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>rpcServices</h4>
-<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.505">rpcServices</a></pre>
+<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.510">rpcServices</a></pre>
 </li>
 </ul>
 <a name="csm">
@@ -2373,7 +2390,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>csm</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coordination/BaseCoordinatedStateManager.html" title="class in org.apache.hadoop.hbase.coordination">BaseCoordinatedStateManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.507">csm</a></pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coordination/BaseCoordinatedStateManager.html" title="class in org.apache.hadoop.hbase.coordination">BaseCoordinatedStateManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.512">csm</a></pre>
 </li>
 </ul>
 <a name="configurationManager">
@@ -2382,7 +2399,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>configurationManager</h4>
-<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf">ConfigurationManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.513">configurationManager</a></pre>
+<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf">ConfigurationManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.518">configurationManager</a></pre>
 <div class="block">Configuration manager is used to register/deregister and notify the configuration observers
  when the regionserver is notified that there was a change in the on disk configs.</div>
 </li>
@@ -2393,7 +2410,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>compactedFileDischarger</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/CompactedHFilesDischarger.html" title="class in org.apache.hadoop.hbase.regionserver">CompactedHFilesDischarger</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.516">compactedFileDischarger</a></pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/CompactedHFilesDischarger.html" title="class in org.apache.hadoop.hbase.regionserver">CompactedHFilesDischarger</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.521">compactedFileDischarger</a></pre>
 </li>
 </ul>
 <a name="flushThroughputController">
@@ -2402,7 +2419,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>flushThroughputController</h4>
-<pre>private volatile&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/throttle/ThroughputController.html" title="interface in org.apache.hadoop.hbase.regionserver.throttle">ThroughputController</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.518">flushThroughputController</a></pre>
+<pre>private volatile&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/throttle/ThroughputController.html" title="interface in org.apache.hadoop.hbase.regionserver.throttle">ThroughputController</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.523">flushThroughputController</a></pre>
 </li>
 </ul>
 <a name="secureBulkLoadManager">
@@ -2411,7 +2428,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>secureBulkLoadManager</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/SecureBulkLoadManager.html" title="class in org.apache.hadoop.hbase.regionserver">SecureBulkLoadManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.520">secureBulkLoadManager</a></pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/SecureBulkLoadManager.html" title="class in org.apache.hadoop.hbase.regionserver">SecureBulkLoadManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.525">secureBulkLoadManager</a></pre>
 </li>
 </ul>
 <a name="fsUtilizationChore">
@@ -2420,7 +2437,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>fsUtilizationChore</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/FileSystemUtilizationChore.html" title="class in org.apache.hadoop.hbase.quotas">FileSystemUtilizationChore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.522">fsUtilizationChore</a></pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/FileSystemUtilizationChore.html" title="class in org.apache.hadoop.hbase.quotas">FileSystemUtilizationChore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.527">fsUtilizationChore</a></pre>
 </li>
 </ul>
 <a name="UNSPECIFIED_REGION">
@@ -2429,7 +2446,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>UNSPECIFIED_REGION</h4>
-<pre>private static final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2021">UNSPECIFIED_REGION</a></pre>
+<pre>private static final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2036">UNSPECIFIED_REGION</a></pre>
 </li>
 </ul>
 <a name="movedRegions">
@@ -2438,7 +2455,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>movedRegions</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://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="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer.MovedRegionInfo</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3372">movedRegions</a></pre>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://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="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer.MovedRegionInfo</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3387">movedRegions</a></pre>
 </li>
 </ul>
 <a name="TIMEOUT_REGION_MOVED">
@@ -2447,7 +2464,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TIMEOUT_REGION_MOVED</h4>
-<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3377">TIMEOUT_REGION_MOVED</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3392">TIMEOUT_REGION_MOVED</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HRegionServer.TIMEOUT_REGION_MOVED">Constant Field Values</a></dd>
@@ -2468,7 +2485,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>HRegionServer</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.527">HRegionServer</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.532">HRegionServer</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
               throws <a href="http://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="http://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">Starts a HRegionServer at the default location.</div>
@@ -2485,7 +2502,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HRegionServer</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.535">HRegionServer</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.540">HRegionServer</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                      <a href="../../../../../org/apache/hadoop/hbase/CoordinatedStateManager.html" title="interface in org.apache.hadoop.hbase">CoordinatedStateManager</a>&nbsp;csm)
               throws <a href="http://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">Starts a HRegionServer at the default location</div>
@@ -2511,7 +2528,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>initializeFileSystem</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.657">initializeFileSystem</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.672">initializeFileSystem</a>()
                            throws <a href="http://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>
@@ -2525,7 +2542,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>getFsTableDescriptors</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html" title="interface in org.apache.hadoop.hbase">TableDescriptors</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.673">getFsTableDescriptors</a>()
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html" title="interface in org.apache.hadoop.hbase">TableDescriptors</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.688">getFsTableDescriptors</a>()
                                           throws <a href="http://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>
@@ -2539,7 +2556,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>setInitLatch</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.678">setInitLatch</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CountDownLatch.html?is-external=true" title="class or interface in java.util.concurrent">CountDownLatch</a>&nbsp;latch)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.693">setInitLatch</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CountDownLatch.html?is-external=true" title="class or interface in java.util.concurrent">CountDownLatch</a>&nbsp;latch)</pre>
 </li>
 </ul>
 <a name="shouldUseThisHostnameInstead--">
@@ -2548,7 +2565,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>shouldUseThisHostnameInstead</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.685">shouldUseThisHostnameInstead</a>()</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.700">shouldUseThisHostnameInstead</a>()</pre>
 </li>
 </ul>
 <a name="login-org.apache.hadoop.hbase.security.UserProvider-java.lang.String-">
@@ -2557,7 +2574,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>login</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.689">login</a>(<a href="../../../../../org/apache/hadoop/hbase/security/UserProvider.html" title="class in org.apache.hadoop.hbase.security">UserProvider</a>&nbsp;user,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.704">login</a>(<a href="../../../../../org/apache/hadoop/hbase/security/UserProvider.html" title="class in org.apache.hadoop.hbase.security">UserProvider</a>&nbsp;user,
                      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;host)
               throws <a href="http://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>
@@ -2572,7 +2589,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>waitForMasterActive</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.694">waitForMasterActive</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.709">waitForMasterActive</a>()</pre>
 </li>
 </ul>
 <a name="getProcessName--">
@@ -2581,7 +2598,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>getProcessName</h4>
-<pre>protected&nbsp;<a href="http://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/regionserver/HRegionServer.html#line.697">getProcessName</a>()</pre>
+<pre>protected&nbsp;<a href="http://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/regionserver/HRegionServer.html#line.712">getProcessName</a>()</pre>
 </li>
 </ul>
 <a name="canCreateBaseZNode--">
@@ -2590,7 +2607,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>canCreateBaseZNode</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.701">canCreateBaseZNode</a>()</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.716">canCreateBaseZNode</a>()</pre>
 </li>
 </ul>
 <a name="canUpdateTableDescriptor--">
@@ -2599,7 +2616,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>canUpdateTableDescriptor</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.705">canUpdateTableDescriptor</a>()</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.720">canUpdateTableDescriptor</a>()</pre>
 </li>
 </ul>
 <a name="createRpcServices--">
@@ -2608,7 +2625,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>createRpcServices</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.709">createRpcServices</a>()
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.724">createRpcServices</a>()
                                    throws <a href="http://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>
@@ -2622,7 +2639,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>configureInfoServer</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.713">configureInfoServer</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.728">configureInfoServer</a>()</pre>
 </li>
 </ul>
 <a name="getDumpServlet--">
@@ -2631,7 +2648,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>getDumpServlet</h4>
-<pre>protected&nbsp;<a href="http://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 javax.servlet.http.HttpServlet&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.718">getDumpServlet</a>()</pre>
+<pre>protected&nbsp;<a href="http://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 javax.servlet.http.HttpServlet&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.733">getDumpServlet</a>()</pre>
 </li>
 </ul>
 <a name="registerService-com.google.protobuf.Service-">
@@ -2640,7 +2657,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>registerService</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.723">registerService</a>(com.google.protobuf.Service&nbsp;instance)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.738">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>
@@ -2660,7 +2677,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>createClusterConnection</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">ClusterConnection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.750">createClusterConnection</a>()
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">ClusterConnection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.765">createClusterConnection</a>()
                                              throws <a href="http://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">Create a 'smarter' Connection, one that is capable of by-passing RPC if the request is to
  the local server. Safe to use going to local or remote server.
@@ -2677,7 +2694,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>checkCodecs</h4>
-<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.763">checkCodecs</a>(org.apache.hadoop.conf.Configuration&nbsp;c)
+<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.778">checkCodecs</a>(org.apache.hadoop.conf.Configuration&nbsp;c)
                          throws <a href="http://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">Run test on configured codecs to make sure supporting libs are in place.</div>
 <dl>
@@ -2694,7 +2711,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>getClusterId</h4>
-<pre>public&nbsp;<a href="http://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/regionserver/HRegionServer.html#line.775">getClusterId</a>()</pre>
+<pre>public&nbsp;<a href="http://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/regionserver/HRegionServer.html#line.790">getClusterId</a>()</pre>
 </li>
 </ul>
 <a name="setupClusterConnection--">
@@ -2703,7 +2720,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>setupClusterConnection</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.783">setupClusterConnection</a>()
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.798">setupClusterConnection</a>()
                                throws <a href="http://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">Setup our cluster connection if not already initialized.</div>
 <dl>
@@ -2718,7 +2735,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>preRegistrationInitialization</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.796">preRegistrationInitialization</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.811">preRegistrationInitialization</a>()</pre>
 <div class="block">All initialization needed before we go register with Master.</div>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -2733,7 +2750,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>initializeZooKeeper</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.832">initializeZooKeeper</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.847">initializeZooKeeper</a>()
                           throws <a href="http://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="http://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">Bring up connection to zk ensemble and then wait until a master for this
@@ -2753,7 +2770,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>doLatch</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.880">doLatch</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CountDownLatch.html?is-external=true" title="class or interface in java.util.concurrent">CountDownLatch</a>&nbsp;latch)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.895">doLatch</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CountDownLatch.html?is-external=true" title="class or interface in java.util.concurrent">CountDownLatch</a>&nbsp;latch)
               throws <a href="http://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="throwsLabel">Throws:</span></dt>
@@ -2767,7 +2784,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>blockAndCheckIfStopped</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.895">blockAndCheckIfStopped</a>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZooKeeperNodeTracker.html" title="class in org.apache.hadoop.hbase.zookeeper">ZooKeeperNodeTracker</a>&nbsp;tracker)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.910">blockAndCheckIfStopped</a>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZooKeeperNodeTracker.html" title="class in org.apache.hadoop.hbase.zookeeper">ZooKeeperNodeTracker</a>&nbsp;tracker)
                              throws <a href="http://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="http://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">Utilty method to wait indefinitely on a znode availability while checking
@@ -2787,7 +2804,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>isClusterUp</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.907">isClusterUp</a>()</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.922">isClusterUp</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>False if cluster shutdown in progress</dd>
@@ -2800,7 +2817,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>initializeThreads</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.911">initializeThreads</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.926">initializeThreads</a>()
                         throws <a href="http://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>
@@ -2814,7 +2831,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>registerConfigurationObservers</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.961">registerConfigurationObservers</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.976">registerConfigurationObservers</a>()</pre>
 </li>
 </ul>
 <a name="run--">
@@ -2823,7 +2840,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.972">run</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.987">run</a>()</pre>
 <div class="block">The HRegionServer sticks in this loop until closed.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -2839,7 +2856,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>containsMetaTableRegions</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1200">containsMetaTableRegions</a>()</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1215">containsMetaTableRegions</a>()</pre>
 </li>
 </ul>
 <a name="areAllUserRegionsOffline--">
@@ -2848,7 +2865,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>areAllUserRegionsOffline</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1204">areAllUserRegionsOffline</a>()</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1219">areAllUserRegionsOffline</a>()</pre>
 </li>
 </ul>
 <a name="getWriteRequestCount--">
@@ -2857,7 +2874,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>getWriteRequestCount</h4>
-<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1219">getWriteRequestCount</a>()</pre>
+<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1234">getWriteRequestCount</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>Current write count for all online regions.</dd>
@@ -2870,7 +2887,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>tryRegionServerReport</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1228">tryRegionServerReport</a>(long&nbsp;reportStartTime,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1243">tryRegionServerReport</a>(long&nbsp;reportStartTime,
                                      long&nbsp;reportEndTime)
                               throws <a href="http://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>
@@ -2885,7 +2902,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>reportRegionSizesForQuotas</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1264">reportRegionSizesForQuotas</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;onlineRegionSizes)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1279">reportRegionSizesForQuotas</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;onlineRegionSizes)</pre>
 <div class="block">Reports the given map of Regions and their size on the filesystem to the active Master.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -2901,7 +2918,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>buildRegionSpaceUseReportRequest</h4>
-<pre>org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionSpaceUseReportRequest&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1308">buildRegionSpaceUseReportRequest</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;regionSizes)</pre>
+<pre>org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionSpaceUseReportRequest&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1323">buildRegionSpaceUseReportRequest</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;regionSizes)</pre>
 <div class="block">Builds a <code>RegionServerStatusProtos.RegionSpaceUseReportRequest</code> protobuf message from the region size map.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -2917,7 +2934,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>convertRegionSize</h4>
-<pre>org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionSpaceUse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1324">convertRegionSize</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;regionInfo,
+<pre>org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionSpaceUse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1339">convertRegionSize</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;regionInfo,
                                                                                                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;sizeInBytes)</pre>
 <div class="block">Converts a pair of <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase"><code>HRegionInfo</code></a> and <code>long</code> into a <code>RegionServerStatusProtos.RegionSpaceUse</code>
  protobuf message.</div>
@@ -2936,7 +2953,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>buildServerLoad</h4>
-<pre>org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.ServerLoad&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1331">buildServerLoad</a>(long&nbsp;reportStartTime,
+<pre>org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.ServerLoad&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1346">buildServerLoad</a>(long&nbsp;reportStartTime,
                                                                                                  long&nbsp;reportEndTime)
                                                                                           throws <a href="http://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>
@@ -2951,7 +2968,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>getOnlineRegionsAsPrintableString</h4>
-<pre><a href="http://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/regionserver/HRegionServer.html#line.1403">getOnlineRegionsAsPrintableString</a>()</pre>
+<pre><a href="http://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/regionserver/HRegionServer.html#line.1418">getOnlineRegionsAsPrintableString</a>()</pre>
 </li>
 </ul>
 <a name="waitOnAllRegionsToClose-boolean-">
@@ -2960,7 +2977,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>waitOnAllRegionsToClose</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1415">waitOnAllRegionsToClose</a>(boolean&nbsp;abort)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1430">waitOnAllRegionsToClose</a>(boolean&nbsp;abort)</pre>
 <div class="block">Wait on regions close.</div>
 </li>
 </ul>
@@ -2970,7 +2987,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>sleep</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1469">sleep</a>(long&nbsp;millis)</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1484">sleep</a>(long&nbsp;millis)</pre>
 </li>
 </ul>
 <a name="shutdownWAL-boolean-">
@@ -2979,7 +2996,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>shutdownWAL</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1480">shutdownWAL</a>(boolean&nbsp;close)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1495">shutdownWAL</a>(boolean&nbsp;close)</pre>
 </li>
 </ul>
 <a name="handleReportForDutyResponse-org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerStartupResponse-">
@@ -2988,7 +3005,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>handleReportForDutyResponse</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1501">handleReportForDutyResponse</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerStartupResponse&nbsp;c)
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1516">handleReportForDutyResponse</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerStartupResponse&nbsp;c)
                                     throws <a href="http://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>
@@ -3002,7 +3019,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>initializeMemStoreChunkCreator</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1589">initializeMemStoreChunkCreator</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1604">initializeMemStoreChunkCreator</a>()</pre>
 </li>
 </ul>
 <a name="startHeapMemoryManager--">
@@ -3011,7 +3028,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>startHeapMemoryManager</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1610">startHeapMemoryManager</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1625">startHeapMemoryManager</a>()</pre>
 </li>
 </ul>
 <a name="createMyEphemeralNode--">
@@ -3020,7 +3037,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>createMyEphemeralNode</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1618">createMyEphemeralNode</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1633">createMyEphemeralNode</a>()
                             throws org.apache.zookeeper.KeeperException,
                                    <a href="http://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>
@@ -3036,7 +3053,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteMyEphemeralNode</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1627">deleteMyEphemeralNode</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1642">deleteMyEphemeralNode</a>()
                             throws org.apache.zookeeper.KeeperException</pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -3050,7 +3067,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionServerAccounting</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerAccounting.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerAccounting</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1632">getRegionServerAccounting</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerAccounting.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerAccounting</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1647">getRegionServerAccounting</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getRegionServerAccounting--">getRegionServerAccounting</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a></code></dd>
@@ -3065,7 +3082,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>createRegionLoad</h4>
-<pre>org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.RegionLoad&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1644">createRegionLoad</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;r,
+<pre>org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.RegionLoad&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1659">createRegionLoad</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;r,
                                                                                                   org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.RegionLoad.Builder&nbsp;regionLoadBldr,
                                                                                                   org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.Builder&nbsp;regionSpecifier)
                                                                                            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -3081,7 +3098,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>createRegionLoad</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.RegionLoad&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1711">createRegionLoad</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;encodedRegionName)
+<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.RegionLoad&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1726">createRegionLoad</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;encodedRegionName)
                                                                                                   throws <a href="http://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="paramLabel">Parameters:</span></dt>
@@ -3099,7 +3116,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>isOnline</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1815">isOnline</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1830">isOnline</a>()</pre>
 <div class="block">Report the status of the server. A server is online once all the startup is
  completed (setting up filesystem, starting service threads, etc.). This
  method is designed mostly to be useful in tests.</div>
@@ -3115,7 +3132,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>setupWALAndReplication</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1825">setupWALAndReplication</a>()
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1840">setupWALAndReplication</a>()
                                    throws <a href="http://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">Setup WAL log and replication if enabled.
  Replication setup is done in here because it wants to be hooked up to WAL.</div>
@@ -3133,7 +3150,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionServerMetrics</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionServer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1853">getRegionServerMetrics</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionServer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1868">getRegionServerMetrics</a>()</pre>
 </li>
 </ul>
 <a name="getMasterAddressTracker--">
@@ -3142,7 +3159,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterAddressTracker</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html" title="class in org.apache.hadoop.hbase.zookeeper">MasterAddressTracker</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1860">getMasterAddressTracker</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html" title="class in org.apache.hadoop.hbase.zookeeper">MasterAddressTracker</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1875">getMasterAddressTracker</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>Master address tracker instance.</dd>
@@ -3155,7 +3172,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>startServiceThreads</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1876">startServiceThreads</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1891">startServiceThreads</a>()
                           throws <a href="http://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>
@@ -3169,7 +3186,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>putUpWebUI</h4>
-<pre>private&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1951">putUpWebUI</a>()
+<pre>private&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1966">putUpWebUI</a>()
                 throws <a href="http://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">Puts up the webui.</div>
 <dl>
@@ -3186,7 +3203,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>isHealthy</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2005">isHealthy</a>()</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2020">isHealthy</a>()</pre>
 </li>
 </ul>
 <a name="getWALs--">
@@ -3195,7 +3212,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>getWALs</h4>
-<pre>public&nbsp;<a href="http://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/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2024">getWALs</a>()
+<pre>public&nbsp;<a href="http://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/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2039">getWALs</a>()
                   throws <a href="http://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>
@@ -3214,7 +3231,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>getWAL</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2029">getWAL</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;regionInfo)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2044">getWAL</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;regionInfo)
            throws <a href="http://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>
@@ -3233,7 +3250,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>getWalRoller</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/LogRoller.html" title="class in org.apache.hadoop.hbase.regionserver">LogRoller</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2045">getWalRoller</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/LogRoller.html" title="class in org.apache.hadoop.hbase.regionserver">LogRoller</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2060">getWalRoller</a>()</pre>
 </li>
 </ul>
 <a name="getConnection--">
@@ -3242,7 +3259,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>getConnection</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2050">getConnection</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2065">getConnection</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Server.html#getConnection--">Server</a></code></span></div>
 <div class="block">Returns a reference to the servers' connection.
 
@@ -3260,7 +3277,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>getClusterConnection</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">ClusterConnection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2055">getClusterConnection</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">ClusterConnection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2070">getClusterConnection</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Server.html#getClusterConnection--">Server</a></code></span></div>
 <div class="block">Returns a reference to the servers' cluster connection. Prefer <a href="../../../../../org/apache/hadoop/hbase/Server.html#getConnection--"><code>Server.getConnection()</code></a>.
 
@@ -3278,7 +3295,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>getMetaTableLocator</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/zookeeper/MetaTableLocator.html" title="class in org.apache.hadoop.hbase.zookeeper">MetaTableLocator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2060">getMetaTableLocator</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/zookeeper/MetaTableLocator.html" title="class in org.apache.hadoop.hbase.zookeeper">MetaTableLocator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2075">getMetaTableLocator</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Server.html#getMetaTableLocator--">Server</a></code></span></div>
 <div class="block">Returns instance of <a href="../../../../../org/apache/hadoop/hbase/zookeeper/MetaTableLocator.html" title="class in org.apache.hadoop.hbase.zookeeper"><code>MetaTableLocator</code></a>
  running inside this server. This MetaServerLocator is started and stopped by server, clients
@@ -3297,7 +3314,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>stop</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2065">stop</a>(<a href="http://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/regionserver/HRegionServer.html#line.2080">stop</a>(<a href="http://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>
@@ -3315,7 +3332,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>stop</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2075">stop</a>(<a href="http://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>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2090">stop</a>(<a href="http://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,
                  boolean&nbsp;force,
                  <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)</pre>
 <div class="block">Stops the regionserver.</div>
@@ -3333,7 +3350,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>waitForServerOnline</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2097">waitForServerOnline</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2112">waitForServerOnline</a>()</pre>
 </li>
 </ul>
 <a name="postOpenDeployTasks-org.apache.hadoop.hbase.regionserver.Region-">
@@ -3342,7 +3359,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>postOpenDeployTasks</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2111">postOpenDeployTasks</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;r)
+<pre>public&nbsp;void&nbsp;

<TRUNCATED>

[05/26] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
index e8eb593..cbf38e0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
@@ -69,15 +69,15 @@
 <span class="sourceLineNo">061</span>  requiredArguments = {<a name="line.61"></a>
 <span class="sourceLineNo">062</span>    @org.jamon.annotations.Argument(name = "master", type = "HMaster")},<a name="line.62"></a>
 <span class="sourceLineNo">063</span>  optionalArguments = {<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    @org.jamon.annotations.Argument(name = "frags", type = "Map&lt;String,Integer&gt;"),<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    @org.jamon.annotations.Argument(name = "servers", type = "List&lt;ServerName&gt;"),<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    @org.jamon.annotations.Argument(name = "deadServers", type = "Set&lt;ServerName&gt;"),<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.70"></a>
+<span class="sourceLineNo">064</span>    @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.65"></a>
+<span class="sourceLineNo">066</span>    @org.jamon.annotations.Argument(name = "deadServers", type = "Set&lt;ServerName&gt;"),<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    @org.jamon.annotations.Argument(name = "frags", type = "Map&lt;String,Integer&gt;"),<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    @org.jamon.annotations.Argument(name = "servers", type = "List&lt;ServerName&gt;"),<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    @org.jamon.annotations.Argument(name = "serverManager", type = "ServerManager"),<a name="line.70"></a>
 <span class="sourceLineNo">071</span>    @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean"),<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    @org.jamon.annotations.Argument(name = "serverManager", type = "ServerManager")})<a name="line.72"></a>
+<span class="sourceLineNo">072</span>    @org.jamon.annotations.Argument(name = "format", type = "String")})<a name="line.72"></a>
 <span class="sourceLineNo">073</span>public class MasterStatusTmpl<a name="line.73"></a>
 <span class="sourceLineNo">074</span>  extends org.jamon.AbstractTemplateProxy<a name="line.74"></a>
 <span class="sourceLineNo">075</span>{<a name="line.75"></a>
@@ -118,125 +118,125 @@
 <span class="sourceLineNo">110</span>      return m_master;<a name="line.110"></a>
 <span class="sourceLineNo">111</span>    }<a name="line.111"></a>
 <span class="sourceLineNo">112</span>    private HMaster m_master;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    // 26, 1<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    public void setFilter(String filter)<a name="line.114"></a>
+<span class="sourceLineNo">113</span>    // 29, 1<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.114"></a>
 <span class="sourceLineNo">115</span>    {<a name="line.115"></a>
-<span class="sourceLineNo">116</span>      // 26, 1<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      m_filter = filter;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      m_filter__IsNotDefault = true;<a name="line.118"></a>
+<span class="sourceLineNo">116</span>      // 29, 1<a name="line.116"></a>
+<span class="sourceLineNo">117</span>      m_assignmentManager = assignmentManager;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      m_assignmentManager__IsNotDefault = true;<a name="line.118"></a>
 <span class="sourceLineNo">119</span>    }<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    public String getFilter()<a name="line.120"></a>
+<span class="sourceLineNo">120</span>    public AssignmentManager getAssignmentManager()<a name="line.120"></a>
 <span class="sourceLineNo">121</span>    {<a name="line.121"></a>
-<span class="sourceLineNo">122</span>      return m_filter;<a name="line.122"></a>
+<span class="sourceLineNo">122</span>      return m_assignmentManager;<a name="line.122"></a>
 <span class="sourceLineNo">123</span>    }<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    private String m_filter;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    public boolean getFilter__IsNotDefault()<a name="line.125"></a>
+<span class="sourceLineNo">124</span>    private AssignmentManager m_assignmentManager;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    public boolean getAssignmentManager__IsNotDefault()<a name="line.125"></a>
 <span class="sourceLineNo">126</span>    {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      return m_filter__IsNotDefault;<a name="line.127"></a>
+<span class="sourceLineNo">127</span>      return m_assignmentManager__IsNotDefault;<a name="line.127"></a>
 <span class="sourceLineNo">128</span>    }<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    private boolean m_filter__IsNotDefault;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    // 21, 1<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    public void setFrags(Map&lt;String,Integer&gt; frags)<a name="line.131"></a>
+<span class="sourceLineNo">129</span>    private boolean m_assignmentManager__IsNotDefault;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    // 22, 1<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    public void setMetaLocation(ServerName metaLocation)<a name="line.131"></a>
 <span class="sourceLineNo">132</span>    {<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      // 21, 1<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      m_frags = frags;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      m_frags__IsNotDefault = true;<a name="line.135"></a>
+<span class="sourceLineNo">133</span>      // 22, 1<a name="line.133"></a>
+<span class="sourceLineNo">134</span>      m_metaLocation = metaLocation;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      m_metaLocation__IsNotDefault = true;<a name="line.135"></a>
 <span class="sourceLineNo">136</span>    }<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    public Map&lt;String,Integer&gt; getFrags()<a name="line.137"></a>
+<span class="sourceLineNo">137</span>    public ServerName getMetaLocation()<a name="line.137"></a>
 <span class="sourceLineNo">138</span>    {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>      return m_frags;<a name="line.139"></a>
+<span class="sourceLineNo">139</span>      return m_metaLocation;<a name="line.139"></a>
 <span class="sourceLineNo">140</span>    }<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    private Map&lt;String,Integer&gt; m_frags;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    public boolean getFrags__IsNotDefault()<a name="line.142"></a>
+<span class="sourceLineNo">141</span>    private ServerName m_metaLocation;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    public boolean getMetaLocation__IsNotDefault()<a name="line.142"></a>
 <span class="sourceLineNo">143</span>    {<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      return m_frags__IsNotDefault;<a name="line.144"></a>
+<span class="sourceLineNo">144</span>      return m_metaLocation__IsNotDefault;<a name="line.144"></a>
 <span class="sourceLineNo">145</span>    }<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    private boolean m_frags__IsNotDefault;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    // 23, 1<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    public void setServers(List&lt;ServerName&gt; servers)<a name="line.148"></a>
+<span class="sourceLineNo">146</span>    private boolean m_metaLocation__IsNotDefault;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    // 24, 1<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    public void setDeadServers(Set&lt;ServerName&gt; deadServers)<a name="line.148"></a>
 <span class="sourceLineNo">149</span>    {<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      // 23, 1<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      m_servers = servers;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>      m_servers__IsNotDefault = true;<a name="line.152"></a>
+<span class="sourceLineNo">150</span>      // 24, 1<a name="line.150"></a>
+<span class="sourceLineNo">151</span>      m_deadServers = deadServers;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>      m_deadServers__IsNotDefault = true;<a name="line.152"></a>
 <span class="sourceLineNo">153</span>    }<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    public List&lt;ServerName&gt; getServers()<a name="line.154"></a>
+<span class="sourceLineNo">154</span>    public Set&lt;ServerName&gt; getDeadServers()<a name="line.154"></a>
 <span class="sourceLineNo">155</span>    {<a name="line.155"></a>
-<span class="sourceLineNo">156</span>      return m_servers;<a name="line.156"></a>
+<span class="sourceLineNo">156</span>      return m_deadServers;<a name="line.156"></a>
 <span class="sourceLineNo">157</span>    }<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    private List&lt;ServerName&gt; m_servers;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    public boolean getServers__IsNotDefault()<a name="line.159"></a>
+<span class="sourceLineNo">158</span>    private Set&lt;ServerName&gt; m_deadServers;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    public boolean getDeadServers__IsNotDefault()<a name="line.159"></a>
 <span class="sourceLineNo">160</span>    {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>      return m_servers__IsNotDefault;<a name="line.161"></a>
+<span class="sourceLineNo">161</span>      return m_deadServers__IsNotDefault;<a name="line.161"></a>
 <span class="sourceLineNo">162</span>    }<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    private boolean m_servers__IsNotDefault;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    // 24, 1<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    public void setDeadServers(Set&lt;ServerName&gt; deadServers)<a name="line.165"></a>
+<span class="sourceLineNo">163</span>    private boolean m_deadServers__IsNotDefault;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    // 21, 1<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    public void setFrags(Map&lt;String,Integer&gt; frags)<a name="line.165"></a>
 <span class="sourceLineNo">166</span>    {<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      // 24, 1<a name="line.167"></a>
-<span class="sourceLineNo">168</span>      m_deadServers = deadServers;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>      m_deadServers__IsNotDefault = true;<a name="line.169"></a>
+<span class="sourceLineNo">167</span>      // 21, 1<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      m_frags = frags;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>      m_frags__IsNotDefault = true;<a name="line.169"></a>
 <span class="sourceLineNo">170</span>    }<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    public Set&lt;ServerName&gt; getDeadServers()<a name="line.171"></a>
+<span class="sourceLineNo">171</span>    public Map&lt;String,Integer&gt; getFrags()<a name="line.171"></a>
 <span class="sourceLineNo">172</span>    {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      return m_deadServers;<a name="line.173"></a>
+<span class="sourceLineNo">173</span>      return m_frags;<a name="line.173"></a>
 <span class="sourceLineNo">174</span>    }<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    private Set&lt;ServerName&gt; m_deadServers;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    public boolean getDeadServers__IsNotDefault()<a name="line.176"></a>
+<span class="sourceLineNo">175</span>    private Map&lt;String,Integer&gt; m_frags;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    public boolean getFrags__IsNotDefault()<a name="line.176"></a>
 <span class="sourceLineNo">177</span>    {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      return m_deadServers__IsNotDefault;<a name="line.178"></a>
+<span class="sourceLineNo">178</span>      return m_frags__IsNotDefault;<a name="line.178"></a>
 <span class="sourceLineNo">179</span>    }<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    private boolean m_deadServers__IsNotDefault;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    // 27, 1<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    public void setFormat(String format)<a name="line.182"></a>
+<span class="sourceLineNo">180</span>    private boolean m_frags__IsNotDefault;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    // 26, 1<a name="line.181"></a>
+<span class="sourceLineNo">182</span>    public void setFilter(String filter)<a name="line.182"></a>
 <span class="sourceLineNo">183</span>    {<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      // 27, 1<a name="line.184"></a>
-<span class="sourceLineNo">185</span>      m_format = format;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>      m_format__IsNotDefault = true;<a name="line.186"></a>
+<span class="sourceLineNo">184</span>      // 26, 1<a name="line.184"></a>
+<span class="sourceLineNo">185</span>      m_filter = filter;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>      m_filter__IsNotDefault = true;<a name="line.186"></a>
 <span class="sourceLineNo">187</span>    }<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    public String getFormat()<a name="line.188"></a>
+<span class="sourceLineNo">188</span>    public String getFilter()<a name="line.188"></a>
 <span class="sourceLineNo">189</span>    {<a name="line.189"></a>
-<span class="sourceLineNo">190</span>      return m_format;<a name="line.190"></a>
+<span class="sourceLineNo">190</span>      return m_filter;<a name="line.190"></a>
 <span class="sourceLineNo">191</span>    }<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    private String m_format;<a name="line.192"></a>
-<span class="sourceLineNo">193</span>    public boolean getFormat__IsNotDefault()<a name="line.193"></a>
+<span class="sourceLineNo">192</span>    private String m_filter;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    public boolean getFilter__IsNotDefault()<a name="line.193"></a>
 <span class="sourceLineNo">194</span>    {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>      return m_format__IsNotDefault;<a name="line.195"></a>
+<span class="sourceLineNo">195</span>      return m_filter__IsNotDefault;<a name="line.195"></a>
 <span class="sourceLineNo">196</span>    }<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    private boolean m_format__IsNotDefault;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    // 22, 1<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    public void setMetaLocation(ServerName metaLocation)<a name="line.199"></a>
+<span class="sourceLineNo">197</span>    private boolean m_filter__IsNotDefault;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    // 23, 1<a name="line.198"></a>
+<span class="sourceLineNo">199</span>    public void setServers(List&lt;ServerName&gt; servers)<a name="line.199"></a>
 <span class="sourceLineNo">200</span>    {<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      // 22, 1<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      m_metaLocation = metaLocation;<a name="line.202"></a>
-<span class="sourceLineNo">203</span>      m_metaLocation__IsNotDefault = true;<a name="line.203"></a>
+<span class="sourceLineNo">201</span>      // 23, 1<a name="line.201"></a>
+<span class="sourceLineNo">202</span>      m_servers = servers;<a name="line.202"></a>
+<span class="sourceLineNo">203</span>      m_servers__IsNotDefault = true;<a name="line.203"></a>
 <span class="sourceLineNo">204</span>    }<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    public ServerName getMetaLocation()<a name="line.205"></a>
+<span class="sourceLineNo">205</span>    public List&lt;ServerName&gt; getServers()<a name="line.205"></a>
 <span class="sourceLineNo">206</span>    {<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      return m_metaLocation;<a name="line.207"></a>
+<span class="sourceLineNo">207</span>      return m_servers;<a name="line.207"></a>
 <span class="sourceLineNo">208</span>    }<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    private ServerName m_metaLocation;<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    public boolean getMetaLocation__IsNotDefault()<a name="line.210"></a>
+<span class="sourceLineNo">209</span>    private List&lt;ServerName&gt; m_servers;<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    public boolean getServers__IsNotDefault()<a name="line.210"></a>
 <span class="sourceLineNo">211</span>    {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>      return m_metaLocation__IsNotDefault;<a name="line.212"></a>
+<span class="sourceLineNo">212</span>      return m_servers__IsNotDefault;<a name="line.212"></a>
 <span class="sourceLineNo">213</span>    }<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    private boolean m_metaLocation__IsNotDefault;<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    // 29, 1<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.216"></a>
+<span class="sourceLineNo">214</span>    private boolean m_servers__IsNotDefault;<a name="line.214"></a>
+<span class="sourceLineNo">215</span>    // 28, 1<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    public void setServerManager(ServerManager serverManager)<a name="line.216"></a>
 <span class="sourceLineNo">217</span>    {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      // 29, 1<a name="line.218"></a>
-<span class="sourceLineNo">219</span>      m_assignmentManager = assignmentManager;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      m_assignmentManager__IsNotDefault = true;<a name="line.220"></a>
+<span class="sourceLineNo">218</span>      // 28, 1<a name="line.218"></a>
+<span class="sourceLineNo">219</span>      m_serverManager = serverManager;<a name="line.219"></a>
+<span class="sourceLineNo">220</span>      m_serverManager__IsNotDefault = true;<a name="line.220"></a>
 <span class="sourceLineNo">221</span>    }<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    public AssignmentManager getAssignmentManager()<a name="line.222"></a>
+<span class="sourceLineNo">222</span>    public ServerManager getServerManager()<a name="line.222"></a>
 <span class="sourceLineNo">223</span>    {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      return m_assignmentManager;<a name="line.224"></a>
+<span class="sourceLineNo">224</span>      return m_serverManager;<a name="line.224"></a>
 <span class="sourceLineNo">225</span>    }<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    private AssignmentManager m_assignmentManager;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    public boolean getAssignmentManager__IsNotDefault()<a name="line.227"></a>
+<span class="sourceLineNo">226</span>    private ServerManager m_serverManager;<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    public boolean getServerManager__IsNotDefault()<a name="line.227"></a>
 <span class="sourceLineNo">228</span>    {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>      return m_assignmentManager__IsNotDefault;<a name="line.229"></a>
+<span class="sourceLineNo">229</span>      return m_serverManager__IsNotDefault;<a name="line.229"></a>
 <span class="sourceLineNo">230</span>    }<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    private boolean m_assignmentManager__IsNotDefault;<a name="line.231"></a>
+<span class="sourceLineNo">231</span>    private boolean m_serverManager__IsNotDefault;<a name="line.231"></a>
 <span class="sourceLineNo">232</span>    // 25, 1<a name="line.232"></a>
 <span class="sourceLineNo">233</span>    public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.233"></a>
 <span class="sourceLineNo">234</span>    {<a name="line.234"></a>
@@ -254,23 +254,23 @@
 <span class="sourceLineNo">246</span>      return m_catalogJanitorEnabled__IsNotDefault;<a name="line.246"></a>
 <span class="sourceLineNo">247</span>    }<a name="line.247"></a>
 <span class="sourceLineNo">248</span>    private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    // 28, 1<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    public void setServerManager(ServerManager serverManager)<a name="line.250"></a>
+<span class="sourceLineNo">249</span>    // 27, 1<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    public void setFormat(String format)<a name="line.250"></a>
 <span class="sourceLineNo">251</span>    {<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      // 28, 1<a name="line.252"></a>
-<span class="sourceLineNo">253</span>      m_serverManager = serverManager;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>      m_serverManager__IsNotDefault = true;<a name="line.254"></a>
+<span class="sourceLineNo">252</span>      // 27, 1<a name="line.252"></a>
+<span class="sourceLineNo">253</span>      m_format = format;<a name="line.253"></a>
+<span class="sourceLineNo">254</span>      m_format__IsNotDefault = true;<a name="line.254"></a>
 <span class="sourceLineNo">255</span>    }<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    public ServerManager getServerManager()<a name="line.256"></a>
+<span class="sourceLineNo">256</span>    public String getFormat()<a name="line.256"></a>
 <span class="sourceLineNo">257</span>    {<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      return m_serverManager;<a name="line.258"></a>
+<span class="sourceLineNo">258</span>      return m_format;<a name="line.258"></a>
 <span class="sourceLineNo">259</span>    }<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    private ServerManager m_serverManager;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>    public boolean getServerManager__IsNotDefault()<a name="line.261"></a>
+<span class="sourceLineNo">260</span>    private String m_format;<a name="line.260"></a>
+<span class="sourceLineNo">261</span>    public boolean getFormat__IsNotDefault()<a name="line.261"></a>
 <span class="sourceLineNo">262</span>    {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>      return m_serverManager__IsNotDefault;<a name="line.263"></a>
+<span class="sourceLineNo">263</span>      return m_format__IsNotDefault;<a name="line.263"></a>
 <span class="sourceLineNo">264</span>    }<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    private boolean m_serverManager__IsNotDefault;<a name="line.265"></a>
+<span class="sourceLineNo">265</span>    private boolean m_format__IsNotDefault;<a name="line.265"></a>
 <span class="sourceLineNo">266</span>  }<a name="line.266"></a>
 <span class="sourceLineNo">267</span>  @Override<a name="line.267"></a>
 <span class="sourceLineNo">268</span>  protected org.jamon.AbstractTemplateProxy.ImplData makeImplData()<a name="line.268"></a>
@@ -282,52 +282,52 @@
 <span class="sourceLineNo">274</span>    return (ImplData) super.getImplData();<a name="line.274"></a>
 <span class="sourceLineNo">275</span>  }<a name="line.275"></a>
 <span class="sourceLineNo">276</span>  <a name="line.276"></a>
-<span class="sourceLineNo">277</span>  protected String filter;<a name="line.277"></a>
-<span class="sourceLineNo">278</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.278"></a>
+<span class="sourceLineNo">277</span>  protected AssignmentManager assignmentManager;<a name="line.277"></a>
+<span class="sourceLineNo">278</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.278"></a>
 <span class="sourceLineNo">279</span>  {<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    (getImplData()).setFilter(p_filter);<a name="line.280"></a>
+<span class="sourceLineNo">280</span>    (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.280"></a>
 <span class="sourceLineNo">281</span>    return this;<a name="line.281"></a>
 <span class="sourceLineNo">282</span>  }<a name="line.282"></a>
 <span class="sourceLineNo">283</span>  <a name="line.283"></a>
-<span class="sourceLineNo">284</span>  protected Map&lt;String,Integer&gt; frags;<a name="line.284"></a>
-<span class="sourceLineNo">285</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map&lt;String,Integer&gt; p_frags)<a name="line.285"></a>
+<span class="sourceLineNo">284</span>  protected ServerName metaLocation;<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.285"></a>
 <span class="sourceLineNo">286</span>  {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    (getImplData()).setFrags(p_frags);<a name="line.287"></a>
+<span class="sourceLineNo">287</span>    (getImplData()).setMetaLocation(p_metaLocation);<a name="line.287"></a>
 <span class="sourceLineNo">288</span>    return this;<a name="line.288"></a>
 <span class="sourceLineNo">289</span>  }<a name="line.289"></a>
 <span class="sourceLineNo">290</span>  <a name="line.290"></a>
-<span class="sourceLineNo">291</span>  protected List&lt;ServerName&gt; servers;<a name="line.291"></a>
-<span class="sourceLineNo">292</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List&lt;ServerName&gt; p_servers)<a name="line.292"></a>
+<span class="sourceLineNo">291</span>  protected Set&lt;ServerName&gt; deadServers;<a name="line.291"></a>
+<span class="sourceLineNo">292</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set&lt;ServerName&gt; p_deadServers)<a name="line.292"></a>
 <span class="sourceLineNo">293</span>  {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    (getImplData()).setServers(p_servers);<a name="line.294"></a>
+<span class="sourceLineNo">294</span>    (getImplData()).setDeadServers(p_deadServers);<a name="line.294"></a>
 <span class="sourceLineNo">295</span>    return this;<a name="line.295"></a>
 <span class="sourceLineNo">296</span>  }<a name="line.296"></a>
 <span class="sourceLineNo">297</span>  <a name="line.297"></a>
-<span class="sourceLineNo">298</span>  protected Set&lt;ServerName&gt; deadServers;<a name="line.298"></a>
-<span class="sourceLineNo">299</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set&lt;ServerName&gt; p_deadServers)<a name="line.299"></a>
+<span class="sourceLineNo">298</span>  protected Map&lt;String,Integer&gt; frags;<a name="line.298"></a>
+<span class="sourceLineNo">299</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map&lt;String,Integer&gt; p_frags)<a name="line.299"></a>
 <span class="sourceLineNo">300</span>  {<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    (getImplData()).setDeadServers(p_deadServers);<a name="line.301"></a>
+<span class="sourceLineNo">301</span>    (getImplData()).setFrags(p_frags);<a name="line.301"></a>
 <span class="sourceLineNo">302</span>    return this;<a name="line.302"></a>
 <span class="sourceLineNo">303</span>  }<a name="line.303"></a>
 <span class="sourceLineNo">304</span>  <a name="line.304"></a>
-<span class="sourceLineNo">305</span>  protected String format;<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.306"></a>
+<span class="sourceLineNo">305</span>  protected String filter;<a name="line.305"></a>
+<span class="sourceLineNo">306</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.306"></a>
 <span class="sourceLineNo">307</span>  {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    (getImplData()).setFormat(p_format);<a name="line.308"></a>
+<span class="sourceLineNo">308</span>    (getImplData()).setFilter(p_filter);<a name="line.308"></a>
 <span class="sourceLineNo">309</span>    return this;<a name="line.309"></a>
 <span class="sourceLineNo">310</span>  }<a name="line.310"></a>
 <span class="sourceLineNo">311</span>  <a name="line.311"></a>
-<span class="sourceLineNo">312</span>  protected ServerName metaLocation;<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.313"></a>
+<span class="sourceLineNo">312</span>  protected List&lt;ServerName&gt; servers;<a name="line.312"></a>
+<span class="sourceLineNo">313</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List&lt;ServerName&gt; p_servers)<a name="line.313"></a>
 <span class="sourceLineNo">314</span>  {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    (getImplData()).setMetaLocation(p_metaLocation);<a name="line.315"></a>
+<span class="sourceLineNo">315</span>    (getImplData()).setServers(p_servers);<a name="line.315"></a>
 <span class="sourceLineNo">316</span>    return this;<a name="line.316"></a>
 <span class="sourceLineNo">317</span>  }<a name="line.317"></a>
 <span class="sourceLineNo">318</span>  <a name="line.318"></a>
-<span class="sourceLineNo">319</span>  protected AssignmentManager assignmentManager;<a name="line.319"></a>
-<span class="sourceLineNo">320</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.320"></a>
+<span class="sourceLineNo">319</span>  protected ServerManager serverManager;<a name="line.319"></a>
+<span class="sourceLineNo">320</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServerManager(ServerManager p_serverManager)<a name="line.320"></a>
 <span class="sourceLineNo">321</span>  {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.322"></a>
+<span class="sourceLineNo">322</span>    (getImplData()).setServerManager(p_serverManager);<a name="line.322"></a>
 <span class="sourceLineNo">323</span>    return this;<a name="line.323"></a>
 <span class="sourceLineNo">324</span>  }<a name="line.324"></a>
 <span class="sourceLineNo">325</span>  <a name="line.325"></a>
@@ -338,10 +338,10 @@
 <span class="sourceLineNo">330</span>    return this;<a name="line.330"></a>
 <span class="sourceLineNo">331</span>  }<a name="line.331"></a>
 <span class="sourceLineNo">332</span>  <a name="line.332"></a>
-<span class="sourceLineNo">333</span>  protected ServerManager serverManager;<a name="line.333"></a>
-<span class="sourceLineNo">334</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServerManager(ServerManager p_serverManager)<a name="line.334"></a>
+<span class="sourceLineNo">333</span>  protected String format;<a name="line.333"></a>
+<span class="sourceLineNo">334</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.334"></a>
 <span class="sourceLineNo">335</span>  {<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    (getImplData()).setServerManager(p_serverManager);<a name="line.336"></a>
+<span class="sourceLineNo">336</span>    (getImplData()).setFormat(p_format);<a name="line.336"></a>
 <span class="sourceLineNo">337</span>    return this;<a name="line.337"></a>
 <span class="sourceLineNo">338</span>  }<a name="line.338"></a>
 <span class="sourceLineNo">339</span>  <a name="line.339"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
index 26a83f1..eaa9b8f 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
@@ -70,15 +70,15 @@
 <span class="sourceLineNo">062</span><a name="line.62"></a>
 <span class="sourceLineNo">063</span>{<a name="line.63"></a>
 <span class="sourceLineNo">064</span>  private final HMaster master;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  private final String filter;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>  private final Map&lt;String,Integer&gt; frags;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  private final List&lt;ServerName&gt; servers;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>  private final Set&lt;ServerName&gt; deadServers;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>  private final String format;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>  private final ServerName metaLocation;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>  private final AssignmentManager assignmentManager;<a name="line.71"></a>
+<span class="sourceLineNo">065</span>  private final AssignmentManager assignmentManager;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  private final ServerName metaLocation;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>  private final Set&lt;ServerName&gt; deadServers;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>  private final Map&lt;String,Integer&gt; frags;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  private final String filter;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>  private final List&lt;ServerName&gt; servers;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>  private final ServerManager serverManager;<a name="line.71"></a>
 <span class="sourceLineNo">072</span>  private final boolean catalogJanitorEnabled;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  private final ServerManager serverManager;<a name="line.73"></a>
+<span class="sourceLineNo">073</span>  private final String format;<a name="line.73"></a>
 <span class="sourceLineNo">074</span>  // 69, 1<a name="line.74"></a>
 <span class="sourceLineNo">075</span>  <a name="line.75"></a>
 <span class="sourceLineNo">076</span>  public String formatZKString() {<a name="line.76"></a>
@@ -108,41 +108,41 @@
 <span class="sourceLineNo">100</span><a name="line.100"></a>
 <span class="sourceLineNo">101</span>  protected static org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl.ImplData __jamon_setOptionalArguments(org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl.ImplData p_implData)<a name="line.101"></a>
 <span class="sourceLineNo">102</span>  {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    if(! p_implData.getFilter__IsNotDefault())<a name="line.103"></a>
+<span class="sourceLineNo">103</span>    if(! p_implData.getAssignmentManager__IsNotDefault())<a name="line.103"></a>
 <span class="sourceLineNo">104</span>    {<a name="line.104"></a>
-<span class="sourceLineNo">105</span>      p_implData.setFilter("general");<a name="line.105"></a>
+<span class="sourceLineNo">105</span>      p_implData.setAssignmentManager(null);<a name="line.105"></a>
 <span class="sourceLineNo">106</span>    }<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    if(! p_implData.getFrags__IsNotDefault())<a name="line.107"></a>
+<span class="sourceLineNo">107</span>    if(! p_implData.getMetaLocation__IsNotDefault())<a name="line.107"></a>
 <span class="sourceLineNo">108</span>    {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      p_implData.setFrags(null);<a name="line.109"></a>
+<span class="sourceLineNo">109</span>      p_implData.setMetaLocation(null);<a name="line.109"></a>
 <span class="sourceLineNo">110</span>    }<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    if(! p_implData.getServers__IsNotDefault())<a name="line.111"></a>
+<span class="sourceLineNo">111</span>    if(! p_implData.getDeadServers__IsNotDefault())<a name="line.111"></a>
 <span class="sourceLineNo">112</span>    {<a name="line.112"></a>
-<span class="sourceLineNo">113</span>      p_implData.setServers(null);<a name="line.113"></a>
+<span class="sourceLineNo">113</span>      p_implData.setDeadServers(null);<a name="line.113"></a>
 <span class="sourceLineNo">114</span>    }<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    if(! p_implData.getDeadServers__IsNotDefault())<a name="line.115"></a>
+<span class="sourceLineNo">115</span>    if(! p_implData.getFrags__IsNotDefault())<a name="line.115"></a>
 <span class="sourceLineNo">116</span>    {<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      p_implData.setDeadServers(null);<a name="line.117"></a>
+<span class="sourceLineNo">117</span>      p_implData.setFrags(null);<a name="line.117"></a>
 <span class="sourceLineNo">118</span>    }<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    if(! p_implData.getFormat__IsNotDefault())<a name="line.119"></a>
+<span class="sourceLineNo">119</span>    if(! p_implData.getFilter__IsNotDefault())<a name="line.119"></a>
 <span class="sourceLineNo">120</span>    {<a name="line.120"></a>
-<span class="sourceLineNo">121</span>      p_implData.setFormat("html");<a name="line.121"></a>
+<span class="sourceLineNo">121</span>      p_implData.setFilter("general");<a name="line.121"></a>
 <span class="sourceLineNo">122</span>    }<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    if(! p_implData.getMetaLocation__IsNotDefault())<a name="line.123"></a>
+<span class="sourceLineNo">123</span>    if(! p_implData.getServers__IsNotDefault())<a name="line.123"></a>
 <span class="sourceLineNo">124</span>    {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      p_implData.setMetaLocation(null);<a name="line.125"></a>
+<span class="sourceLineNo">125</span>      p_implData.setServers(null);<a name="line.125"></a>
 <span class="sourceLineNo">126</span>    }<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    if(! p_implData.getAssignmentManager__IsNotDefault())<a name="line.127"></a>
+<span class="sourceLineNo">127</span>    if(! p_implData.getServerManager__IsNotDefault())<a name="line.127"></a>
 <span class="sourceLineNo">128</span>    {<a name="line.128"></a>
-<span class="sourceLineNo">129</span>      p_implData.setAssignmentManager(null);<a name="line.129"></a>
+<span class="sourceLineNo">129</span>      p_implData.setServerManager(null);<a name="line.129"></a>
 <span class="sourceLineNo">130</span>    }<a name="line.130"></a>
 <span class="sourceLineNo">131</span>    if(! p_implData.getCatalogJanitorEnabled__IsNotDefault())<a name="line.131"></a>
 <span class="sourceLineNo">132</span>    {<a name="line.132"></a>
 <span class="sourceLineNo">133</span>      p_implData.setCatalogJanitorEnabled(true);<a name="line.133"></a>
 <span class="sourceLineNo">134</span>    }<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    if(! p_implData.getServerManager__IsNotDefault())<a name="line.135"></a>
+<span class="sourceLineNo">135</span>    if(! p_implData.getFormat__IsNotDefault())<a name="line.135"></a>
 <span class="sourceLineNo">136</span>    {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      p_implData.setServerManager(null);<a name="line.137"></a>
+<span class="sourceLineNo">137</span>      p_implData.setFormat("html");<a name="line.137"></a>
 <span class="sourceLineNo">138</span>    }<a name="line.138"></a>
 <span class="sourceLineNo">139</span>    return p_implData;<a name="line.139"></a>
 <span class="sourceLineNo">140</span>  }<a name="line.140"></a>
@@ -150,15 +150,15 @@
 <span class="sourceLineNo">142</span>  {<a name="line.142"></a>
 <span class="sourceLineNo">143</span>    super(p_templateManager, __jamon_setOptionalArguments(p_implData));<a name="line.143"></a>
 <span class="sourceLineNo">144</span>    master = p_implData.getMaster();<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    filter = p_implData.getFilter();<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    frags = p_implData.getFrags();<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    servers = p_implData.getServers();<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    deadServers = p_implData.getDeadServers();<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    format = p_implData.getFormat();<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    metaLocation = p_implData.getMetaLocation();<a name="line.150"></a>
-<span class="sourceLineNo">151</span>    assignmentManager = p_implData.getAssignmentManager();<a name="line.151"></a>
+<span class="sourceLineNo">145</span>    assignmentManager = p_implData.getAssignmentManager();<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    metaLocation = p_implData.getMetaLocation();<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    deadServers = p_implData.getDeadServers();<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    frags = p_implData.getFrags();<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    filter = p_implData.getFilter();<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    servers = p_implData.getServers();<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    serverManager = p_implData.getServerManager();<a name="line.151"></a>
 <span class="sourceLineNo">152</span>    catalogJanitorEnabled = p_implData.getCatalogJanitorEnabled();<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    serverManager = p_implData.getServerManager();<a name="line.153"></a>
+<span class="sourceLineNo">153</span>    format = p_implData.getFormat();<a name="line.153"></a>
 <span class="sourceLineNo">154</span>  }<a name="line.154"></a>
 <span class="sourceLineNo">155</span>  <a name="line.155"></a>
 <span class="sourceLineNo">156</span>  @Override public void renderNoFlush(final java.io.Writer jamonWriter)<a name="line.156"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
index 7a006ee..66a9a30 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
@@ -33,10 +33,10 @@
 <span class="sourceLineNo">025</span>  requiredArguments = {<a name="line.25"></a>
 <span class="sourceLineNo">026</span>    @org.jamon.annotations.Argument(name = "regionServer", type = "HRegionServer")},<a name="line.26"></a>
 <span class="sourceLineNo">027</span>  optionalArguments = {<a name="line.27"></a>
-<span class="sourceLineNo">028</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.28"></a>
+<span class="sourceLineNo">028</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.28"></a>
 <span class="sourceLineNo">029</span>    @org.jamon.annotations.Argument(name = "bcn", type = "String"),<a name="line.29"></a>
-<span class="sourceLineNo">030</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.30"></a>
-<span class="sourceLineNo">031</span>    @org.jamon.annotations.Argument(name = "bcv", type = "String")})<a name="line.31"></a>
+<span class="sourceLineNo">030</span>    @org.jamon.annotations.Argument(name = "bcv", type = "String"),<a name="line.30"></a>
+<span class="sourceLineNo">031</span>    @org.jamon.annotations.Argument(name = "filter", type = "String")})<a name="line.31"></a>
 <span class="sourceLineNo">032</span>public class RSStatusTmpl<a name="line.32"></a>
 <span class="sourceLineNo">033</span>  extends org.jamon.AbstractTemplateProxy<a name="line.33"></a>
 <span class="sourceLineNo">034</span>{<a name="line.34"></a>
@@ -77,23 +77,23 @@
 <span class="sourceLineNo">069</span>      return m_regionServer;<a name="line.69"></a>
 <span class="sourceLineNo">070</span>    }<a name="line.70"></a>
 <span class="sourceLineNo">071</span>    private HRegionServer m_regionServer;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    // 21, 1<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    public void setFilter(String filter)<a name="line.73"></a>
+<span class="sourceLineNo">072</span>    // 22, 1<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    public void setFormat(String format)<a name="line.73"></a>
 <span class="sourceLineNo">074</span>    {<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      // 21, 1<a name="line.75"></a>
-<span class="sourceLineNo">076</span>      m_filter = filter;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>      m_filter__IsNotDefault = true;<a name="line.77"></a>
+<span class="sourceLineNo">075</span>      // 22, 1<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      m_format = format;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>      m_format__IsNotDefault = true;<a name="line.77"></a>
 <span class="sourceLineNo">078</span>    }<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    public String getFilter()<a name="line.79"></a>
+<span class="sourceLineNo">079</span>    public String getFormat()<a name="line.79"></a>
 <span class="sourceLineNo">080</span>    {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>      return m_filter;<a name="line.81"></a>
+<span class="sourceLineNo">081</span>      return m_format;<a name="line.81"></a>
 <span class="sourceLineNo">082</span>    }<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    private String m_filter;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    public boolean getFilter__IsNotDefault()<a name="line.84"></a>
+<span class="sourceLineNo">083</span>    private String m_format;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    public boolean getFormat__IsNotDefault()<a name="line.84"></a>
 <span class="sourceLineNo">085</span>    {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      return m_filter__IsNotDefault;<a name="line.86"></a>
+<span class="sourceLineNo">086</span>      return m_format__IsNotDefault;<a name="line.86"></a>
 <span class="sourceLineNo">087</span>    }<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    private boolean m_filter__IsNotDefault;<a name="line.88"></a>
+<span class="sourceLineNo">088</span>    private boolean m_format__IsNotDefault;<a name="line.88"></a>
 <span class="sourceLineNo">089</span>    // 23, 1<a name="line.89"></a>
 <span class="sourceLineNo">090</span>    public void setBcn(String bcn)<a name="line.90"></a>
 <span class="sourceLineNo">091</span>    {<a name="line.91"></a>
@@ -111,40 +111,40 @@
 <span class="sourceLineNo">103</span>      return m_bcn__IsNotDefault;<a name="line.103"></a>
 <span class="sourceLineNo">104</span>    }<a name="line.104"></a>
 <span class="sourceLineNo">105</span>    private boolean m_bcn__IsNotDefault;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    // 22, 1<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    public void setFormat(String format)<a name="line.107"></a>
+<span class="sourceLineNo">106</span>    // 24, 1<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    public void setBcv(String bcv)<a name="line.107"></a>
 <span class="sourceLineNo">108</span>    {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      // 22, 1<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      m_format = format;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      m_format__IsNotDefault = true;<a name="line.111"></a>
+<span class="sourceLineNo">109</span>      // 24, 1<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      m_bcv = bcv;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      m_bcv__IsNotDefault = true;<a name="line.111"></a>
 <span class="sourceLineNo">112</span>    }<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    public String getFormat()<a name="line.113"></a>
+<span class="sourceLineNo">113</span>    public String getBcv()<a name="line.113"></a>
 <span class="sourceLineNo">114</span>    {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      return m_format;<a name="line.115"></a>
+<span class="sourceLineNo">115</span>      return m_bcv;<a name="line.115"></a>
 <span class="sourceLineNo">116</span>    }<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    private String m_format;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    public boolean getFormat__IsNotDefault()<a name="line.118"></a>
+<span class="sourceLineNo">117</span>    private String m_bcv;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    public boolean getBcv__IsNotDefault()<a name="line.118"></a>
 <span class="sourceLineNo">119</span>    {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      return m_format__IsNotDefault;<a name="line.120"></a>
+<span class="sourceLineNo">120</span>      return m_bcv__IsNotDefault;<a name="line.120"></a>
 <span class="sourceLineNo">121</span>    }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    private boolean m_format__IsNotDefault;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    // 24, 1<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    public void setBcv(String bcv)<a name="line.124"></a>
+<span class="sourceLineNo">122</span>    private boolean m_bcv__IsNotDefault;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    // 21, 1<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    public void setFilter(String filter)<a name="line.124"></a>
 <span class="sourceLineNo">125</span>    {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      // 24, 1<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      m_bcv = bcv;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>      m_bcv__IsNotDefault = true;<a name="line.128"></a>
+<span class="sourceLineNo">126</span>      // 21, 1<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      m_filter = filter;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      m_filter__IsNotDefault = true;<a name="line.128"></a>
 <span class="sourceLineNo">129</span>    }<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    public String getBcv()<a name="line.130"></a>
+<span class="sourceLineNo">130</span>    public String getFilter()<a name="line.130"></a>
 <span class="sourceLineNo">131</span>    {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      return m_bcv;<a name="line.132"></a>
+<span class="sourceLineNo">132</span>      return m_filter;<a name="line.132"></a>
 <span class="sourceLineNo">133</span>    }<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    private String m_bcv;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    public boolean getBcv__IsNotDefault()<a name="line.135"></a>
+<span class="sourceLineNo">134</span>    private String m_filter;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    public boolean getFilter__IsNotDefault()<a name="line.135"></a>
 <span class="sourceLineNo">136</span>    {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      return m_bcv__IsNotDefault;<a name="line.137"></a>
+<span class="sourceLineNo">137</span>      return m_filter__IsNotDefault;<a name="line.137"></a>
 <span class="sourceLineNo">138</span>    }<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    private boolean m_bcv__IsNotDefault;<a name="line.139"></a>
+<span class="sourceLineNo">139</span>    private boolean m_filter__IsNotDefault;<a name="line.139"></a>
 <span class="sourceLineNo">140</span>  }<a name="line.140"></a>
 <span class="sourceLineNo">141</span>  @Override<a name="line.141"></a>
 <span class="sourceLineNo">142</span>  protected org.jamon.AbstractTemplateProxy.ImplData makeImplData()<a name="line.142"></a>
@@ -156,10 +156,10 @@
 <span class="sourceLineNo">148</span>    return (ImplData) super.getImplData();<a name="line.148"></a>
 <span class="sourceLineNo">149</span>  }<a name="line.149"></a>
 <span class="sourceLineNo">150</span>  <a name="line.150"></a>
-<span class="sourceLineNo">151</span>  protected String filter;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFilter(String p_filter)<a name="line.152"></a>
+<span class="sourceLineNo">151</span>  protected String format;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFormat(String p_format)<a name="line.152"></a>
 <span class="sourceLineNo">153</span>  {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    (getImplData()).setFilter(p_filter);<a name="line.154"></a>
+<span class="sourceLineNo">154</span>    (getImplData()).setFormat(p_format);<a name="line.154"></a>
 <span class="sourceLineNo">155</span>    return this;<a name="line.155"></a>
 <span class="sourceLineNo">156</span>  }<a name="line.156"></a>
 <span class="sourceLineNo">157</span>  <a name="line.157"></a>
@@ -170,17 +170,17 @@
 <span class="sourceLineNo">162</span>    return this;<a name="line.162"></a>
 <span class="sourceLineNo">163</span>  }<a name="line.163"></a>
 <span class="sourceLineNo">164</span>  <a name="line.164"></a>
-<span class="sourceLineNo">165</span>  protected String format;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFormat(String p_format)<a name="line.166"></a>
+<span class="sourceLineNo">165</span>  protected String bcv;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcv(String p_bcv)<a name="line.166"></a>
 <span class="sourceLineNo">167</span>  {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    (getImplData()).setFormat(p_format);<a name="line.168"></a>
+<span class="sourceLineNo">168</span>    (getImplData()).setBcv(p_bcv);<a name="line.168"></a>
 <span class="sourceLineNo">169</span>    return this;<a name="line.169"></a>
 <span class="sourceLineNo">170</span>  }<a name="line.170"></a>
 <span class="sourceLineNo">171</span>  <a name="line.171"></a>
-<span class="sourceLineNo">172</span>  protected String bcv;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcv(String p_bcv)<a name="line.173"></a>
+<span class="sourceLineNo">172</span>  protected String filter;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFilter(String p_filter)<a name="line.173"></a>
 <span class="sourceLineNo">174</span>  {<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    (getImplData()).setBcv(p_bcv);<a name="line.175"></a>
+<span class="sourceLineNo">175</span>    (getImplData()).setFilter(p_filter);<a name="line.175"></a>
 <span class="sourceLineNo">176</span>    return this;<a name="line.176"></a>
 <span class="sourceLineNo">177</span>  }<a name="line.177"></a>
 <span class="sourceLineNo">178</span>  <a name="line.178"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.Intf.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.Intf.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.Intf.html
index 7a006ee..66a9a30 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.Intf.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.Intf.html
@@ -33,10 +33,10 @@
 <span class="sourceLineNo">025</span>  requiredArguments = {<a name="line.25"></a>
 <span class="sourceLineNo">026</span>    @org.jamon.annotations.Argument(name = "regionServer", type = "HRegionServer")},<a name="line.26"></a>
 <span class="sourceLineNo">027</span>  optionalArguments = {<a name="line.27"></a>
-<span class="sourceLineNo">028</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.28"></a>
+<span class="sourceLineNo">028</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.28"></a>
 <span class="sourceLineNo">029</span>    @org.jamon.annotations.Argument(name = "bcn", type = "String"),<a name="line.29"></a>
-<span class="sourceLineNo">030</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.30"></a>
-<span class="sourceLineNo">031</span>    @org.jamon.annotations.Argument(name = "bcv", type = "String")})<a name="line.31"></a>
+<span class="sourceLineNo">030</span>    @org.jamon.annotations.Argument(name = "bcv", type = "String"),<a name="line.30"></a>
+<span class="sourceLineNo">031</span>    @org.jamon.annotations.Argument(name = "filter", type = "String")})<a name="line.31"></a>
 <span class="sourceLineNo">032</span>public class RSStatusTmpl<a name="line.32"></a>
 <span class="sourceLineNo">033</span>  extends org.jamon.AbstractTemplateProxy<a name="line.33"></a>
 <span class="sourceLineNo">034</span>{<a name="line.34"></a>
@@ -77,23 +77,23 @@
 <span class="sourceLineNo">069</span>      return m_regionServer;<a name="line.69"></a>
 <span class="sourceLineNo">070</span>    }<a name="line.70"></a>
 <span class="sourceLineNo">071</span>    private HRegionServer m_regionServer;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    // 21, 1<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    public void setFilter(String filter)<a name="line.73"></a>
+<span class="sourceLineNo">072</span>    // 22, 1<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    public void setFormat(String format)<a name="line.73"></a>
 <span class="sourceLineNo">074</span>    {<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      // 21, 1<a name="line.75"></a>
-<span class="sourceLineNo">076</span>      m_filter = filter;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>      m_filter__IsNotDefault = true;<a name="line.77"></a>
+<span class="sourceLineNo">075</span>      // 22, 1<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      m_format = format;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>      m_format__IsNotDefault = true;<a name="line.77"></a>
 <span class="sourceLineNo">078</span>    }<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    public String getFilter()<a name="line.79"></a>
+<span class="sourceLineNo">079</span>    public String getFormat()<a name="line.79"></a>
 <span class="sourceLineNo">080</span>    {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>      return m_filter;<a name="line.81"></a>
+<span class="sourceLineNo">081</span>      return m_format;<a name="line.81"></a>
 <span class="sourceLineNo">082</span>    }<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    private String m_filter;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    public boolean getFilter__IsNotDefault()<a name="line.84"></a>
+<span class="sourceLineNo">083</span>    private String m_format;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    public boolean getFormat__IsNotDefault()<a name="line.84"></a>
 <span class="sourceLineNo">085</span>    {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      return m_filter__IsNotDefault;<a name="line.86"></a>
+<span class="sourceLineNo">086</span>      return m_format__IsNotDefault;<a name="line.86"></a>
 <span class="sourceLineNo">087</span>    }<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    private boolean m_filter__IsNotDefault;<a name="line.88"></a>
+<span class="sourceLineNo">088</span>    private boolean m_format__IsNotDefault;<a name="line.88"></a>
 <span class="sourceLineNo">089</span>    // 23, 1<a name="line.89"></a>
 <span class="sourceLineNo">090</span>    public void setBcn(String bcn)<a name="line.90"></a>
 <span class="sourceLineNo">091</span>    {<a name="line.91"></a>
@@ -111,40 +111,40 @@
 <span class="sourceLineNo">103</span>      return m_bcn__IsNotDefault;<a name="line.103"></a>
 <span class="sourceLineNo">104</span>    }<a name="line.104"></a>
 <span class="sourceLineNo">105</span>    private boolean m_bcn__IsNotDefault;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    // 22, 1<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    public void setFormat(String format)<a name="line.107"></a>
+<span class="sourceLineNo">106</span>    // 24, 1<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    public void setBcv(String bcv)<a name="line.107"></a>
 <span class="sourceLineNo">108</span>    {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      // 22, 1<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      m_format = format;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      m_format__IsNotDefault = true;<a name="line.111"></a>
+<span class="sourceLineNo">109</span>      // 24, 1<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      m_bcv = bcv;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      m_bcv__IsNotDefault = true;<a name="line.111"></a>
 <span class="sourceLineNo">112</span>    }<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    public String getFormat()<a name="line.113"></a>
+<span class="sourceLineNo">113</span>    public String getBcv()<a name="line.113"></a>
 <span class="sourceLineNo">114</span>    {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      return m_format;<a name="line.115"></a>
+<span class="sourceLineNo">115</span>      return m_bcv;<a name="line.115"></a>
 <span class="sourceLineNo">116</span>    }<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    private String m_format;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    public boolean getFormat__IsNotDefault()<a name="line.118"></a>
+<span class="sourceLineNo">117</span>    private String m_bcv;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    public boolean getBcv__IsNotDefault()<a name="line.118"></a>
 <span class="sourceLineNo">119</span>    {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      return m_format__IsNotDefault;<a name="line.120"></a>
+<span class="sourceLineNo">120</span>      return m_bcv__IsNotDefault;<a name="line.120"></a>
 <span class="sourceLineNo">121</span>    }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    private boolean m_format__IsNotDefault;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    // 24, 1<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    public void setBcv(String bcv)<a name="line.124"></a>
+<span class="sourceLineNo">122</span>    private boolean m_bcv__IsNotDefault;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    // 21, 1<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    public void setFilter(String filter)<a name="line.124"></a>
 <span class="sourceLineNo">125</span>    {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      // 24, 1<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      m_bcv = bcv;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>      m_bcv__IsNotDefault = true;<a name="line.128"></a>
+<span class="sourceLineNo">126</span>      // 21, 1<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      m_filter = filter;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      m_filter__IsNotDefault = true;<a name="line.128"></a>
 <span class="sourceLineNo">129</span>    }<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    public String getBcv()<a name="line.130"></a>
+<span class="sourceLineNo">130</span>    public String getFilter()<a name="line.130"></a>
 <span class="sourceLineNo">131</span>    {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      return m_bcv;<a name="line.132"></a>
+<span class="sourceLineNo">132</span>      return m_filter;<a name="line.132"></a>
 <span class="sourceLineNo">133</span>    }<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    private String m_bcv;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    public boolean getBcv__IsNotDefault()<a name="line.135"></a>
+<span class="sourceLineNo">134</span>    private String m_filter;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    public boolean getFilter__IsNotDefault()<a name="line.135"></a>
 <span class="sourceLineNo">136</span>    {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      return m_bcv__IsNotDefault;<a name="line.137"></a>
+<span class="sourceLineNo">137</span>      return m_filter__IsNotDefault;<a name="line.137"></a>
 <span class="sourceLineNo">138</span>    }<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    private boolean m_bcv__IsNotDefault;<a name="line.139"></a>
+<span class="sourceLineNo">139</span>    private boolean m_filter__IsNotDefault;<a name="line.139"></a>
 <span class="sourceLineNo">140</span>  }<a name="line.140"></a>
 <span class="sourceLineNo">141</span>  @Override<a name="line.141"></a>
 <span class="sourceLineNo">142</span>  protected org.jamon.AbstractTemplateProxy.ImplData makeImplData()<a name="line.142"></a>
@@ -156,10 +156,10 @@
 <span class="sourceLineNo">148</span>    return (ImplData) super.getImplData();<a name="line.148"></a>
 <span class="sourceLineNo">149</span>  }<a name="line.149"></a>
 <span class="sourceLineNo">150</span>  <a name="line.150"></a>
-<span class="sourceLineNo">151</span>  protected String filter;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFilter(String p_filter)<a name="line.152"></a>
+<span class="sourceLineNo">151</span>  protected String format;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFormat(String p_format)<a name="line.152"></a>
 <span class="sourceLineNo">153</span>  {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    (getImplData()).setFilter(p_filter);<a name="line.154"></a>
+<span class="sourceLineNo">154</span>    (getImplData()).setFormat(p_format);<a name="line.154"></a>
 <span class="sourceLineNo">155</span>    return this;<a name="line.155"></a>
 <span class="sourceLineNo">156</span>  }<a name="line.156"></a>
 <span class="sourceLineNo">157</span>  <a name="line.157"></a>
@@ -170,17 +170,17 @@
 <span class="sourceLineNo">162</span>    return this;<a name="line.162"></a>
 <span class="sourceLineNo">163</span>  }<a name="line.163"></a>
 <span class="sourceLineNo">164</span>  <a name="line.164"></a>
-<span class="sourceLineNo">165</span>  protected String format;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFormat(String p_format)<a name="line.166"></a>
+<span class="sourceLineNo">165</span>  protected String bcv;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcv(String p_bcv)<a name="line.166"></a>
 <span class="sourceLineNo">167</span>  {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    (getImplData()).setFormat(p_format);<a name="line.168"></a>
+<span class="sourceLineNo">168</span>    (getImplData()).setBcv(p_bcv);<a name="line.168"></a>
 <span class="sourceLineNo">169</span>    return this;<a name="line.169"></a>
 <span class="sourceLineNo">170</span>  }<a name="line.170"></a>
 <span class="sourceLineNo">171</span>  <a name="line.171"></a>
-<span class="sourceLineNo">172</span>  protected String bcv;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcv(String p_bcv)<a name="line.173"></a>
+<span class="sourceLineNo">172</span>  protected String filter;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFilter(String p_filter)<a name="line.173"></a>
 <span class="sourceLineNo">174</span>  {<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    (getImplData()).setBcv(p_bcv);<a name="line.175"></a>
+<span class="sourceLineNo">175</span>    (getImplData()).setFilter(p_filter);<a name="line.175"></a>
 <span class="sourceLineNo">176</span>    return this;<a name="line.176"></a>
 <span class="sourceLineNo">177</span>  }<a name="line.177"></a>
 <span class="sourceLineNo">178</span>  <a name="line.178"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
index 7a006ee..66a9a30 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
@@ -33,10 +33,10 @@
 <span class="sourceLineNo">025</span>  requiredArguments = {<a name="line.25"></a>
 <span class="sourceLineNo">026</span>    @org.jamon.annotations.Argument(name = "regionServer", type = "HRegionServer")},<a name="line.26"></a>
 <span class="sourceLineNo">027</span>  optionalArguments = {<a name="line.27"></a>
-<span class="sourceLineNo">028</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.28"></a>
+<span class="sourceLineNo">028</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.28"></a>
 <span class="sourceLineNo">029</span>    @org.jamon.annotations.Argument(name = "bcn", type = "String"),<a name="line.29"></a>
-<span class="sourceLineNo">030</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.30"></a>
-<span class="sourceLineNo">031</span>    @org.jamon.annotations.Argument(name = "bcv", type = "String")})<a name="line.31"></a>
+<span class="sourceLineNo">030</span>    @org.jamon.annotations.Argument(name = "bcv", type = "String"),<a name="line.30"></a>
+<span class="sourceLineNo">031</span>    @org.jamon.annotations.Argument(name = "filter", type = "String")})<a name="line.31"></a>
 <span class="sourceLineNo">032</span>public class RSStatusTmpl<a name="line.32"></a>
 <span class="sourceLineNo">033</span>  extends org.jamon.AbstractTemplateProxy<a name="line.33"></a>
 <span class="sourceLineNo">034</span>{<a name="line.34"></a>
@@ -77,23 +77,23 @@
 <span class="sourceLineNo">069</span>      return m_regionServer;<a name="line.69"></a>
 <span class="sourceLineNo">070</span>    }<a name="line.70"></a>
 <span class="sourceLineNo">071</span>    private HRegionServer m_regionServer;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    // 21, 1<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    public void setFilter(String filter)<a name="line.73"></a>
+<span class="sourceLineNo">072</span>    // 22, 1<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    public void setFormat(String format)<a name="line.73"></a>
 <span class="sourceLineNo">074</span>    {<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      // 21, 1<a name="line.75"></a>
-<span class="sourceLineNo">076</span>      m_filter = filter;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>      m_filter__IsNotDefault = true;<a name="line.77"></a>
+<span class="sourceLineNo">075</span>      // 22, 1<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      m_format = format;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>      m_format__IsNotDefault = true;<a name="line.77"></a>
 <span class="sourceLineNo">078</span>    }<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    public String getFilter()<a name="line.79"></a>
+<span class="sourceLineNo">079</span>    public String getFormat()<a name="line.79"></a>
 <span class="sourceLineNo">080</span>    {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>      return m_filter;<a name="line.81"></a>
+<span class="sourceLineNo">081</span>      return m_format;<a name="line.81"></a>
 <span class="sourceLineNo">082</span>    }<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    private String m_filter;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    public boolean getFilter__IsNotDefault()<a name="line.84"></a>
+<span class="sourceLineNo">083</span>    private String m_format;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    public boolean getFormat__IsNotDefault()<a name="line.84"></a>
 <span class="sourceLineNo">085</span>    {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      return m_filter__IsNotDefault;<a name="line.86"></a>
+<span class="sourceLineNo">086</span>      return m_format__IsNotDefault;<a name="line.86"></a>
 <span class="sourceLineNo">087</span>    }<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    private boolean m_filter__IsNotDefault;<a name="line.88"></a>
+<span class="sourceLineNo">088</span>    private boolean m_format__IsNotDefault;<a name="line.88"></a>
 <span class="sourceLineNo">089</span>    // 23, 1<a name="line.89"></a>
 <span class="sourceLineNo">090</span>    public void setBcn(String bcn)<a name="line.90"></a>
 <span class="sourceLineNo">091</span>    {<a name="line.91"></a>
@@ -111,40 +111,40 @@
 <span class="sourceLineNo">103</span>      return m_bcn__IsNotDefault;<a name="line.103"></a>
 <span class="sourceLineNo">104</span>    }<a name="line.104"></a>
 <span class="sourceLineNo">105</span>    private boolean m_bcn__IsNotDefault;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    // 22, 1<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    public void setFormat(String format)<a name="line.107"></a>
+<span class="sourceLineNo">106</span>    // 24, 1<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    public void setBcv(String bcv)<a name="line.107"></a>
 <span class="sourceLineNo">108</span>    {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      // 22, 1<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      m_format = format;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      m_format__IsNotDefault = true;<a name="line.111"></a>
+<span class="sourceLineNo">109</span>      // 24, 1<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      m_bcv = bcv;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      m_bcv__IsNotDefault = true;<a name="line.111"></a>
 <span class="sourceLineNo">112</span>    }<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    public String getFormat()<a name="line.113"></a>
+<span class="sourceLineNo">113</span>    public String getBcv()<a name="line.113"></a>
 <span class="sourceLineNo">114</span>    {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      return m_format;<a name="line.115"></a>
+<span class="sourceLineNo">115</span>      return m_bcv;<a name="line.115"></a>
 <span class="sourceLineNo">116</span>    }<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    private String m_format;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    public boolean getFormat__IsNotDefault()<a name="line.118"></a>
+<span class="sourceLineNo">117</span>    private String m_bcv;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    public boolean getBcv__IsNotDefault()<a name="line.118"></a>
 <span class="sourceLineNo">119</span>    {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      return m_format__IsNotDefault;<a name="line.120"></a>
+<span class="sourceLineNo">120</span>      return m_bcv__IsNotDefault;<a name="line.120"></a>
 <span class="sourceLineNo">121</span>    }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    private boolean m_format__IsNotDefault;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    // 24, 1<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    public void setBcv(String bcv)<a name="line.124"></a>
+<span class="sourceLineNo">122</span>    private boolean m_bcv__IsNotDefault;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    // 21, 1<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    public void setFilter(String filter)<a name="line.124"></a>
 <span class="sourceLineNo">125</span>    {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      // 24, 1<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      m_bcv = bcv;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>      m_bcv__IsNotDefault = true;<a name="line.128"></a>
+<span class="sourceLineNo">126</span>      // 21, 1<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      m_filter = filter;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      m_filter__IsNotDefault = true;<a name="line.128"></a>
 <span class="sourceLineNo">129</span>    }<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    public String getBcv()<a name="line.130"></a>
+<span class="sourceLineNo">130</span>    public String getFilter()<a name="line.130"></a>
 <span class="sourceLineNo">131</span>    {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      return m_bcv;<a name="line.132"></a>
+<span class="sourceLineNo">132</span>      return m_filter;<a name="line.132"></a>
 <span class="sourceLineNo">133</span>    }<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    private String m_bcv;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    public boolean getBcv__IsNotDefault()<a name="line.135"></a>
+<span class="sourceLineNo">134</span>    private String m_filter;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    public boolean getFilter__IsNotDefault()<a name="line.135"></a>
 <span class="sourceLineNo">136</span>    {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      return m_bcv__IsNotDefault;<a name="line.137"></a>
+<span class="sourceLineNo">137</span>      return m_filter__IsNotDefault;<a name="line.137"></a>
 <span class="sourceLineNo">138</span>    }<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    private boolean m_bcv__IsNotDefault;<a name="line.139"></a>
+<span class="sourceLineNo">139</span>    private boolean m_filter__IsNotDefault;<a name="line.139"></a>
 <span class="sourceLineNo">140</span>  }<a name="line.140"></a>
 <span class="sourceLineNo">141</span>  @Override<a name="line.141"></a>
 <span class="sourceLineNo">142</span>  protected org.jamon.AbstractTemplateProxy.ImplData makeImplData()<a name="line.142"></a>
@@ -156,10 +156,10 @@
 <span class="sourceLineNo">148</span>    return (ImplData) super.getImplData();<a name="line.148"></a>
 <span class="sourceLineNo">149</span>  }<a name="line.149"></a>
 <span class="sourceLineNo">150</span>  <a name="line.150"></a>
-<span class="sourceLineNo">151</span>  protected String filter;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFilter(String p_filter)<a name="line.152"></a>
+<span class="sourceLineNo">151</span>  protected String format;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFormat(String p_format)<a name="line.152"></a>
 <span class="sourceLineNo">153</span>  {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    (getImplData()).setFilter(p_filter);<a name="line.154"></a>
+<span class="sourceLineNo">154</span>    (getImplData()).setFormat(p_format);<a name="line.154"></a>
 <span class="sourceLineNo">155</span>    return this;<a name="line.155"></a>
 <span class="sourceLineNo">156</span>  }<a name="line.156"></a>
 <span class="sourceLineNo">157</span>  <a name="line.157"></a>
@@ -170,17 +170,17 @@
 <span class="sourceLineNo">162</span>    return this;<a name="line.162"></a>
 <span class="sourceLineNo">163</span>  }<a name="line.163"></a>
 <span class="sourceLineNo">164</span>  <a name="line.164"></a>
-<span class="sourceLineNo">165</span>  protected String format;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFormat(String p_format)<a name="line.166"></a>
+<span class="sourceLineNo">165</span>  protected String bcv;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcv(String p_bcv)<a name="line.166"></a>
 <span class="sourceLineNo">167</span>  {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    (getImplData()).setFormat(p_format);<a name="line.168"></a>
+<span class="sourceLineNo">168</span>    (getImplData()).setBcv(p_bcv);<a name="line.168"></a>
 <span class="sourceLineNo">169</span>    return this;<a name="line.169"></a>
 <span class="sourceLineNo">170</span>  }<a name="line.170"></a>
 <span class="sourceLineNo">171</span>  <a name="line.171"></a>
-<span class="sourceLineNo">172</span>  protected String bcv;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcv(String p_bcv)<a name="line.173"></a>
+<span class="sourceLineNo">172</span>  protected String filter;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFilter(String p_filter)<a name="line.173"></a>
 <span class="sourceLineNo">174</span>  {<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    (getImplData()).setBcv(p_bcv);<a name="line.175"></a>
+<span class="sourceLineNo">175</span>    (getImplData()).setFilter(p_filter);<a name="line.175"></a>
 <span class="sourceLineNo">176</span>    return this;<a name="line.176"></a>
 <span class="sourceLineNo">177</span>  }<a name="line.177"></a>
 <span class="sourceLineNo">178</span>  <a name="line.178"></a>


[16/26] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.QuotasVisitor.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.QuotasVisitor.html b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.QuotasVisitor.html
index 3c6f9b8..7d3deb8 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.QuotasVisitor.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.QuotasVisitor.html
@@ -39,731 +39,772 @@
 <span class="sourceLineNo">031</span>import org.apache.commons.logging.Log;<a name="line.31"></a>
 <span class="sourceLineNo">032</span>import org.apache.commons.logging.LogFactory;<a name="line.32"></a>
 <span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.Cell;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.ServerName;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.TableName;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.client.ClusterConnection;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.client.Get;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.client.Put;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.client.QuotaStatusCalls;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.client.Result;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.client.ResultScanner;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.client.Table;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.filter.ColumnPrefixFilter;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.filter.CompareFilter;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.filter.Filter;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.filter.FilterList;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.filter.QualifierFilter;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.filter.RegexStringComparator;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.filter.RowFilter;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.protobuf.ProtobufMagic;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.InvalidProtocolBufferException;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.UnsafeByteOperations;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetQuotaStatesResponse;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaRegionSizesResponse;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse.TableQuotaSnapshot;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaRegionSizesResponse.RegionSizes;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.util.Strings;<a name="line.70"></a>
-<span class="sourceLineNo">071</span><a name="line.71"></a>
-<span class="sourceLineNo">072</span>/**<a name="line.72"></a>
-<span class="sourceLineNo">073</span> * Helper class to interact with the quota table.<a name="line.73"></a>
-<span class="sourceLineNo">074</span> * &lt;table&gt;<a name="line.74"></a>
-<span class="sourceLineNo">075</span> *   &lt;tr&gt;&lt;th&gt;ROW-KEY&lt;/th&gt;&lt;th&gt;FAM/QUAL&lt;/th&gt;&lt;th&gt;DATA&lt;/th&gt;&lt;/tr&gt;<a name="line.75"></a>
-<span class="sourceLineNo">076</span> *   &lt;tr&gt;&lt;td&gt;n.&amp;lt;namespace&amp;gt;&lt;/td&gt;&lt;td&gt;q:s&lt;/td&gt;&lt;td&gt;&amp;lt;global-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.76"></a>
-<span class="sourceLineNo">077</span> *   &lt;tr&gt;&lt;td&gt;n.&amp;lt;namespace&amp;gt;&lt;/td&gt;&lt;td&gt;u:p&lt;/td&gt;&lt;td&gt;&amp;lt;namespace-quota policy&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.77"></a>
-<span class="sourceLineNo">078</span> *   &lt;tr&gt;&lt;td&gt;n.&amp;lt;namespace&amp;gt;&lt;/td&gt;&lt;td&gt;u:s&lt;/td&gt;&lt;td&gt;&amp;lt;SpaceQuotaSnapshot&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.78"></a>
-<span class="sourceLineNo">079</span> *   &lt;tr&gt;&lt;td&gt;t.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;q:s&lt;/td&gt;&lt;td&gt;&amp;lt;global-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.79"></a>
-<span class="sourceLineNo">080</span> *   &lt;tr&gt;&lt;td&gt;t.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;u:p&lt;/td&gt;&lt;td&gt;&amp;lt;table-quota policy&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.80"></a>
-<span class="sourceLineNo">081</span> *   &lt;tr&gt;&lt;td&gt;t.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;u:ss.&amp;lt;snapshot name&amp;gt;&lt;/td&gt;&lt;td&gt;&amp;lt;SpaceQuotaSnapshot&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.81"></a>
-<span class="sourceLineNo">082</span> *   &lt;tr&gt;&lt;td&gt;u.&amp;lt;user&amp;gt;&lt;/td&gt;&lt;td&gt;q:s&lt;/td&gt;&lt;td&gt;&amp;lt;global-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.82"></a>
-<span class="sourceLineNo">083</span> *   &lt;tr&gt;&lt;td&gt;u.&amp;lt;user&amp;gt;&lt;/td&gt;&lt;td&gt;q:s.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;&amp;lt;table-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.83"></a>
-<span class="sourceLineNo">084</span> *   &lt;tr&gt;&lt;td&gt;u.&amp;lt;user&amp;gt;&lt;/td&gt;&lt;td&gt;q:s.&amp;lt;ns&amp;gt;&lt;/td&gt;&lt;td&gt;&amp;lt;namespace-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.84"></a>
-<span class="sourceLineNo">085</span> * &lt;/table<a name="line.85"></a>
-<span class="sourceLineNo">086</span> */<a name="line.86"></a>
-<span class="sourceLineNo">087</span>@InterfaceAudience.Private<a name="line.87"></a>
-<span class="sourceLineNo">088</span>@InterfaceStability.Evolving<a name="line.88"></a>
-<span class="sourceLineNo">089</span>public class QuotaTableUtil {<a name="line.89"></a>
-<span class="sourceLineNo">090</span>  private static final Log LOG = LogFactory.getLog(QuotaTableUtil.class);<a name="line.90"></a>
-<span class="sourceLineNo">091</span><a name="line.91"></a>
-<span class="sourceLineNo">092</span>  /** System table for quotas */<a name="line.92"></a>
-<span class="sourceLineNo">093</span>  public static final TableName QUOTA_TABLE_NAME =<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      TableName.valueOf(NamespaceDescriptor.SYSTEM_NAMESPACE_NAME_STR, "quota");<a name="line.94"></a>
-<span class="sourceLineNo">095</span><a name="line.95"></a>
-<span class="sourceLineNo">096</span>  protected static final byte[] QUOTA_FAMILY_INFO = Bytes.toBytes("q");<a name="line.96"></a>
-<span class="sourceLineNo">097</span>  protected static final byte[] QUOTA_FAMILY_USAGE = Bytes.toBytes("u");<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  protected static final byte[] QUOTA_QUALIFIER_SETTINGS = Bytes.toBytes("s");<a name="line.98"></a>
-<span class="sourceLineNo">099</span>  protected static final byte[] QUOTA_QUALIFIER_SETTINGS_PREFIX = Bytes.toBytes("s.");<a name="line.99"></a>
-<span class="sourceLineNo">100</span>  protected static final byte[] QUOTA_QUALIFIER_POLICY = Bytes.toBytes("p");<a name="line.100"></a>
-<span class="sourceLineNo">101</span>  protected static final byte[] QUOTA_SNAPSHOT_SIZE_QUALIFIER = Bytes.toBytes("ss");<a name="line.101"></a>
-<span class="sourceLineNo">102</span>  protected static final String QUOTA_POLICY_COLUMN =<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      Bytes.toString(QUOTA_FAMILY_USAGE) + ":" + Bytes.toString(QUOTA_QUALIFIER_POLICY);<a name="line.103"></a>
-<span class="sourceLineNo">104</span>  protected static final byte[] QUOTA_USER_ROW_KEY_PREFIX = Bytes.toBytes("u.");<a name="line.104"></a>
-<span class="sourceLineNo">105</span>  protected static final byte[] QUOTA_TABLE_ROW_KEY_PREFIX = Bytes.toBytes("t.");<a name="line.105"></a>
-<span class="sourceLineNo">106</span>  protected static final byte[] QUOTA_NAMESPACE_ROW_KEY_PREFIX = Bytes.toBytes("n.");<a name="line.106"></a>
-<span class="sourceLineNo">107</span><a name="line.107"></a>
-<span class="sourceLineNo">108</span>  /* =========================================================================<a name="line.108"></a>
-<span class="sourceLineNo">109</span>   *  Quota "settings" helpers<a name="line.109"></a>
-<span class="sourceLineNo">110</span>   */<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  public static Quotas getTableQuota(final Connection connection, final TableName table)<a name="line.111"></a>
-<span class="sourceLineNo">112</span>      throws IOException {<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    return getQuotas(connection, getTableRowKey(table));<a name="line.113"></a>
-<span class="sourceLineNo">114</span>  }<a name="line.114"></a>
-<span class="sourceLineNo">115</span><a name="line.115"></a>
-<span class="sourceLineNo">116</span>  public static Quotas getNamespaceQuota(final Connection connection, final String namespace)<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      throws IOException {<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    return getQuotas(connection, getNamespaceRowKey(namespace));<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  }<a name="line.119"></a>
-<span class="sourceLineNo">120</span><a name="line.120"></a>
-<span class="sourceLineNo">121</span>  public static Quotas getUserQuota(final Connection connection, final String user)<a name="line.121"></a>
-<span class="sourceLineNo">122</span>      throws IOException {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    return getQuotas(connection, getUserRowKey(user));<a name="line.123"></a>
-<span class="sourceLineNo">124</span>  }<a name="line.124"></a>
-<span class="sourceLineNo">125</span><a name="line.125"></a>
-<span class="sourceLineNo">126</span>  public static Quotas getUserQuota(final Connection connection, final String user,<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      final TableName table) throws IOException {<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    return getQuotas(connection, getUserRowKey(user), getSettingsQualifierForUserTable(table));<a name="line.128"></a>
-<span class="sourceLineNo">129</span>  }<a name="line.129"></a>
-<span class="sourceLineNo">130</span><a name="line.130"></a>
-<span class="sourceLineNo">131</span>  public static Quotas getUserQuota(final Connection connection, final String user,<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      final String namespace) throws IOException {<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    return getQuotas(connection, getUserRowKey(user),<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      getSettingsQualifierForUserNamespace(namespace));<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  }<a name="line.135"></a>
-<span class="sourceLineNo">136</span><a name="line.136"></a>
-<span class="sourceLineNo">137</span>  private static Quotas getQuotas(final Connection connection, final byte[] rowKey)<a name="line.137"></a>
-<span class="sourceLineNo">138</span>      throws IOException {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    return getQuotas(connection, rowKey, QUOTA_QUALIFIER_SETTINGS);<a name="line.139"></a>
-<span class="sourceLineNo">140</span>  }<a name="line.140"></a>
-<span class="sourceLineNo">141</span><a name="line.141"></a>
-<span class="sourceLineNo">142</span>  private static Quotas getQuotas(final Connection connection, final byte[] rowKey,<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      final byte[] qualifier) throws IOException {<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    Get get = new Get(rowKey);<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    get.addColumn(QUOTA_FAMILY_INFO, qualifier);<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    Result result = doGet(connection, get);<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    if (result.isEmpty()) {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>      return null;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    }<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    return quotasFromData(result.getValue(QUOTA_FAMILY_INFO, qualifier));<a name="line.150"></a>
-<span class="sourceLineNo">151</span>  }<a name="line.151"></a>
-<span class="sourceLineNo">152</span><a name="line.152"></a>
-<span class="sourceLineNo">153</span>  public static Get makeGetForTableQuotas(final TableName table) {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    Get get = new Get(getTableRowKey(table));<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    get.addFamily(QUOTA_FAMILY_INFO);<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    return get;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>  }<a name="line.157"></a>
-<span class="sourceLineNo">158</span><a name="line.158"></a>
-<span class="sourceLineNo">159</span>  public static Get makeGetForNamespaceQuotas(final String namespace) {<a name="line.159"></a>
-<span class="sourceLineNo">160</span>    Get get = new Get(getNamespaceRowKey(namespace));<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    get.addFamily(QUOTA_FAMILY_INFO);<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    return get;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>  }<a name="line.163"></a>
-<span class="sourceLineNo">164</span><a name="line.164"></a>
-<span class="sourceLineNo">165</span>  public static Get makeGetForUserQuotas(final String user, final Iterable&lt;TableName&gt; tables,<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      final Iterable&lt;String&gt; namespaces) {<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    Get get = new Get(getUserRowKey(user));<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    get.addColumn(QUOTA_FAMILY_INFO, QUOTA_QUALIFIER_SETTINGS);<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    for (final TableName table: tables) {<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      get.addColumn(QUOTA_FAMILY_INFO, getSettingsQualifierForUserTable(table));<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    }<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    for (final String ns: namespaces) {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      get.addColumn(QUOTA_FAMILY_INFO, getSettingsQualifierForUserNamespace(ns));<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    }<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    return get;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>  }<a name="line.176"></a>
-<span class="sourceLineNo">177</span><a name="line.177"></a>
-<span class="sourceLineNo">178</span>  public static Scan makeScan(final QuotaFilter filter) {<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    Scan scan = new Scan();<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    scan.addFamily(QUOTA_FAMILY_INFO);<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    if (filter != null &amp;&amp; !filter.isNull()) {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>      scan.setFilter(makeFilter(filter));<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    }<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    return scan;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>  }<a name="line.185"></a>
-<span class="sourceLineNo">186</span><a name="line.186"></a>
-<span class="sourceLineNo">187</span>  /**<a name="line.187"></a>
-<span class="sourceLineNo">188</span>   * converts quotafilter to serializeable filterlists.<a name="line.188"></a>
-<span class="sourceLineNo">189</span>   */<a name="line.189"></a>
-<span class="sourceLineNo">190</span>  public static Filter makeFilter(final QuotaFilter filter) {<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    FilterList filterList = new FilterList(FilterList.Operator.MUST_PASS_ALL);<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    if (!Strings.isEmpty(filter.getUserFilter())) {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      FilterList userFilters = new FilterList(FilterList.Operator.MUST_PASS_ONE);<a name="line.193"></a>
-<span class="sourceLineNo">194</span>      boolean hasFilter = false;<a name="line.194"></a>
-<span class="sourceLineNo">195</span><a name="line.195"></a>
-<span class="sourceLineNo">196</span>      if (!Strings.isEmpty(filter.getNamespaceFilter())) {<a name="line.196"></a>
-<span class="sourceLineNo">197</span>        FilterList nsFilters = new FilterList(FilterList.Operator.MUST_PASS_ALL);<a name="line.197"></a>
-<span class="sourceLineNo">198</span>        nsFilters.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.198"></a>
-<span class="sourceLineNo">199</span>            new RegexStringComparator(getUserRowKeyRegex(filter.getUserFilter()), 0)));<a name="line.199"></a>
-<span class="sourceLineNo">200</span>        nsFilters.addFilter(new QualifierFilter(CompareFilter.CompareOp.EQUAL,<a name="line.200"></a>
-<span class="sourceLineNo">201</span>            new RegexStringComparator(<a name="line.201"></a>
-<span class="sourceLineNo">202</span>              getSettingsQualifierRegexForUserNamespace(filter.getNamespaceFilter()), 0)));<a name="line.202"></a>
-<span class="sourceLineNo">203</span>        userFilters.addFilter(nsFilters);<a name="line.203"></a>
-<span class="sourceLineNo">204</span>        hasFilter = true;<a name="line.204"></a>
-<span class="sourceLineNo">205</span>      }<a name="line.205"></a>
-<span class="sourceLineNo">206</span>      if (!Strings.isEmpty(filter.getTableFilter())) {<a name="line.206"></a>
-<span class="sourceLineNo">207</span>        FilterList tableFilters = new FilterList(FilterList.Operator.MUST_PASS_ALL);<a name="line.207"></a>
-<span class="sourceLineNo">208</span>        tableFilters.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.208"></a>
-<span class="sourceLineNo">209</span>            new RegexStringComparator(getUserRowKeyRegex(filter.getUserFilter()), 0)));<a name="line.209"></a>
-<span class="sourceLineNo">210</span>        tableFilters.addFilter(new QualifierFilter(CompareFilter.CompareOp.EQUAL,<a name="line.210"></a>
-<span class="sourceLineNo">211</span>            new RegexStringComparator(<a name="line.211"></a>
-<span class="sourceLineNo">212</span>              getSettingsQualifierRegexForUserTable(filter.getTableFilter()), 0)));<a name="line.212"></a>
-<span class="sourceLineNo">213</span>        userFilters.addFilter(tableFilters);<a name="line.213"></a>
-<span class="sourceLineNo">214</span>        hasFilter = true;<a name="line.214"></a>
-<span class="sourceLineNo">215</span>      }<a name="line.215"></a>
-<span class="sourceLineNo">216</span>      if (!hasFilter) {<a name="line.216"></a>
-<span class="sourceLineNo">217</span>        userFilters.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.217"></a>
-<span class="sourceLineNo">218</span>            new RegexStringComparator(getUserRowKeyRegex(filter.getUserFilter()), 0)));<a name="line.218"></a>
-<span class="sourceLineNo">219</span>      }<a name="line.219"></a>
-<span class="sourceLineNo">220</span><a name="line.220"></a>
-<span class="sourceLineNo">221</span>      filterList.addFilter(userFilters);<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    } else if (!Strings.isEmpty(filter.getTableFilter())) {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>      filterList.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.223"></a>
-<span class="sourceLineNo">224</span>          new RegexStringComparator(getTableRowKeyRegex(filter.getTableFilter()), 0)));<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    } else if (!Strings.isEmpty(filter.getNamespaceFilter())) {<a name="line.225"></a>
-<span class="sourceLineNo">226</span>      filterList.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.226"></a>
-<span class="sourceLineNo">227</span>          new RegexStringComparator(getNamespaceRowKeyRegex(filter.getNamespaceFilter()), 0)));<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    }<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    return filterList;<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  }<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>  /**<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   * Creates a {@link Scan} which returns only quota snapshots from the quota table.<a name="line.233"></a>
-<span class="sourceLineNo">234</span>   */<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  public static Scan makeQuotaSnapshotScan() {<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    return makeQuotaSnapshotScanForTable(null);<a name="line.236"></a>
-<span class="sourceLineNo">237</span>  }<a name="line.237"></a>
-<span class="sourceLineNo">238</span><a name="line.238"></a>
-<span class="sourceLineNo">239</span>  /**<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * Fetches all {@link SpaceQuotaSnapshot} objects from the {@code hbase:quota} table.<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   *<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   * @param conn The HBase connection<a name="line.242"></a>
-<span class="sourceLineNo">243</span>   * @return A map of table names and their computed snapshot.<a name="line.243"></a>
-<span class="sourceLineNo">244</span>   */<a name="line.244"></a>
-<span class="sourceLineNo">245</span>  public static Map&lt;TableName,SpaceQuotaSnapshot&gt; getSnapshots(Connection conn) throws IOException {<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    Map&lt;TableName,SpaceQuotaSnapshot&gt; snapshots = new HashMap&lt;&gt;();<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    try (Table quotaTable = conn.getTable(QUOTA_TABLE_NAME);<a name="line.247"></a>
-<span class="sourceLineNo">248</span>        ResultScanner rs = quotaTable.getScanner(makeQuotaSnapshotScan())) {<a name="line.248"></a>
-<span class="sourceLineNo">249</span>      for (Result r : rs) {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>        extractQuotaSnapshot(r, snapshots);<a name="line.250"></a>
-<span class="sourceLineNo">251</span>      }<a name="line.251"></a>
-<span class="sourceLineNo">252</span>    }<a name="line.252"></a>
-<span class="sourceLineNo">253</span>    return snapshots;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  }<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>  /**<a name="line.256"></a>
-<span class="sourceLineNo">257</span>   * Creates a {@link Scan} which returns only {@link SpaceQuotaSnapshot} from the quota table for a<a name="line.257"></a>
-<span class="sourceLineNo">258</span>   * specific table.<a name="line.258"></a>
-<span class="sourceLineNo">259</span>   * @param tn Optionally, a table name to limit the scan's rowkey space. Can be null.<a name="line.259"></a>
-<span class="sourceLineNo">260</span>   */<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  public static Scan makeQuotaSnapshotScanForTable(TableName tn) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    Scan s = new Scan();<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    // Limit to "u:v" column<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    s.addColumn(QUOTA_FAMILY_USAGE, QUOTA_QUALIFIER_POLICY);<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    if (null == tn) {<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      s.setRowPrefixFilter(QUOTA_TABLE_ROW_KEY_PREFIX);<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    } else {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      byte[] row = getTableRowKey(tn);<a name="line.268"></a>
-<span class="sourceLineNo">269</span>      // Limit rowspace to the "t:" prefix<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      s.withStartRow(row, true).withStopRow(row, true);<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    }<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    return s;<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  }<a name="line.273"></a>
-<span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>  /**<a name="line.275"></a>
-<span class="sourceLineNo">276</span>   * Extracts the {@link SpaceViolationPolicy} and {@link TableName} from the provided<a name="line.276"></a>
-<span class="sourceLineNo">277</span>   * {@link Result} and adds them to the given {@link Map}. If the result does not contain<a name="line.277"></a>
-<span class="sourceLineNo">278</span>   * the expected information or the serialized policy in the value is invalid, this method<a name="line.278"></a>
-<span class="sourceLineNo">279</span>   * will throw an {@link IllegalArgumentException}.<a name="line.279"></a>
-<span class="sourceLineNo">280</span>   *<a name="line.280"></a>
-<span class="sourceLineNo">281</span>   * @param result A row from the quota table.<a name="line.281"></a>
-<span class="sourceLineNo">282</span>   * @param snapshots A map of snapshots to add the result of this method into.<a name="line.282"></a>
-<span class="sourceLineNo">283</span>   */<a name="line.283"></a>
-<span class="sourceLineNo">284</span>  public static void extractQuotaSnapshot(<a name="line.284"></a>
-<span class="sourceLineNo">285</span>      Result result, Map&lt;TableName,SpaceQuotaSnapshot&gt; snapshots) {<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    byte[] row = Objects.requireNonNull(result).getRow();<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    if (row == null) {<a name="line.287"></a>
-<span class="sourceLineNo">288</span>      throw new IllegalArgumentException("Provided result had a null row");<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    }<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    final TableName targetTableName = getTableFromRowKey(row);<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    Cell c = result.getColumnLatestCell(QUOTA_FAMILY_USAGE, QUOTA_QUALIFIER_POLICY);<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    if (c == null) {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>      throw new IllegalArgumentException("Result did not contain the expected column "<a name="line.293"></a>
-<span class="sourceLineNo">294</span>          + QUOTA_POLICY_COLUMN + ", " + result.toString());<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    }<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    ByteString buffer = UnsafeByteOperations.unsafeWrap(<a name="line.296"></a>
-<span class="sourceLineNo">297</span>        c.getValueArray(), c.getValueOffset(), c.getValueLength());<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    try {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      QuotaProtos.SpaceQuotaSnapshot snapshot = QuotaProtos.SpaceQuotaSnapshot.parseFrom(buffer);<a name="line.299"></a>
-<span class="sourceLineNo">300</span>      snapshots.put(targetTableName, SpaceQuotaSnapshot.toSpaceQuotaSnapshot(snapshot));<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    } catch (InvalidProtocolBufferException e) {<a name="line.301"></a>
-<span class="sourceLineNo">302</span>      throw new IllegalArgumentException(<a name="line.302"></a>
-<span class="sourceLineNo">303</span>          "Result did not contain a valid SpaceQuota protocol buffer message", e);<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    }<a name="line.304"></a>
-<span class="sourceLineNo">305</span>  }<a name="line.305"></a>
-<span class="sourceLineNo">306</span><a name="line.306"></a>
-<span class="sourceLineNo">307</span>  public static interface UserQuotasVisitor {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    void visitUserQuotas(final String userName, final Quotas quotas)<a name="line.308"></a>
-<span class="sourceLineNo">309</span>      throws IOException;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    void visitUserQuotas(final String userName, final TableName table, final Quotas quotas)<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      throws IOException;<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    void visitUserQuotas(final String userName, final String namespace, final Quotas quotas)<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      throws IOException;<a name="line.313"></a>
-<span class="sourceLineNo">314</span>  }<a name="line.314"></a>
-<span class="sourceLineNo">315</span><a name="line.315"></a>
-<span class="sourceLineNo">316</span>  public static interface TableQuotasVisitor {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    void visitTableQuotas(final TableName tableName, final Quotas quotas)<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      throws IOException;<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  }<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>  public static interface NamespaceQuotasVisitor {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    void visitNamespaceQuotas(final String namespace, final Quotas quotas)<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      throws IOException;<a name="line.323"></a>
-<span class="sourceLineNo">324</span>  }<a name="line.324"></a>
-<span class="sourceLineNo">325</span><a name="line.325"></a>
-<span class="sourceLineNo">326</span>  public static interface QuotasVisitor extends UserQuotasVisitor,<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      TableQuotasVisitor, NamespaceQuotasVisitor {<a name="line.327"></a>
-<span class="sourceLineNo">328</span>  }<a name="line.328"></a>
-<span class="sourceLineNo">329</span><a name="line.329"></a>
-<span class="sourceLineNo">330</span>  public static void parseResult(final Result result, final QuotasVisitor visitor)<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      throws IOException {<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    byte[] row = result.getRow();<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    if (isNamespaceRowKey(row)) {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>      parseNamespaceResult(result, visitor);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>    } else if (isTableRowKey(row)) {<a name="line.335"></a>
-<span class="sourceLineNo">336</span>      parseTableResult(result, visitor);<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    } else if (isUserRowKey(row)) {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      parseUserResult(result, visitor);<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    } else {<a name="line.339"></a>
-<span class="sourceLineNo">340</span>      LOG.warn("unexpected row-key: " + Bytes.toString(row));<a name="line.340"></a>
-<span class="sourceLineNo">341</span>    }<a name="line.341"></a>
-<span class="sourceLineNo">342</span>  }<a name="line.342"></a>
-<span class="sourceLineNo">343</span><a name="line.343"></a>
-<span class="sourceLineNo">344</span>  public static void parseResultToCollection(final Result result,<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      Collection&lt;QuotaSettings&gt; quotaSettings) throws IOException {<a name="line.345"></a>
-<span class="sourceLineNo">346</span><a name="line.346"></a>
-<span class="sourceLineNo">347</span>    QuotaTableUtil.parseResult(result, new QuotaTableUtil.QuotasVisitor() {<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      @Override<a name="line.348"></a>
-<span class="sourceLineNo">349</span>      public void visitUserQuotas(String userName, Quotas quotas) {<a name="line.349"></a>
-<span class="sourceLineNo">350</span>        quotaSettings.addAll(QuotaSettingsFactory.fromUserQuotas(userName, quotas));<a name="line.350"></a>
-<span class="sourceLineNo">351</span>      }<a name="line.351"></a>
-<span class="sourceLineNo">352</span><a name="line.352"></a>
-<span class="sourceLineNo">353</span>      @Override<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      public void visitUserQuotas(String userName, TableName table, Quotas quotas) {<a name="line.354"></a>
-<span class="sourceLineNo">355</span>        quotaSettings.addAll(QuotaSettingsFactory.fromUserQuotas(userName, table, quotas));<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      }<a name="line.356"></a>
-<span class="sourceLineNo">357</span><a name="line.357"></a>
-<span class="sourceLineNo">358</span>      @Override<a name="line.358"></a>
-<span class="sourceLineNo">359</span>      public void visitUserQuotas(String userName, String namespace, Quotas quotas) {<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        quotaSettings.addAll(QuotaSettingsFactory.fromUserQuotas(userName, namespace, quotas));<a name="line.360"></a>
-<span class="sourceLineNo">361</span>      }<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>      @Override<a name="line.363"></a>
-<span class="sourceLineNo">364</span>      public void visitTableQuotas(TableName tableName, Quotas quotas) {<a name="line.364"></a>
-<span class="sourceLineNo">365</span>        quotaSettings.addAll(QuotaSettingsFactory.fromTableQuotas(tableName, quotas));<a name="line.365"></a>
-<span class="sourceLineNo">366</span>      }<a name="line.366"></a>
-<span class="sourceLineNo">367</span><a name="line.367"></a>
-<span class="sourceLineNo">368</span>      @Override<a name="line.368"></a>
-<span class="sourceLineNo">369</span>      public void visitNamespaceQuotas(String namespace, Quotas quotas) {<a name="line.369"></a>
-<span class="sourceLineNo">370</span>        quotaSettings.addAll(QuotaSettingsFactory.fromNamespaceQuotas(namespace, quotas));<a name="line.370"></a>
-<span class="sourceLineNo">371</span>      }<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    });<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  }<a name="line.373"></a>
-<span class="sourceLineNo">374</span><a name="line.374"></a>
-<span class="sourceLineNo">375</span>  public static void parseNamespaceResult(final Result result,<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      final NamespaceQuotasVisitor visitor) throws IOException {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    String namespace = getNamespaceFromRowKey(result.getRow());<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    parseNamespaceResult(namespace, result, visitor);<a name="line.378"></a>
-<span class="sourceLineNo">379</span>  }<a name="line.379"></a>
-<span class="sourceLineNo">380</span><a name="line.380"></a>
-<span class="sourceLineNo">381</span>  protected static void parseNamespaceResult(final String namespace, final Result result,<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      final NamespaceQuotasVisitor visitor) throws IOException {<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    byte[] data = result.getValue(QUOTA_FAMILY_INFO, QUOTA_QUALIFIER_SETTINGS);<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    if (data != null) {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>      Quotas quotas = quotasFromData(data);<a name="line.385"></a>
-<span class="sourceLineNo">386</span>      visitor.visitNamespaceQuotas(namespace, quotas);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    }<a name="line.387"></a>
-<span class="sourceLineNo">388</span>  }<a name="line.388"></a>
-<span class="sourceLineNo">389</span><a name="line.389"></a>
-<span class="sourceLineNo">390</span>  public static void parseTableResult(final Result result, final TableQuotasVisitor visitor)<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      throws IOException {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    TableName table = getTableFromRowKey(result.getRow());<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    parseTableResult(table, result, visitor);<a name="line.393"></a>
-<span class="sourceLineNo">394</span>  }<a name="line.394"></a>
-<span class="sourceLineNo">395</span><a name="line.395"></a>
-<span class="sourceLineNo">396</span>  protected static void parseTableResult(final TableName table, final Result result,<a name="line.396"></a>
-<span class="sourceLineNo">397</span>      final TableQuotasVisitor visitor) throws IOException {<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    byte[] data = result.getValue(QUOTA_FAMILY_INFO, QUOTA_QUALIFIER_SETTINGS);<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    if (data != null) {<a name="line.399"></a>
-<span class="sourceLineNo">400</span>      Quotas quotas = quotasFromData(data);<a name="line.400"></a>
-<span class="sourceLineNo">401</span>      visitor.visitTableQuotas(table, quotas);<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    }<a name="line.402"></a>
-<span class="sourceLineNo">403</span>  }<a name="line.403"></a>
-<span class="sourceLineNo">404</span><a name="line.404"></a>
-<span class="sourceLineNo">405</span>  public static void parseUserResult(final Result result, final UserQuotasVisitor visitor)<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      throws IOException {<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    String userName = getUserFromRowKey(result.getRow());<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    parseUserResult(userName, result, visitor);<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  }<a name="line.409"></a>
-<span class="sourceLineNo">410</span><a name="line.410"></a>
-<span class="sourceLineNo">411</span>  protected static void parseUserResult(final String userName, final Result result,<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      final UserQuotasVisitor visitor) throws IOException {<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    Map&lt;byte[], byte[]&gt; familyMap = result.getFamilyMap(QUOTA_FAMILY_INFO);<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    if (familyMap == null || familyMap.isEmpty()) return;<a name="line.414"></a>
-<span class="sourceLineNo">415</span><a name="line.415"></a>
-<span class="sourceLineNo">416</span>    for (Map.Entry&lt;byte[], byte[]&gt; entry: familyMap.entrySet()) {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      Quotas quotas = quotasFromData(entry.getValue());<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      if (Bytes.startsWith(entry.getKey(), QUOTA_QUALIFIER_SETTINGS_PREFIX)) {<a name="line.418"></a>
-<span class="sourceLineNo">419</span>        String name = Bytes.toString(entry.getKey(), QUOTA_QUALIFIER_SETTINGS_PREFIX.length);<a name="line.419"></a>
-<span class="sourceLineNo">420</span>        if (name.charAt(name.length() - 1) == TableName.NAMESPACE_DELIM) {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>          String namespace = name.substring(0, name.length() - 1);<a name="line.421"></a>
-<span class="sourceLineNo">422</span>          visitor.visitUserQuotas(userName, namespace, quotas);<a name="line.422"></a>
-<span class="sourceLineNo">423</span>        } else {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>          TableName table = TableName.valueOf(name);<a name="line.424"></a>
-<span class="sourceLineNo">425</span>          visitor.visitUserQuotas(userName, table, quotas);<a name="line.425"></a>
-<span class="sourceLineNo">426</span>        }<a name="line.426"></a>
-<span class="sourceLineNo">427</span>      } else if (Bytes.equals(entry.getKey(), QUOTA_QUALIFIER_SETTINGS)) {<a name="line.427"></a>
-<span class="sourceLineNo">428</span>        visitor.visitUserQuotas(userName, quotas);<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      }<a name="line.429"></a>
-<span class="sourceLineNo">430</span>    }<a name="line.430"></a>
-<span class="sourceLineNo">431</span>  }<a name="line.431"></a>
-<span class="sourceLineNo">432</span><a name="line.432"></a>
-<span class="sourceLineNo">433</span>  /**<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * Creates a {@link Put} to store the given {@code snapshot} for the given {@code tableName} in<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   * the quota table.<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   */<a name="line.436"></a>
-<span class="sourceLineNo">437</span>  static Put createPutForSpaceSnapshot(TableName tableName, SpaceQuotaSnapshot snapshot) {<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    Put p = new Put(getTableRowKey(tableName));<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    p.addColumn(<a name="line.439"></a>
-<span class="sourceLineNo">440</span>        QUOTA_FAMILY_USAGE, QUOTA_QUALIFIER_POLICY,<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        SpaceQuotaSnapshot.toProtoSnapshot(snapshot).toByteArray());<a name="line.441"></a>
-<span class="sourceLineNo">442</span>    return p;<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>  /**<a name="line.445"></a>
-<span class="sourceLineNo">446</span>   * Creates a {@link Get} for the HBase snapshot's size against the given table.<a name="line.446"></a>
-<span class="sourceLineNo">447</span>   */<a name="line.447"></a>
-<span class="sourceLineNo">448</span>  static Get makeGetForSnapshotSize(TableName tn, String snapshot) {<a name="line.448"></a>
-<span class="sourceLineNo">449</span>    Get g = new Get(Bytes.add(QUOTA_TABLE_ROW_KEY_PREFIX, Bytes.toBytes(tn.toString())));<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    g.addColumn(<a name="line.450"></a>
-<span class="sourceLineNo">451</span>        QUOTA_FAMILY_USAGE,<a name="line.451"></a>
-<span class="sourceLineNo">452</span>        Bytes.add(QUOTA_SNAPSHOT_SIZE_QUALIFIER, Bytes.toBytes(snapshot)));<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    return g;<a name="line.453"></a>
-<span class="sourceLineNo">454</span>  }<a name="line.454"></a>
-<span class="sourceLineNo">455</span><a name="line.455"></a>
-<span class="sourceLineNo">456</span>  /**<a name="line.456"></a>
-<span class="sourceLineNo">457</span>   * Creates a {@link Put} to persist the current size of the {@code snapshot} with respect to<a name="line.457"></a>
-<span class="sourceLineNo">458</span>   * the given {@code table}.<a name="line.458"></a>
-<span class="sourceLineNo">459</span>   */<a name="line.459"></a>
-<span class="sourceLineNo">460</span>  static Put createPutForSnapshotSize(TableName tableName, String snapshot, long size) {<a name="line.460"></a>
-<span class="sourceLineNo">461</span>    // We just need a pb message with some `long usage`, so we can just reuse the<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    // SpaceQuotaSnapshot message instead of creating a new one.<a name="line.462"></a>
-<span class="sourceLineNo">463</span>    Put p = new Put(getTableRowKey(tableName));<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    p.addColumn(QUOTA_FAMILY_USAGE, getSnapshotSizeQualifier(snapshot),<a name="line.464"></a>
-<span class="sourceLineNo">465</span>        org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuotaSnapshot<a name="line.465"></a>
-<span class="sourceLineNo">466</span>            .newBuilder().setQuotaUsage(size).build().toByteArray());<a name="line.466"></a>
-<span class="sourceLineNo">467</span>    return p;<a name="line.467"></a>
-<span class="sourceLineNo">468</span>  }<a name="line.468"></a>
-<span class="sourceLineNo">469</span><a name="line.469"></a>
-<span class="sourceLineNo">470</span>  /**<a name="line.470"></a>
-<span class="sourceLineNo">471</span>   * Creates a {@code Put} for the namespace's total snapshot size.<a name="line.471"></a>
-<span class="sourceLineNo">472</span>   */<a name="line.472"></a>
-<span class="sourceLineNo">473</span>  static Put createPutForNamespaceSnapshotSize(String namespace, long size) {<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    Put p = new Put(getNamespaceRowKey(namespace));<a name="line.474"></a>
-<span class="sourceLineNo">475</span>    p.addColumn(QUOTA_FAMILY_USAGE, QUOTA_SNAPSHOT_SIZE_QUALIFIER,<a name="line.475"></a>
-<span class="sourceLineNo">476</span>        org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuotaSnapshot<a name="line.476"></a>
-<span class="sourceLineNo">477</span>            .newBuilder().setQuotaUsage(size).build().toByteArray());<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    return p;<a name="line.478"></a>
-<span class="sourceLineNo">479</span>  }<a name="line.479"></a>
-<span class="sourceLineNo">480</span><a name="line.480"></a>
-<span class="sourceLineNo">481</span>  /**<a name="line.481"></a>
-<span class="sourceLineNo">482</span>   * Fetches the computed size of all snapshots against tables in a namespace for space quotas.<a name="line.482"></a>
-<span class="sourceLineNo">483</span>   */<a name="line.483"></a>
-<span class="sourceLineNo">484</span>  static long getNamespaceSnapshotSize(<a name="line.484"></a>
-<span class="sourceLineNo">485</span>      Connection conn, String namespace) throws IOException {<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    try (Table quotaTable = conn.getTable(QuotaTableUtil.QUOTA_TABLE_NAME)) {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      Result r = quotaTable.get(createGetNamespaceSnapshotSize(namespace));<a name="line.487"></a>
-<span class="sourceLineNo">488</span>      if (r.isEmpty()) {<a name="line.488"></a>
-<span class="sourceLineNo">489</span>        return 0L;<a name="line.489"></a>
-<span class="sourceLineNo">490</span>      }<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      r.advance();<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      return parseSnapshotSize(r.current());<a name="line.492"></a>
-<span class="sourceLineNo">493</span>    } catch (InvalidProtocolBufferException e) {<a name="line.493"></a>
-<span class="sourceLineNo">494</span>      throw new IOException("Could not parse snapshot size value for namespace " + namespace, e);<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    }<a name="line.495"></a>
-<span class="sourceLineNo">496</span>  }<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>  /**<a name="line.498"></a>
-<span class="sourceLineNo">499</span>   * Creates a {@code Get} to fetch the namespace's total snapshot size.<a name="line.499"></a>
-<span class="sourceLineNo">500</span>   */<a name="line.500"></a>
-<span class="sourceLineNo">501</span>  static Get createGetNamespaceSnapshotSize(String namespace) {<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    Get g = new Get(getNamespaceRowKey(namespace));<a name="line.502"></a>
-<span class="sourceLineNo">503</span>    g.addColumn(QUOTA_FAMILY_USAGE, QUOTA_SNAPSHOT_SIZE_QUALIFIER);<a name="line.503"></a>
-<span class="sourceLineNo">504</span>    return g;<a name="line.504"></a>
-<span class="sourceLineNo">505</span>  }<a name="line.505"></a>
-<span class="sourceLineNo">506</span><a name="line.506"></a>
-<span class="sourceLineNo">507</span>  /**<a name="line.507"></a>
-<span class="sourceLineNo">508</span>   * Parses the snapshot size from the given Cell's value.<a name="line.508"></a>
-<span class="sourceLineNo">509</span>   */<a name="line.509"></a>
-<span class="sourceLineNo">510</span>  static long parseSnapshotSize(Cell c) throws InvalidProtocolBufferException {<a name="line.510"></a>
-<span class="sourceLineNo">511</span>    ByteString bs = UnsafeByteOperations.unsafeWrap(<a name="line.511"></a>
-<span class="sourceLineNo">512</span>        c.getValueArray(), c.getValueOffset(), c.getValueLength());<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    return QuotaProtos.SpaceQuotaSnapshot.parseFrom(bs).getQuotaUsage();<a name="line.513"></a>
-<span class="sourceLineNo">514</span>  }<a name="line.514"></a>
-<span class="sourceLineNo">515</span><a name="line.515"></a>
-<span class="sourceLineNo">516</span>  static Scan createScanForSnapshotSizes(TableName table) {<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    byte[] rowkey = getTableRowKey(table);<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    return new Scan()<a name="line.518"></a>
-<span class="sourceLineNo">519</span>        // Fetch just this one row<a name="line.519"></a>
-<span class="sourceLineNo">520</span>        .withStartRow(rowkey)<a name="line.520"></a>
-<span class="sourceLineNo">521</span>        .withStopRow(rowkey, true)<a name="line.521"></a>
-<span class="sourceLineNo">522</span>        // Just the usage family<a name="line.522"></a>
-<span class="sourceLineNo">523</span>        .addFamily(QUOTA_FAMILY_USAGE)<a name="line.523"></a>
-<span class="sourceLineNo">524</span>        // Only the snapshot size qualifiers<a name="line.524"></a>
-<span class="sourceLineNo">525</span>        .setFilter(new ColumnPrefixFilter(QUOTA_SNAPSHOT_SIZE_QUALIFIER));<a name="line.525"></a>
-<span class="sourceLineNo">526</span>  }<a name="line.526"></a>
-<span class="sourceLineNo">527</span><a name="line.527"></a>
-<span class="sourceLineNo">528</span>  /* =========================================================================<a name="line.528"></a>
-<span class="sourceLineNo">529</span>   *  Space quota status RPC helpers<a name="line.529"></a>
-<span class="sourceLineNo">530</span>   */<a name="line.530"></a>
-<span class="sourceLineNo">531</span>  /**<a name="line.531"></a>
-<span class="sourceLineNo">532</span>   * Fetches the table sizes on the filesystem as tracked by the HBase Master.<a name="line.532"></a>
-<span class="sourceLineNo">533</span>   */<a name="line.533"></a>
-<span class="sourceLineNo">534</span>  public static Map&lt;TableName,Long&gt; getMasterReportedTableSizes(<a name="line.534"></a>
-<span class="sourceLineNo">535</span>      Connection conn) throws IOException {<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    if (!(conn instanceof ClusterConnection)) {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      throw new IllegalArgumentException("Expected a ClusterConnection");<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    }<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    ClusterConnection clusterConn = (ClusterConnection) conn;<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    GetSpaceQuotaRegionSizesResponse response = QuotaStatusCalls.getMasterRegionSizes(<a name="line.540"></a>
-<span class="sourceLineNo">541</span>        clusterConn, 0);<a name="line.541"></a>
-<span class="sourceLineNo">542</span>    Map&lt;TableName,Long&gt; tableSizes = new HashMap&lt;&gt;();<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    for (RegionSizes sizes : response.getSizesList()) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>      TableName tn = ProtobufUtil.toTableName(sizes.getTableName());<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      tableSizes.put(tn, sizes.getSize());<a name="line.545"></a>
-<span class="sourceLineNo">546</span>    }<a name="line.546"></a>
-<span class="sourceLineNo">547</span>    return tableSizes;<a name="line.547"></a>
-<span class="sourceLineNo">548</span>  }<a name="line.548"></a>
-<span class="sourceLineNo">549</span><a name="line.549"></a>
-<span class="sourceLineNo">550</span>  /**<a name="line.550"></a>
-<span class="sourceLineNo">551</span>   * Fetches the observed {@link SpaceQuotaSnapshot}s observed by a RegionServer.<a name="line.551"></a>
-<span class="sourceLineNo">552</span>   */<a name="line.552"></a>
-<span class="sourceLineNo">553</span>  public static Map&lt;TableName,SpaceQuotaSnapshot&gt; getRegionServerQuotaSnapshots(<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      Connection conn, ServerName regionServer) throws IOException {<a name="line.554"></a>
-<span class="sourceLineNo">555</span>    if (!(conn instanceof ClusterConnection)) {<a name="line.555"></a>
-<span class="sourceLineNo">556</span>      throw new IllegalArgumentException("Expected a ClusterConnection");<a name="line.556"></a>
-<span class="sourceLineNo">557</span>    }<a name="line.557"></a>
-<span class="sourceLineNo">558</span>    ClusterConnection clusterConn = (ClusterConnection) conn;<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    GetSpaceQuotaSnapshotsResponse response = QuotaStatusCalls.getRegionServerQuotaSnapshot(<a name="line.559"></a>
-<span class="sourceLineNo">560</span>        clusterConn, 0, regionServer);<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    Map&lt;TableName,SpaceQuotaSnapshot&gt; snapshots = new HashMap&lt;&gt;();<a name="line.561"></a>
-<span class="sourceLineNo">562</span>    for (TableQuotaSnapshot snapshot : response.getSnapshotsList()) {<a name="line.562"></a>
-<span class="sourceLineNo">563</span>      snapshots.put(<a name="line.563"></a>
-<span class="sourceLineNo">564</span>          ProtobufUtil.toTableName(snapshot.getTableName()),<a name="line.564"></a>
-<span class="sourceLineNo">565</span>          SpaceQuotaSnapshot.toSpaceQuotaSnapshot(snapshot.getSnapshot()));<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    }<a name="line.566"></a>
-<span class="sourceLineNo">567</span>    return snapshots;<a name="line.567"></a>
-<span class="sourceLineNo">568</span>  }<a name="line.568"></a>
-<span class="sourceLineNo">569</span><a name="line.569"></a>
-<span class="sourceLineNo">570</span>  /**<a name="line.570"></a>
-<span class="sourceLineNo">571</span>   * Returns the Master's view of a quota on the given {@code tableName} or null if the<a name="line.571"></a>
-<span class="sourceLineNo">572</span>   * Master has no quota information on that table.<a name="line.572"></a>
-<span class="sourceLineNo">573</span>   */<a name="line.573"></a>
-<span class="sourceLineNo">574</span>  public static SpaceQuotaSnapshot getCurrentSnapshot(<a name="line.574"></a>
-<span class="sourceLineNo">575</span>      Connection conn, TableName tn) throws IOException {<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    if (!(conn instanceof ClusterConnection)) {<a name="line.576"></a>
-<span class="sourceLineNo">577</span>      throw new IllegalArgumentException("Expected a ClusterConnection");<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    }<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    ClusterConnection clusterConn = (ClusterConnection) conn;<a name="line.579"></a>
-<span class="sourceLineNo">580</span>    GetQuotaStatesResponse resp = QuotaStatusCalls.getMasterQuotaStates(clusterConn, 0);<a name="line.580"></a>
-<span class="sourceLineNo">581</span>    HBaseProtos.TableName protoTableName = ProtobufUtil.toProtoTableName(tn);<a name="line.581"></a>
-<span class="sourceLineNo">582</span>    for (GetQuotaStatesResponse.TableQuotaSnapshot tableSnapshot : resp.getTableSnapshotsList()) {<a name="line.582"></a>
-<span class="sourceLineNo">583</span>      if (protoTableName.equals(tableSnapshot.getTableName())) {<a name="line.583"></a>
-<span class="sourceLineNo">584</span>        return SpaceQuotaSnapshot.toSpaceQuotaSnapshot(tableSnapshot.getSnapshot());<a name="line.584"></a>
-<span class="sourceLineNo">585</span>      }<a name="line.585"></a>
-<span class="sourceLineNo">586</span>    }<a name="line.586"></a>
-<span class="sourceLineNo">587</span>    return null;<a name="line.587"></a>
-<span class="sourceLineNo">588</span>  }<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span>  /**<a name="line.590"></a>
-<span class="sourceLineNo">591</span>   * Returns the Master's view of a quota on the given {@code namespace} or null if the<a name="line.591"></a>
-<span class="sourceLineNo">592</span>   * Master has no quota information on that namespace.<a name="line.592"></a>
-<span class="sourceLineNo">593</span>   */<a name="line.593"></a>
-<span class="sourceLineNo">594</span>  public static SpaceQuotaSnapshot getCurrentSnapshot(<a name="line.594"></a>
-<span class="sourceLineNo">595</span>      Connection conn, String namespace) throws IOException {<a name="line.595"></a>
-<span class="sourceLineNo">596</span>    if (!(conn instanceof ClusterConnection)) {<a name="line.596"></a>
-<span class="sourceLineNo">597</span>      throw new IllegalArgumentException("Expected a ClusterConnection");<a name="line.597"></a>
-<span class="sourceLineNo">598</span>    }<a name="line.598"></a>
-<span class="sourceLineNo">599</span>    ClusterConnection clusterConn = (ClusterConnection) conn;<a name="line.599"></a>
-<span class="sourceLineNo">600</span>    GetQuotaStatesResponse resp = QuotaStatusCalls.getMasterQuotaStates(clusterConn, 0);<a name="line.600"></a>
-<span class="sourceLineNo">601</span>    for (GetQuotaStatesResponse.NamespaceQuotaSnapshot nsSnapshot : resp.getNsSnapshotsList()) {<a name="line.601"></a>
-<span class="sourceLineNo">602</span>      if (namespace.equals(nsSnapshot.getNamespace())) {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>        return SpaceQuotaSnapshot.toSpaceQuotaSnapshot(nsSnapshot.getSnapshot());<a name="line.603"></a>
-<span class="sourceLineNo">604</span>      }<a name="line.604"></a>
-<span class="sourceLineNo">605</span>    }<a name="line.605"></a>
-<span class="sourceLineNo">606</span>    return null;<a name="line.606"></a>
-<span class="sourceLineNo">607</span>  }<a name="line.607"></a>
-<span class="sourceLineNo">608</span><a name="line.608"></a>
-<span class="sourceLineNo">609</span>  /* =========================================================================<a name="line.609"></a>
-<span class="sourceLineNo">610</span>   *  Quotas protobuf helpers<a name="line.610"></a>
-<span class="sourceLineNo">611</span>   */<a name="line.611"></a>
-<span class="sourceLineNo">612</span>  protected static Quotas quotasFromData(final byte[] data) throws IOException {<a name="line.612"></a>
-<span class="sourceLineNo">613</span>    return quotasFromData(data, 0, data.length);<a name="line.613"></a>
-<span class="sourceLineNo">614</span>  }<a name="line.614"></a>
-<span class="sourceLineNo">615</span><a name="line.615"></a>
-<span class="sourceLineNo">616</span>  protected static Quotas quotasFromData(<a name="line.616"></a>
-<span class="sourceLineNo">617</span>      final byte[] data, int offset, int length) throws IOException {<a name="line.617"></a>
-<span class="sourceLineNo">618</span>    int magicLen = ProtobufMagic.lengthOfPBMagic();<a name="line.618"></a>
-<span class="sourceLineNo">619</span>    if (!ProtobufMagic.isPBMagicPrefix(data, offset, magicLen)) {<a name="line.619"></a>
-<span class="sourceLineNo">620</span>      throw new IOException("Missing pb magic prefix");<a name="line.620"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.ServerName;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.TableName;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.client.ClusterConnection;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.client.Get;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.client.Put;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.client.QuotaStatusCalls;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.client.Result;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.client.ResultScanner;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.client.Table;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.filter.ColumnPrefixFilter;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.filter.CompareFilter;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.filter.Filter;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.filter.FilterList;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.filter.QualifierFilter;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.filter.RegexStringComparator;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.filter.RowFilter;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.protobuf.ProtobufMagic;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.InvalidProtocolBufferException;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.UnsafeByteOperations;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetQuotaStatesResponse;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaRegionSizesResponse;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse.TableQuotaSnapshot;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaRegionSizesResponse.RegionSizes;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.util.Strings;<a name="line.71"></a>
+<span class="sourceLineNo">072</span><a name="line.72"></a>
+<span class="sourceLineNo">073</span>/**<a name="line.73"></a>
+<span class="sourceLineNo">074</span> * Helper class to interact with the quota table.<a name="line.74"></a>
+<span class="sourceLineNo">075</span> * &lt;table&gt;<a name="line.75"></a>
+<span class="sourceLineNo">076</span> *   &lt;tr&gt;&lt;th&gt;ROW-KEY&lt;/th&gt;&lt;th&gt;FAM/QUAL&lt;/th&gt;&lt;th&gt;DATA&lt;/th&gt;&lt;/tr&gt;<a name="line.76"></a>
+<span class="sourceLineNo">077</span> *   &lt;tr&gt;&lt;td&gt;n.&amp;lt;namespace&amp;gt;&lt;/td&gt;&lt;td&gt;q:s&lt;/td&gt;&lt;td&gt;&amp;lt;global-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.77"></a>
+<span class="sourceLineNo">078</span> *   &lt;tr&gt;&lt;td&gt;n.&amp;lt;namespace&amp;gt;&lt;/td&gt;&lt;td&gt;u:p&lt;/td&gt;&lt;td&gt;&amp;lt;namespace-quota policy&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.78"></a>
+<span class="sourceLineNo">079</span> *   &lt;tr&gt;&lt;td&gt;n.&amp;lt;namespace&amp;gt;&lt;/td&gt;&lt;td&gt;u:s&lt;/td&gt;&lt;td&gt;&amp;lt;SpaceQuotaSnapshot&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.79"></a>
+<span class="sourceLineNo">080</span> *   &lt;tr&gt;&lt;td&gt;t.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;q:s&lt;/td&gt;&lt;td&gt;&amp;lt;global-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.80"></a>
+<span class="sourceLineNo">081</span> *   &lt;tr&gt;&lt;td&gt;t.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;u:p&lt;/td&gt;&lt;td&gt;&amp;lt;table-quota policy&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.81"></a>
+<span class="sourceLineNo">082</span> *   &lt;tr&gt;&lt;td&gt;t.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;u:ss.&amp;lt;snapshot name&amp;gt;&lt;/td&gt;&lt;td&gt;&amp;lt;SpaceQuotaSnapshot&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.82"></a>
+<span class="sourceLineNo">083</span> *   &lt;tr&gt;&lt;td&gt;u.&amp;lt;user&amp;gt;&lt;/td&gt;&lt;td&gt;q:s&lt;/td&gt;&lt;td&gt;&amp;lt;global-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.83"></a>
+<span class="sourceLineNo">084</span> *   &lt;tr&gt;&lt;td&gt;u.&amp;lt;user&amp;gt;&lt;/td&gt;&lt;td&gt;q:s.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;&amp;lt;table-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.84"></a>
+<span class="sourceLineNo">085</span> *   &lt;tr&gt;&lt;td&gt;u.&amp;lt;user&amp;gt;&lt;/td&gt;&lt;td&gt;q:s.&amp;lt;ns&amp;gt;&lt;/td&gt;&lt;td&gt;&amp;lt;namespace-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.85"></a>
+<span class="sourceLineNo">086</span> * &lt;/table<a name="line.86"></a>
+<span class="sourceLineNo">087</span> */<a name="line.87"></a>
+<span class="sourceLineNo">088</span>@InterfaceAudience.Private<a name="line.88"></a>
+<span class="sourceLineNo">089</span>@InterfaceStability.Evolving<a name="line.89"></a>
+<span class="sourceLineNo">090</span>public class QuotaTableUtil {<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  private static final Log LOG = LogFactory.getLog(QuotaTableUtil.class);<a name="line.91"></a>
+<span class="sourceLineNo">092</span><a name="line.92"></a>
+<span class="sourceLineNo">093</span>  /** System table for quotas */<a name="line.93"></a>
+<span class="sourceLineNo">094</span>  public static final TableName QUOTA_TABLE_NAME =<a name="line.94"></a>
+<span class="sourceLineNo">095</span>      TableName.valueOf(NamespaceDescriptor.SYSTEM_NAMESPACE_NAME_STR, "quota");<a name="line.95"></a>
+<span class="sourceLineNo">096</span><a name="line.96"></a>
+<span class="sourceLineNo">097</span>  protected static final byte[] QUOTA_FAMILY_INFO = Bytes.toBytes("q");<a name="line.97"></a>
+<span class="sourceLineNo">098</span>  protected static final byte[] QUOTA_FAMILY_USAGE = Bytes.toBytes("u");<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  protected static final byte[] QUOTA_QUALIFIER_SETTINGS = Bytes.toBytes("s");<a name="line.99"></a>
+<span class="sourceLineNo">100</span>  protected static final byte[] QUOTA_QUALIFIER_SETTINGS_PREFIX = Bytes.toBytes("s.");<a name="line.100"></a>
+<span class="sourceLineNo">101</span>  protected static final byte[] QUOTA_QUALIFIER_POLICY = Bytes.toBytes("p");<a name="line.101"></a>
+<span class="sourceLineNo">102</span>  protected static final byte[] QUOTA_SNAPSHOT_SIZE_QUALIFIER = Bytes.toBytes("ss");<a name="line.102"></a>
+<span class="sourceLineNo">103</span>  protected static final String QUOTA_POLICY_COLUMN =<a name="line.103"></a>
+<span class="sourceLineNo">104</span>      Bytes.toString(QUOTA_FAMILY_USAGE) + ":" + Bytes.toString(QUOTA_QUALIFIER_POLICY);<a name="line.104"></a>
+<span class="sourceLineNo">105</span>  protected static final byte[] QUOTA_USER_ROW_KEY_PREFIX = Bytes.toBytes("u.");<a name="line.105"></a>
+<span class="sourceLineNo">106</span>  protected static final byte[] QUOTA_TABLE_ROW_KEY_PREFIX = Bytes.toBytes("t.");<a name="line.106"></a>
+<span class="sourceLineNo">107</span>  protected static final byte[] QUOTA_NAMESPACE_ROW_KEY_PREFIX = Bytes.toBytes("n.");<a name="line.107"></a>
+<span class="sourceLineNo">108</span><a name="line.108"></a>
+<span class="sourceLineNo">109</span>  /* =========================================================================<a name="line.109"></a>
+<span class="sourceLineNo">110</span>   *  Quota "settings" helpers<a name="line.110"></a>
+<span class="sourceLineNo">111</span>   */<a name="line.111"></a>
+<span class="sourceLineNo">112</span>  public static Quotas getTableQuota(final Connection connection, final TableName table)<a name="line.112"></a>
+<span class="sourceLineNo">113</span>      throws IOException {<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    return getQuotas(connection, getTableRowKey(table));<a name="line.114"></a>
+<span class="sourceLineNo">115</span>  }<a name="line.115"></a>
+<span class="sourceLineNo">116</span><a name="line.116"></a>
+<span class="sourceLineNo">117</span>  public static Quotas getNamespaceQuota(final Connection connection, final String namespace)<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      throws IOException {<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    return getQuotas(connection, getNamespaceRowKey(namespace));<a name="line.119"></a>
+<span class="sourceLineNo">120</span>  }<a name="line.120"></a>
+<span class="sourceLineNo">121</span><a name="line.121"></a>
+<span class="sourceLineNo">122</span>  public static Quotas getUserQuota(final Connection connection, final String user)<a name="line.122"></a>
+<span class="sourceLineNo">123</span>      throws IOException {<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    return getQuotas(connection, getUserRowKey(user));<a name="line.124"></a>
+<span class="sourceLineNo">125</span>  }<a name="line.125"></a>
+<span class="sourceLineNo">126</span><a name="line.126"></a>
+<span class="sourceLineNo">127</span>  public static Quotas getUserQuota(final Connection connection, final String user,<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      final TableName table) throws IOException {<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    return getQuotas(connection, getUserRowKey(user), getSettingsQualifierForUserTable(table));<a name="line.129"></a>
+<span class="sourceLineNo">130</span>  }<a name="line.130"></a>
+<span class="sourceLineNo">131</span><a name="line.131"></a>
+<span class="sourceLineNo">132</span>  public static Quotas getUserQuota(final Connection connection, final String user,<a name="line.132"></a>
+<span class="sourceLineNo">133</span>      final String namespace) throws IOException {<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    return getQuotas(connection, getUserRowKey(user),<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      getSettingsQualifierForUserNamespace(namespace));<a name="line.135"></a>
+<span class="sourceLineNo">136</span>  }<a name="line.136"></a>
+<span class="sourceLineNo">137</span><a name="line.137"></a>
+<span class="sourceLineNo">138</span>  private static Quotas getQuotas(final Connection connection, final byte[] rowKey)<a name="line.138"></a>
+<span class="sourceLineNo">139</span>      throws IOException {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    return getQuotas(connection, rowKey, QUOTA_QUALIFIER_SETTINGS);<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  }<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span>  private static Quotas getQuotas(final Connection connection, final byte[] rowKey,<a name="line.143"></a>
+<span class="sourceLineNo">144</span>      final byte[] qualifier) throws IOException {<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    Get get = new Get(rowKey);<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    get.addColumn(QUOTA_FAMILY_INFO, qualifier);<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    Result result = doGet(connection, get);<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    if (result.isEmpty()) {<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      return null;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    }<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    return quotasFromData(result.getValue(QUOTA_FAMILY_INFO, qualifier));<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  }<a name="line.152"></a>
+<span class="sourceLineNo">153</span><a name="line.153"></a>
+<span class="sourceLineNo">154</span>  public static Get makeGetForTableQuotas(final TableName table) {<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    Get get = new Get(getTableRowKey(table));<a name="line.155"></a>
+<span class="sourceLineNo">156</span>    get.addFamily(QUOTA_FAMILY_INFO);<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    return get;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>  }<a name="line.158"></a>
+<span class="sourceLineNo">159</span><a name="line.159"></a>
+<span class="sourceLineNo">160</span>  public static Get makeGetForNamespaceQuotas(final String namespace) {<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    Get get = new Get(getNamespaceRowKey(namespace));<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    get.addFamily(QUOTA_FAMILY_INFO);<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    return get;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>  }<a name="line.164"></a>
+<span class="sourceLineNo">165</span><a name="line.165"></a>
+<span class="sourceLineNo">166</span>  public static Get makeGetForUserQuotas(final String user, final Iterable&lt;TableName&gt; tables,<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      final Iterable&lt;String&gt; namespaces) {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    Get get = new Get(getUserRowKey(user));<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    get.addColumn(QUOTA_FAMILY_INFO, QUOTA_QUALIFIER_SETTINGS);<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    for (final TableName table: tables) {<a name="line.170"></a>
+<span class="sourceLineNo">171</span>      get.addColumn(QUOTA_FAMILY_INFO, getSettingsQualifierForUserTable(table));<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    }<a name="line.172"></a>
+<span class="sourceLineNo">173</span>    for (final String ns: namespaces) {<a name="line.173"></a>
+<span class="sourceLineNo">174</span>      get.addColumn(QUOTA_FAMILY_INFO, getSettingsQualifierForUserNamespace(ns));<a name="line.174"></a>
+<span class="sourceLineNo">175</span>    }<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    return get;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>  }<a name="line.177"></a>
+<span class="sourceLineNo">178</span><a name="line.178"></a>
+<span class="sourceLineNo">179</span>  public static Scan makeScan(final QuotaFilter filter) {<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    Scan scan = new Scan();<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    scan.addFamily(QUOTA_FAMILY_INFO);<a name="line.181"></a>
+<span class="sourceLineNo">182</span>    if (filter != null &amp;&amp; !filter.isNull()) {<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      scan.setFilter(makeFilter(filter));<a name="line.183"></a>
+<span class="sourceLineNo">184</span>    }<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    return scan;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>  }<a name="line.186"></a>
+<span class="sourceLineNo">187</span><a name="line.187"></a>
+<span class="sourceLineNo">188</span>  /**<a name="line.188"></a>
+<span class="sourceLineNo">189</span>   * converts quotafilter to serializeable filterlists.<a name="line.189"></a>
+<span class="sourceLineNo">190</span>   */<a name="line.190"></a>
+<span class="sourceLineNo">191</span>  public static Filter makeFilter(final QuotaFilter filter) {<a name="line.191"></a>
+<span class="sourceLineNo">192</span>    FilterList filterList = new FilterList(FilterList.Operator.MUST_PASS_ALL);<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    if (!Strings.isEmpty(filter.getUserFilter())) {<a name="line.193"></a>
+<span class="sourceLineNo">194</span>      FilterList userFilters = new FilterList(FilterList.Operator.MUST_PASS_ONE);<a name="line.194"></a>
+<span class="sourceLineNo">195</span>      boolean hasFilter = false;<a name="line.195"></a>
+<span class="sourceLineNo">196</span><a name="line.196"></a>
+<span class="sourceLineNo">197</span>      if (!Strings.isEmpty(filter.getNamespaceFilter())) {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>        FilterList nsFilters = new FilterList(FilterList.Operator.MUST_PASS_ALL);<a name="line.198"></a>
+<span class="sourceLineNo">199</span>        nsFilters.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.199"></a>
+<span class="sourceLineNo">200</span>            new RegexStringComparator(getUserRowKeyRegex(filter.getUserFilter()), 0)));<a name="line.200"></a>
+<span class="sourceLineNo">201</span>        nsFilters.addFilter(new QualifierFilter(CompareFilter.CompareOp.EQUAL,<a name="line.201"></a>
+<span class="sourceLineNo">202</span>            new RegexStringComparator(<a name="line.202"></a>
+<span class="sourceLineNo">203</span>              getSettingsQualifierRegexForUserNamespace(filter.getNamespaceFilter()), 0)));<a name="line.203"></a>
+<span class="sourceLineNo">204</span>        userFilters.addFilter(nsFilters);<a name="line.204"></a>
+<span class="sourceLineNo">205</span>        hasFilter = true;<a name="line.205"></a>
+<span class="sourceLineNo">206</span>      }<a name="line.206"></a>
+<span class="sourceLineNo">207</span>      if (!Strings.isEmpty(filter.getTableFilter())) {<a name="line.207"></a>
+<span class="sourceLineNo">208</span>        FilterList tableFilters = new FilterList(FilterList.Operator.MUST_PASS_ALL);<a name="line.208"></a>
+<span class="sourceLineNo">209</span>        tableFilters.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.209"></a>
+<span class="sourceLineNo">210</span>            new RegexStringComparator(getUserRowKeyRegex(filter.getUserFilter()), 0)));<a name="line.210"></a>
+<span class="sourceLineNo">211</span>        tableFilters.addFilter(new QualifierFilter(CompareFilter.CompareOp.EQUAL,<a name="line.211"></a>
+<span class="sourceLineNo">212</span>            new RegexStringComparator(<a name="line.212"></a>
+<span class="sourceLineNo">213</span>              getSettingsQualifierRegexForUserTable(filter.getTableFilter()), 0)));<a name="line.213"></a>
+<span class="sourceLineNo">214</span>        userFilters.addFilter(tableFilters);<a name="line.214"></a>
+<span class="sourceLineNo">215</span>        hasFilter = true;<a name="line.215"></a>
+<span class="sourceLineNo">216</span>      }<a name="line.216"></a>
+<span class="sourceLineNo">217</span>      if (!hasFilter) {<a name="line.217"></a>
+<span class="sourceLineNo">218</span>        userFilters.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.218"></a>
+<span class="sourceLineNo">219</span>            new RegexStringComparator(getUserRowKeyRegex(filter.getUserFilter()), 0)));<a name="line.219"></a>
+<span class="sourceLineNo">220</span>      }<a name="line.220"></a>
+<span class="sourceLineNo">221</span><a name="line.221"></a>
+<span class="sourceLineNo">222</span>      filterList.addFilter(userFilters);<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    } else if (!Strings.isEmpty(filter.getTableFilter())) {<a name="line.223"></a>
+<span class="sourceLineNo">224</span>      filterList.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.224"></a>
+<span class="sourceLineNo">225</span>          new RegexStringComparator(getTableRowKeyRegex(filter.getTableFilter()), 0)));<a name="line.225"></a>
+<span class="sourceLineNo">226</span>    } else if (!Strings.isEmpty(filter.getNamespaceFilter())) {<a name="line.226"></a>
+<span class="sourceLineNo">227</span>      filterList.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.227"></a>
+<span class="sourceLineNo">228</span>          new RegexStringComparator(getNamespaceRowKeyRegex(filter.getNamespaceFilter()), 0)));<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    }<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    return filterList;<a name="line.230"></a>
+<span class="sourceLineNo">231</span>  }<a name="line.231"></a>
+<span class="sourceLineNo">232</span><a name="line.232"></a>
+<span class="sourceLineNo">233</span>  /**<a name="line.233"></a>
+<span class="sourceLineNo">234</span>   * Creates a {@link Scan} which returns only quota snapshots from the quota table.<a name="line.234"></a>
+<span class="sourceLineNo">235</span>   */<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  public static Scan makeQuotaSnapshotScan() {<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    return makeQuotaSnapshotScanForTable(null);<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  }<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
+<span class="sourceLineNo">240</span>  /**<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   * Fetches all {@link SpaceQuotaSnapshot} objects from the {@code hbase:quota} table.<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   *<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   * @param conn The HBase connection<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   * @return A map of table names and their computed snapshot.<a name="line.244"></a>
+<span class="sourceLineNo">245</span>   */<a name="line.245"></a>
+<span class="sourceLineNo">246</span>  public static Map&lt;TableName,SpaceQuotaSnapshot&gt; getSnapshots(Connection conn) throws IOException {<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    Map&lt;TableName,SpaceQuotaSnapshot&gt; snapshots = new HashMap&lt;&gt;();<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    try (Table quotaTable = conn.getTable(QUOTA_TABLE_NAME);<a name="line.248"></a>
+<span class="sourceLineNo">249</span>        ResultScanner rs = quotaTable.getScanner(makeQuotaSnapshotScan())) {<a name="line.249"></a>
+<span class="sourceLineNo">250</span>      for (Result r : rs) {<a name="line.250"></a>
+<span class="sourceLineNo">251</span>        extractQuotaSnapshot(r, snapshots);<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      }<a name="line.252"></a>
+<span class="sourceLineNo">253</span>    }<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    return snapshots;<a name="line.254"></a>
+<span class="sourceLineNo">255</span>  }<a name="line.255"></a>
+<span class="sourceLineNo">256</span><a name="line.256"></a>
+<span class="sourceLineNo">257</span>  /**<a name="line.257"></a>
+<span class="sourceLineNo">258</span>   * Creates a {@link Scan} which returns only {@link SpaceQuotaSnapshot} from the quota table for a<a name="line.258"></a>
+<span class="sourceLineNo">259</span>   * specific table.<a name="line.259"></a>
+<span class="sourceLineNo">260</span>   * @param tn Optionally, a table name to limit the scan's rowkey space. Can be null.<a name="line.260"></a>
+<span class="sourceLineNo">261</span>   */<a name="line.261"></a>
+<span class="sourceLineNo">262</span>  public static Scan makeQuotaSnapshotScanForTable(TableName tn) {<a name="line.262"></a>
+<span class="sourceLineNo">263</span>    Scan s = new Scan();<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    // Limit to "u:v" column<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    s.addColumn(QUOTA_FAMILY_USAGE, QUOTA_QUALIFIER_POLICY);<a name="line.265"></a>
+<span class="sourceLineNo">266</span>    if (null == tn) {<a name="line.266"></a>
+<span class="sourceLineNo">267</span>      s.setRowPrefixFilter(QUOTA_TABLE_ROW_KEY_PREFIX);<a name="line.267"></a>
+<span class="sourceLineNo">268</span>    } else {<a name="line.268"></a>
+<span class="sourceLineNo">269</span>      byte[] row = getTableRowKey(tn);<a name="line.269"></a>
+<span class="sourceLineNo">270</span>      // Limit rowspace to the "t:" prefix<a name="line.270"></a>
+<span class="sourceLineNo">271</span>      s.withStartRow(row, true).withStopRow(row, true);<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    }<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    return s;<a name="line.273"></a>
+<span class="sourceLineNo">274</span>  }<a name="line.274"></a>
+<span class="sourceLineNo">275</span><a name="line.275"></a>
+<span class="sourceLineNo">276</span>  /**<a name="line.276"></a>
+<span class="sourceLineNo">277</span>   * Extracts the {@link SpaceViolationPolicy} and {@link TableName} from the provided<a name="line.277"></a>
+<spa

<TRUNCATED>

[06/26] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
index e8eb593..cbf38e0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
@@ -69,15 +69,15 @@
 <span class="sourceLineNo">061</span>  requiredArguments = {<a name="line.61"></a>
 <span class="sourceLineNo">062</span>    @org.jamon.annotations.Argument(name = "master", type = "HMaster")},<a name="line.62"></a>
 <span class="sourceLineNo">063</span>  optionalArguments = {<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    @org.jamon.annotations.Argument(name = "frags", type = "Map&lt;String,Integer&gt;"),<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    @org.jamon.annotations.Argument(name = "servers", type = "List&lt;ServerName&gt;"),<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    @org.jamon.annotations.Argument(name = "deadServers", type = "Set&lt;ServerName&gt;"),<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.70"></a>
+<span class="sourceLineNo">064</span>    @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.65"></a>
+<span class="sourceLineNo">066</span>    @org.jamon.annotations.Argument(name = "deadServers", type = "Set&lt;ServerName&gt;"),<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    @org.jamon.annotations.Argument(name = "frags", type = "Map&lt;String,Integer&gt;"),<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    @org.jamon.annotations.Argument(name = "servers", type = "List&lt;ServerName&gt;"),<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    @org.jamon.annotations.Argument(name = "serverManager", type = "ServerManager"),<a name="line.70"></a>
 <span class="sourceLineNo">071</span>    @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean"),<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    @org.jamon.annotations.Argument(name = "serverManager", type = "ServerManager")})<a name="line.72"></a>
+<span class="sourceLineNo">072</span>    @org.jamon.annotations.Argument(name = "format", type = "String")})<a name="line.72"></a>
 <span class="sourceLineNo">073</span>public class MasterStatusTmpl<a name="line.73"></a>
 <span class="sourceLineNo">074</span>  extends org.jamon.AbstractTemplateProxy<a name="line.74"></a>
 <span class="sourceLineNo">075</span>{<a name="line.75"></a>
@@ -118,125 +118,125 @@
 <span class="sourceLineNo">110</span>      return m_master;<a name="line.110"></a>
 <span class="sourceLineNo">111</span>    }<a name="line.111"></a>
 <span class="sourceLineNo">112</span>    private HMaster m_master;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    // 26, 1<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    public void setFilter(String filter)<a name="line.114"></a>
+<span class="sourceLineNo">113</span>    // 29, 1<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.114"></a>
 <span class="sourceLineNo">115</span>    {<a name="line.115"></a>
-<span class="sourceLineNo">116</span>      // 26, 1<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      m_filter = filter;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      m_filter__IsNotDefault = true;<a name="line.118"></a>
+<span class="sourceLineNo">116</span>      // 29, 1<a name="line.116"></a>
+<span class="sourceLineNo">117</span>      m_assignmentManager = assignmentManager;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      m_assignmentManager__IsNotDefault = true;<a name="line.118"></a>
 <span class="sourceLineNo">119</span>    }<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    public String getFilter()<a name="line.120"></a>
+<span class="sourceLineNo">120</span>    public AssignmentManager getAssignmentManager()<a name="line.120"></a>
 <span class="sourceLineNo">121</span>    {<a name="line.121"></a>
-<span class="sourceLineNo">122</span>      return m_filter;<a name="line.122"></a>
+<span class="sourceLineNo">122</span>      return m_assignmentManager;<a name="line.122"></a>
 <span class="sourceLineNo">123</span>    }<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    private String m_filter;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    public boolean getFilter__IsNotDefault()<a name="line.125"></a>
+<span class="sourceLineNo">124</span>    private AssignmentManager m_assignmentManager;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    public boolean getAssignmentManager__IsNotDefault()<a name="line.125"></a>
 <span class="sourceLineNo">126</span>    {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      return m_filter__IsNotDefault;<a name="line.127"></a>
+<span class="sourceLineNo">127</span>      return m_assignmentManager__IsNotDefault;<a name="line.127"></a>
 <span class="sourceLineNo">128</span>    }<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    private boolean m_filter__IsNotDefault;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    // 21, 1<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    public void setFrags(Map&lt;String,Integer&gt; frags)<a name="line.131"></a>
+<span class="sourceLineNo">129</span>    private boolean m_assignmentManager__IsNotDefault;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    // 22, 1<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    public void setMetaLocation(ServerName metaLocation)<a name="line.131"></a>
 <span class="sourceLineNo">132</span>    {<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      // 21, 1<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      m_frags = frags;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      m_frags__IsNotDefault = true;<a name="line.135"></a>
+<span class="sourceLineNo">133</span>      // 22, 1<a name="line.133"></a>
+<span class="sourceLineNo">134</span>      m_metaLocation = metaLocation;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      m_metaLocation__IsNotDefault = true;<a name="line.135"></a>
 <span class="sourceLineNo">136</span>    }<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    public Map&lt;String,Integer&gt; getFrags()<a name="line.137"></a>
+<span class="sourceLineNo">137</span>    public ServerName getMetaLocation()<a name="line.137"></a>
 <span class="sourceLineNo">138</span>    {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>      return m_frags;<a name="line.139"></a>
+<span class="sourceLineNo">139</span>      return m_metaLocation;<a name="line.139"></a>
 <span class="sourceLineNo">140</span>    }<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    private Map&lt;String,Integer&gt; m_frags;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    public boolean getFrags__IsNotDefault()<a name="line.142"></a>
+<span class="sourceLineNo">141</span>    private ServerName m_metaLocation;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    public boolean getMetaLocation__IsNotDefault()<a name="line.142"></a>
 <span class="sourceLineNo">143</span>    {<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      return m_frags__IsNotDefault;<a name="line.144"></a>
+<span class="sourceLineNo">144</span>      return m_metaLocation__IsNotDefault;<a name="line.144"></a>
 <span class="sourceLineNo">145</span>    }<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    private boolean m_frags__IsNotDefault;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    // 23, 1<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    public void setServers(List&lt;ServerName&gt; servers)<a name="line.148"></a>
+<span class="sourceLineNo">146</span>    private boolean m_metaLocation__IsNotDefault;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    // 24, 1<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    public void setDeadServers(Set&lt;ServerName&gt; deadServers)<a name="line.148"></a>
 <span class="sourceLineNo">149</span>    {<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      // 23, 1<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      m_servers = servers;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>      m_servers__IsNotDefault = true;<a name="line.152"></a>
+<span class="sourceLineNo">150</span>      // 24, 1<a name="line.150"></a>
+<span class="sourceLineNo">151</span>      m_deadServers = deadServers;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>      m_deadServers__IsNotDefault = true;<a name="line.152"></a>
 <span class="sourceLineNo">153</span>    }<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    public List&lt;ServerName&gt; getServers()<a name="line.154"></a>
+<span class="sourceLineNo">154</span>    public Set&lt;ServerName&gt; getDeadServers()<a name="line.154"></a>
 <span class="sourceLineNo">155</span>    {<a name="line.155"></a>
-<span class="sourceLineNo">156</span>      return m_servers;<a name="line.156"></a>
+<span class="sourceLineNo">156</span>      return m_deadServers;<a name="line.156"></a>
 <span class="sourceLineNo">157</span>    }<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    private List&lt;ServerName&gt; m_servers;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    public boolean getServers__IsNotDefault()<a name="line.159"></a>
+<span class="sourceLineNo">158</span>    private Set&lt;ServerName&gt; m_deadServers;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    public boolean getDeadServers__IsNotDefault()<a name="line.159"></a>
 <span class="sourceLineNo">160</span>    {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>      return m_servers__IsNotDefault;<a name="line.161"></a>
+<span class="sourceLineNo">161</span>      return m_deadServers__IsNotDefault;<a name="line.161"></a>
 <span class="sourceLineNo">162</span>    }<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    private boolean m_servers__IsNotDefault;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    // 24, 1<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    public void setDeadServers(Set&lt;ServerName&gt; deadServers)<a name="line.165"></a>
+<span class="sourceLineNo">163</span>    private boolean m_deadServers__IsNotDefault;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    // 21, 1<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    public void setFrags(Map&lt;String,Integer&gt; frags)<a name="line.165"></a>
 <span class="sourceLineNo">166</span>    {<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      // 24, 1<a name="line.167"></a>
-<span class="sourceLineNo">168</span>      m_deadServers = deadServers;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>      m_deadServers__IsNotDefault = true;<a name="line.169"></a>
+<span class="sourceLineNo">167</span>      // 21, 1<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      m_frags = frags;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>      m_frags__IsNotDefault = true;<a name="line.169"></a>
 <span class="sourceLineNo">170</span>    }<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    public Set&lt;ServerName&gt; getDeadServers()<a name="line.171"></a>
+<span class="sourceLineNo">171</span>    public Map&lt;String,Integer&gt; getFrags()<a name="line.171"></a>
 <span class="sourceLineNo">172</span>    {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      return m_deadServers;<a name="line.173"></a>
+<span class="sourceLineNo">173</span>      return m_frags;<a name="line.173"></a>
 <span class="sourceLineNo">174</span>    }<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    private Set&lt;ServerName&gt; m_deadServers;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    public boolean getDeadServers__IsNotDefault()<a name="line.176"></a>
+<span class="sourceLineNo">175</span>    private Map&lt;String,Integer&gt; m_frags;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    public boolean getFrags__IsNotDefault()<a name="line.176"></a>
 <span class="sourceLineNo">177</span>    {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      return m_deadServers__IsNotDefault;<a name="line.178"></a>
+<span class="sourceLineNo">178</span>      return m_frags__IsNotDefault;<a name="line.178"></a>
 <span class="sourceLineNo">179</span>    }<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    private boolean m_deadServers__IsNotDefault;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    // 27, 1<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    public void setFormat(String format)<a name="line.182"></a>
+<span class="sourceLineNo">180</span>    private boolean m_frags__IsNotDefault;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    // 26, 1<a name="line.181"></a>
+<span class="sourceLineNo">182</span>    public void setFilter(String filter)<a name="line.182"></a>
 <span class="sourceLineNo">183</span>    {<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      // 27, 1<a name="line.184"></a>
-<span class="sourceLineNo">185</span>      m_format = format;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>      m_format__IsNotDefault = true;<a name="line.186"></a>
+<span class="sourceLineNo">184</span>      // 26, 1<a name="line.184"></a>
+<span class="sourceLineNo">185</span>      m_filter = filter;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>      m_filter__IsNotDefault = true;<a name="line.186"></a>
 <span class="sourceLineNo">187</span>    }<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    public String getFormat()<a name="line.188"></a>
+<span class="sourceLineNo">188</span>    public String getFilter()<a name="line.188"></a>
 <span class="sourceLineNo">189</span>    {<a name="line.189"></a>
-<span class="sourceLineNo">190</span>      return m_format;<a name="line.190"></a>
+<span class="sourceLineNo">190</span>      return m_filter;<a name="line.190"></a>
 <span class="sourceLineNo">191</span>    }<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    private String m_format;<a name="line.192"></a>
-<span class="sourceLineNo">193</span>    public boolean getFormat__IsNotDefault()<a name="line.193"></a>
+<span class="sourceLineNo">192</span>    private String m_filter;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    public boolean getFilter__IsNotDefault()<a name="line.193"></a>
 <span class="sourceLineNo">194</span>    {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>      return m_format__IsNotDefault;<a name="line.195"></a>
+<span class="sourceLineNo">195</span>      return m_filter__IsNotDefault;<a name="line.195"></a>
 <span class="sourceLineNo">196</span>    }<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    private boolean m_format__IsNotDefault;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    // 22, 1<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    public void setMetaLocation(ServerName metaLocation)<a name="line.199"></a>
+<span class="sourceLineNo">197</span>    private boolean m_filter__IsNotDefault;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    // 23, 1<a name="line.198"></a>
+<span class="sourceLineNo">199</span>    public void setServers(List&lt;ServerName&gt; servers)<a name="line.199"></a>
 <span class="sourceLineNo">200</span>    {<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      // 22, 1<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      m_metaLocation = metaLocation;<a name="line.202"></a>
-<span class="sourceLineNo">203</span>      m_metaLocation__IsNotDefault = true;<a name="line.203"></a>
+<span class="sourceLineNo">201</span>      // 23, 1<a name="line.201"></a>
+<span class="sourceLineNo">202</span>      m_servers = servers;<a name="line.202"></a>
+<span class="sourceLineNo">203</span>      m_servers__IsNotDefault = true;<a name="line.203"></a>
 <span class="sourceLineNo">204</span>    }<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    public ServerName getMetaLocation()<a name="line.205"></a>
+<span class="sourceLineNo">205</span>    public List&lt;ServerName&gt; getServers()<a name="line.205"></a>
 <span class="sourceLineNo">206</span>    {<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      return m_metaLocation;<a name="line.207"></a>
+<span class="sourceLineNo">207</span>      return m_servers;<a name="line.207"></a>
 <span class="sourceLineNo">208</span>    }<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    private ServerName m_metaLocation;<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    public boolean getMetaLocation__IsNotDefault()<a name="line.210"></a>
+<span class="sourceLineNo">209</span>    private List&lt;ServerName&gt; m_servers;<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    public boolean getServers__IsNotDefault()<a name="line.210"></a>
 <span class="sourceLineNo">211</span>    {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>      return m_metaLocation__IsNotDefault;<a name="line.212"></a>
+<span class="sourceLineNo">212</span>      return m_servers__IsNotDefault;<a name="line.212"></a>
 <span class="sourceLineNo">213</span>    }<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    private boolean m_metaLocation__IsNotDefault;<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    // 29, 1<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.216"></a>
+<span class="sourceLineNo">214</span>    private boolean m_servers__IsNotDefault;<a name="line.214"></a>
+<span class="sourceLineNo">215</span>    // 28, 1<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    public void setServerManager(ServerManager serverManager)<a name="line.216"></a>
 <span class="sourceLineNo">217</span>    {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      // 29, 1<a name="line.218"></a>
-<span class="sourceLineNo">219</span>      m_assignmentManager = assignmentManager;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      m_assignmentManager__IsNotDefault = true;<a name="line.220"></a>
+<span class="sourceLineNo">218</span>      // 28, 1<a name="line.218"></a>
+<span class="sourceLineNo">219</span>      m_serverManager = serverManager;<a name="line.219"></a>
+<span class="sourceLineNo">220</span>      m_serverManager__IsNotDefault = true;<a name="line.220"></a>
 <span class="sourceLineNo">221</span>    }<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    public AssignmentManager getAssignmentManager()<a name="line.222"></a>
+<span class="sourceLineNo">222</span>    public ServerManager getServerManager()<a name="line.222"></a>
 <span class="sourceLineNo">223</span>    {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      return m_assignmentManager;<a name="line.224"></a>
+<span class="sourceLineNo">224</span>      return m_serverManager;<a name="line.224"></a>
 <span class="sourceLineNo">225</span>    }<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    private AssignmentManager m_assignmentManager;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    public boolean getAssignmentManager__IsNotDefault()<a name="line.227"></a>
+<span class="sourceLineNo">226</span>    private ServerManager m_serverManager;<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    public boolean getServerManager__IsNotDefault()<a name="line.227"></a>
 <span class="sourceLineNo">228</span>    {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>      return m_assignmentManager__IsNotDefault;<a name="line.229"></a>
+<span class="sourceLineNo">229</span>      return m_serverManager__IsNotDefault;<a name="line.229"></a>
 <span class="sourceLineNo">230</span>    }<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    private boolean m_assignmentManager__IsNotDefault;<a name="line.231"></a>
+<span class="sourceLineNo">231</span>    private boolean m_serverManager__IsNotDefault;<a name="line.231"></a>
 <span class="sourceLineNo">232</span>    // 25, 1<a name="line.232"></a>
 <span class="sourceLineNo">233</span>    public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.233"></a>
 <span class="sourceLineNo">234</span>    {<a name="line.234"></a>
@@ -254,23 +254,23 @@
 <span class="sourceLineNo">246</span>      return m_catalogJanitorEnabled__IsNotDefault;<a name="line.246"></a>
 <span class="sourceLineNo">247</span>    }<a name="line.247"></a>
 <span class="sourceLineNo">248</span>    private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    // 28, 1<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    public void setServerManager(ServerManager serverManager)<a name="line.250"></a>
+<span class="sourceLineNo">249</span>    // 27, 1<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    public void setFormat(String format)<a name="line.250"></a>
 <span class="sourceLineNo">251</span>    {<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      // 28, 1<a name="line.252"></a>
-<span class="sourceLineNo">253</span>      m_serverManager = serverManager;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>      m_serverManager__IsNotDefault = true;<a name="line.254"></a>
+<span class="sourceLineNo">252</span>      // 27, 1<a name="line.252"></a>
+<span class="sourceLineNo">253</span>      m_format = format;<a name="line.253"></a>
+<span class="sourceLineNo">254</span>      m_format__IsNotDefault = true;<a name="line.254"></a>
 <span class="sourceLineNo">255</span>    }<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    public ServerManager getServerManager()<a name="line.256"></a>
+<span class="sourceLineNo">256</span>    public String getFormat()<a name="line.256"></a>
 <span class="sourceLineNo">257</span>    {<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      return m_serverManager;<a name="line.258"></a>
+<span class="sourceLineNo">258</span>      return m_format;<a name="line.258"></a>
 <span class="sourceLineNo">259</span>    }<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    private ServerManager m_serverManager;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>    public boolean getServerManager__IsNotDefault()<a name="line.261"></a>
+<span class="sourceLineNo">260</span>    private String m_format;<a name="line.260"></a>
+<span class="sourceLineNo">261</span>    public boolean getFormat__IsNotDefault()<a name="line.261"></a>
 <span class="sourceLineNo">262</span>    {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>      return m_serverManager__IsNotDefault;<a name="line.263"></a>
+<span class="sourceLineNo">263</span>      return m_format__IsNotDefault;<a name="line.263"></a>
 <span class="sourceLineNo">264</span>    }<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    private boolean m_serverManager__IsNotDefault;<a name="line.265"></a>
+<span class="sourceLineNo">265</span>    private boolean m_format__IsNotDefault;<a name="line.265"></a>
 <span class="sourceLineNo">266</span>  }<a name="line.266"></a>
 <span class="sourceLineNo">267</span>  @Override<a name="line.267"></a>
 <span class="sourceLineNo">268</span>  protected org.jamon.AbstractTemplateProxy.ImplData makeImplData()<a name="line.268"></a>
@@ -282,52 +282,52 @@
 <span class="sourceLineNo">274</span>    return (ImplData) super.getImplData();<a name="line.274"></a>
 <span class="sourceLineNo">275</span>  }<a name="line.275"></a>
 <span class="sourceLineNo">276</span>  <a name="line.276"></a>
-<span class="sourceLineNo">277</span>  protected String filter;<a name="line.277"></a>
-<span class="sourceLineNo">278</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.278"></a>
+<span class="sourceLineNo">277</span>  protected AssignmentManager assignmentManager;<a name="line.277"></a>
+<span class="sourceLineNo">278</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.278"></a>
 <span class="sourceLineNo">279</span>  {<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    (getImplData()).setFilter(p_filter);<a name="line.280"></a>
+<span class="sourceLineNo">280</span>    (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.280"></a>
 <span class="sourceLineNo">281</span>    return this;<a name="line.281"></a>
 <span class="sourceLineNo">282</span>  }<a name="line.282"></a>
 <span class="sourceLineNo">283</span>  <a name="line.283"></a>
-<span class="sourceLineNo">284</span>  protected Map&lt;String,Integer&gt; frags;<a name="line.284"></a>
-<span class="sourceLineNo">285</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map&lt;String,Integer&gt; p_frags)<a name="line.285"></a>
+<span class="sourceLineNo">284</span>  protected ServerName metaLocation;<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.285"></a>
 <span class="sourceLineNo">286</span>  {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    (getImplData()).setFrags(p_frags);<a name="line.287"></a>
+<span class="sourceLineNo">287</span>    (getImplData()).setMetaLocation(p_metaLocation);<a name="line.287"></a>
 <span class="sourceLineNo">288</span>    return this;<a name="line.288"></a>
 <span class="sourceLineNo">289</span>  }<a name="line.289"></a>
 <span class="sourceLineNo">290</span>  <a name="line.290"></a>
-<span class="sourceLineNo">291</span>  protected List&lt;ServerName&gt; servers;<a name="line.291"></a>
-<span class="sourceLineNo">292</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List&lt;ServerName&gt; p_servers)<a name="line.292"></a>
+<span class="sourceLineNo">291</span>  protected Set&lt;ServerName&gt; deadServers;<a name="line.291"></a>
+<span class="sourceLineNo">292</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set&lt;ServerName&gt; p_deadServers)<a name="line.292"></a>
 <span class="sourceLineNo">293</span>  {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    (getImplData()).setServers(p_servers);<a name="line.294"></a>
+<span class="sourceLineNo">294</span>    (getImplData()).setDeadServers(p_deadServers);<a name="line.294"></a>
 <span class="sourceLineNo">295</span>    return this;<a name="line.295"></a>
 <span class="sourceLineNo">296</span>  }<a name="line.296"></a>
 <span class="sourceLineNo">297</span>  <a name="line.297"></a>
-<span class="sourceLineNo">298</span>  protected Set&lt;ServerName&gt; deadServers;<a name="line.298"></a>
-<span class="sourceLineNo">299</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set&lt;ServerName&gt; p_deadServers)<a name="line.299"></a>
+<span class="sourceLineNo">298</span>  protected Map&lt;String,Integer&gt; frags;<a name="line.298"></a>
+<span class="sourceLineNo">299</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map&lt;String,Integer&gt; p_frags)<a name="line.299"></a>
 <span class="sourceLineNo">300</span>  {<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    (getImplData()).setDeadServers(p_deadServers);<a name="line.301"></a>
+<span class="sourceLineNo">301</span>    (getImplData()).setFrags(p_frags);<a name="line.301"></a>
 <span class="sourceLineNo">302</span>    return this;<a name="line.302"></a>
 <span class="sourceLineNo">303</span>  }<a name="line.303"></a>
 <span class="sourceLineNo">304</span>  <a name="line.304"></a>
-<span class="sourceLineNo">305</span>  protected String format;<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.306"></a>
+<span class="sourceLineNo">305</span>  protected String filter;<a name="line.305"></a>
+<span class="sourceLineNo">306</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.306"></a>
 <span class="sourceLineNo">307</span>  {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    (getImplData()).setFormat(p_format);<a name="line.308"></a>
+<span class="sourceLineNo">308</span>    (getImplData()).setFilter(p_filter);<a name="line.308"></a>
 <span class="sourceLineNo">309</span>    return this;<a name="line.309"></a>
 <span class="sourceLineNo">310</span>  }<a name="line.310"></a>
 <span class="sourceLineNo">311</span>  <a name="line.311"></a>
-<span class="sourceLineNo">312</span>  protected ServerName metaLocation;<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.313"></a>
+<span class="sourceLineNo">312</span>  protected List&lt;ServerName&gt; servers;<a name="line.312"></a>
+<span class="sourceLineNo">313</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List&lt;ServerName&gt; p_servers)<a name="line.313"></a>
 <span class="sourceLineNo">314</span>  {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    (getImplData()).setMetaLocation(p_metaLocation);<a name="line.315"></a>
+<span class="sourceLineNo">315</span>    (getImplData()).setServers(p_servers);<a name="line.315"></a>
 <span class="sourceLineNo">316</span>    return this;<a name="line.316"></a>
 <span class="sourceLineNo">317</span>  }<a name="line.317"></a>
 <span class="sourceLineNo">318</span>  <a name="line.318"></a>
-<span class="sourceLineNo">319</span>  protected AssignmentManager assignmentManager;<a name="line.319"></a>
-<span class="sourceLineNo">320</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.320"></a>
+<span class="sourceLineNo">319</span>  protected ServerManager serverManager;<a name="line.319"></a>
+<span class="sourceLineNo">320</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServerManager(ServerManager p_serverManager)<a name="line.320"></a>
 <span class="sourceLineNo">321</span>  {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.322"></a>
+<span class="sourceLineNo">322</span>    (getImplData()).setServerManager(p_serverManager);<a name="line.322"></a>
 <span class="sourceLineNo">323</span>    return this;<a name="line.323"></a>
 <span class="sourceLineNo">324</span>  }<a name="line.324"></a>
 <span class="sourceLineNo">325</span>  <a name="line.325"></a>
@@ -338,10 +338,10 @@
 <span class="sourceLineNo">330</span>    return this;<a name="line.330"></a>
 <span class="sourceLineNo">331</span>  }<a name="line.331"></a>
 <span class="sourceLineNo">332</span>  <a name="line.332"></a>
-<span class="sourceLineNo">333</span>  protected ServerManager serverManager;<a name="line.333"></a>
-<span class="sourceLineNo">334</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServerManager(ServerManager p_serverManager)<a name="line.334"></a>
+<span class="sourceLineNo">333</span>  protected String format;<a name="line.333"></a>
+<span class="sourceLineNo">334</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.334"></a>
 <span class="sourceLineNo">335</span>  {<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    (getImplData()).setServerManager(p_serverManager);<a name="line.336"></a>
+<span class="sourceLineNo">336</span>    (getImplData()).setFormat(p_format);<a name="line.336"></a>
 <span class="sourceLineNo">337</span>    return this;<a name="line.337"></a>
 <span class="sourceLineNo">338</span>  }<a name="line.338"></a>
 <span class="sourceLineNo">339</span>  <a name="line.339"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.Intf.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.Intf.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.Intf.html
index e8eb593..cbf38e0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.Intf.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.Intf.html
@@ -69,15 +69,15 @@
 <span class="sourceLineNo">061</span>  requiredArguments = {<a name="line.61"></a>
 <span class="sourceLineNo">062</span>    @org.jamon.annotations.Argument(name = "master", type = "HMaster")},<a name="line.62"></a>
 <span class="sourceLineNo">063</span>  optionalArguments = {<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    @org.jamon.annotations.Argument(name = "frags", type = "Map&lt;String,Integer&gt;"),<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    @org.jamon.annotations.Argument(name = "servers", type = "List&lt;ServerName&gt;"),<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    @org.jamon.annotations.Argument(name = "deadServers", type = "Set&lt;ServerName&gt;"),<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.70"></a>
+<span class="sourceLineNo">064</span>    @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.65"></a>
+<span class="sourceLineNo">066</span>    @org.jamon.annotations.Argument(name = "deadServers", type = "Set&lt;ServerName&gt;"),<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    @org.jamon.annotations.Argument(name = "frags", type = "Map&lt;String,Integer&gt;"),<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    @org.jamon.annotations.Argument(name = "servers", type = "List&lt;ServerName&gt;"),<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    @org.jamon.annotations.Argument(name = "serverManager", type = "ServerManager"),<a name="line.70"></a>
 <span class="sourceLineNo">071</span>    @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean"),<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    @org.jamon.annotations.Argument(name = "serverManager", type = "ServerManager")})<a name="line.72"></a>
+<span class="sourceLineNo">072</span>    @org.jamon.annotations.Argument(name = "format", type = "String")})<a name="line.72"></a>
 <span class="sourceLineNo">073</span>public class MasterStatusTmpl<a name="line.73"></a>
 <span class="sourceLineNo">074</span>  extends org.jamon.AbstractTemplateProxy<a name="line.74"></a>
 <span class="sourceLineNo">075</span>{<a name="line.75"></a>
@@ -118,125 +118,125 @@
 <span class="sourceLineNo">110</span>      return m_master;<a name="line.110"></a>
 <span class="sourceLineNo">111</span>    }<a name="line.111"></a>
 <span class="sourceLineNo">112</span>    private HMaster m_master;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    // 26, 1<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    public void setFilter(String filter)<a name="line.114"></a>
+<span class="sourceLineNo">113</span>    // 29, 1<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.114"></a>
 <span class="sourceLineNo">115</span>    {<a name="line.115"></a>
-<span class="sourceLineNo">116</span>      // 26, 1<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      m_filter = filter;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      m_filter__IsNotDefault = true;<a name="line.118"></a>
+<span class="sourceLineNo">116</span>      // 29, 1<a name="line.116"></a>
+<span class="sourceLineNo">117</span>      m_assignmentManager = assignmentManager;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      m_assignmentManager__IsNotDefault = true;<a name="line.118"></a>
 <span class="sourceLineNo">119</span>    }<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    public String getFilter()<a name="line.120"></a>
+<span class="sourceLineNo">120</span>    public AssignmentManager getAssignmentManager()<a name="line.120"></a>
 <span class="sourceLineNo">121</span>    {<a name="line.121"></a>
-<span class="sourceLineNo">122</span>      return m_filter;<a name="line.122"></a>
+<span class="sourceLineNo">122</span>      return m_assignmentManager;<a name="line.122"></a>
 <span class="sourceLineNo">123</span>    }<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    private String m_filter;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    public boolean getFilter__IsNotDefault()<a name="line.125"></a>
+<span class="sourceLineNo">124</span>    private AssignmentManager m_assignmentManager;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    public boolean getAssignmentManager__IsNotDefault()<a name="line.125"></a>
 <span class="sourceLineNo">126</span>    {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      return m_filter__IsNotDefault;<a name="line.127"></a>
+<span class="sourceLineNo">127</span>      return m_assignmentManager__IsNotDefault;<a name="line.127"></a>
 <span class="sourceLineNo">128</span>    }<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    private boolean m_filter__IsNotDefault;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    // 21, 1<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    public void setFrags(Map&lt;String,Integer&gt; frags)<a name="line.131"></a>
+<span class="sourceLineNo">129</span>    private boolean m_assignmentManager__IsNotDefault;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    // 22, 1<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    public void setMetaLocation(ServerName metaLocation)<a name="line.131"></a>
 <span class="sourceLineNo">132</span>    {<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      // 21, 1<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      m_frags = frags;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      m_frags__IsNotDefault = true;<a name="line.135"></a>
+<span class="sourceLineNo">133</span>      // 22, 1<a name="line.133"></a>
+<span class="sourceLineNo">134</span>      m_metaLocation = metaLocation;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      m_metaLocation__IsNotDefault = true;<a name="line.135"></a>
 <span class="sourceLineNo">136</span>    }<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    public Map&lt;String,Integer&gt; getFrags()<a name="line.137"></a>
+<span class="sourceLineNo">137</span>    public ServerName getMetaLocation()<a name="line.137"></a>
 <span class="sourceLineNo">138</span>    {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>      return m_frags;<a name="line.139"></a>
+<span class="sourceLineNo">139</span>      return m_metaLocation;<a name="line.139"></a>
 <span class="sourceLineNo">140</span>    }<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    private Map&lt;String,Integer&gt; m_frags;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    public boolean getFrags__IsNotDefault()<a name="line.142"></a>
+<span class="sourceLineNo">141</span>    private ServerName m_metaLocation;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    public boolean getMetaLocation__IsNotDefault()<a name="line.142"></a>
 <span class="sourceLineNo">143</span>    {<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      return m_frags__IsNotDefault;<a name="line.144"></a>
+<span class="sourceLineNo">144</span>      return m_metaLocation__IsNotDefault;<a name="line.144"></a>
 <span class="sourceLineNo">145</span>    }<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    private boolean m_frags__IsNotDefault;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    // 23, 1<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    public void setServers(List&lt;ServerName&gt; servers)<a name="line.148"></a>
+<span class="sourceLineNo">146</span>    private boolean m_metaLocation__IsNotDefault;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    // 24, 1<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    public void setDeadServers(Set&lt;ServerName&gt; deadServers)<a name="line.148"></a>
 <span class="sourceLineNo">149</span>    {<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      // 23, 1<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      m_servers = servers;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>      m_servers__IsNotDefault = true;<a name="line.152"></a>
+<span class="sourceLineNo">150</span>      // 24, 1<a name="line.150"></a>
+<span class="sourceLineNo">151</span>      m_deadServers = deadServers;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>      m_deadServers__IsNotDefault = true;<a name="line.152"></a>
 <span class="sourceLineNo">153</span>    }<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    public List&lt;ServerName&gt; getServers()<a name="line.154"></a>
+<span class="sourceLineNo">154</span>    public Set&lt;ServerName&gt; getDeadServers()<a name="line.154"></a>
 <span class="sourceLineNo">155</span>    {<a name="line.155"></a>
-<span class="sourceLineNo">156</span>      return m_servers;<a name="line.156"></a>
+<span class="sourceLineNo">156</span>      return m_deadServers;<a name="line.156"></a>
 <span class="sourceLineNo">157</span>    }<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    private List&lt;ServerName&gt; m_servers;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    public boolean getServers__IsNotDefault()<a name="line.159"></a>
+<span class="sourceLineNo">158</span>    private Set&lt;ServerName&gt; m_deadServers;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    public boolean getDeadServers__IsNotDefault()<a name="line.159"></a>
 <span class="sourceLineNo">160</span>    {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>      return m_servers__IsNotDefault;<a name="line.161"></a>
+<span class="sourceLineNo">161</span>      return m_deadServers__IsNotDefault;<a name="line.161"></a>
 <span class="sourceLineNo">162</span>    }<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    private boolean m_servers__IsNotDefault;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    // 24, 1<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    public void setDeadServers(Set&lt;ServerName&gt; deadServers)<a name="line.165"></a>
+<span class="sourceLineNo">163</span>    private boolean m_deadServers__IsNotDefault;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    // 21, 1<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    public void setFrags(Map&lt;String,Integer&gt; frags)<a name="line.165"></a>
 <span class="sourceLineNo">166</span>    {<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      // 24, 1<a name="line.167"></a>
-<span class="sourceLineNo">168</span>      m_deadServers = deadServers;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>      m_deadServers__IsNotDefault = true;<a name="line.169"></a>
+<span class="sourceLineNo">167</span>      // 21, 1<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      m_frags = frags;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>      m_frags__IsNotDefault = true;<a name="line.169"></a>
 <span class="sourceLineNo">170</span>    }<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    public Set&lt;ServerName&gt; getDeadServers()<a name="line.171"></a>
+<span class="sourceLineNo">171</span>    public Map&lt;String,Integer&gt; getFrags()<a name="line.171"></a>
 <span class="sourceLineNo">172</span>    {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      return m_deadServers;<a name="line.173"></a>
+<span class="sourceLineNo">173</span>      return m_frags;<a name="line.173"></a>
 <span class="sourceLineNo">174</span>    }<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    private Set&lt;ServerName&gt; m_deadServers;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    public boolean getDeadServers__IsNotDefault()<a name="line.176"></a>
+<span class="sourceLineNo">175</span>    private Map&lt;String,Integer&gt; m_frags;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    public boolean getFrags__IsNotDefault()<a name="line.176"></a>
 <span class="sourceLineNo">177</span>    {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      return m_deadServers__IsNotDefault;<a name="line.178"></a>
+<span class="sourceLineNo">178</span>      return m_frags__IsNotDefault;<a name="line.178"></a>
 <span class="sourceLineNo">179</span>    }<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    private boolean m_deadServers__IsNotDefault;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    // 27, 1<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    public void setFormat(String format)<a name="line.182"></a>
+<span class="sourceLineNo">180</span>    private boolean m_frags__IsNotDefault;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    // 26, 1<a name="line.181"></a>
+<span class="sourceLineNo">182</span>    public void setFilter(String filter)<a name="line.182"></a>
 <span class="sourceLineNo">183</span>    {<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      // 27, 1<a name="line.184"></a>
-<span class="sourceLineNo">185</span>      m_format = format;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>      m_format__IsNotDefault = true;<a name="line.186"></a>
+<span class="sourceLineNo">184</span>      // 26, 1<a name="line.184"></a>
+<span class="sourceLineNo">185</span>      m_filter = filter;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>      m_filter__IsNotDefault = true;<a name="line.186"></a>
 <span class="sourceLineNo">187</span>    }<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    public String getFormat()<a name="line.188"></a>
+<span class="sourceLineNo">188</span>    public String getFilter()<a name="line.188"></a>
 <span class="sourceLineNo">189</span>    {<a name="line.189"></a>
-<span class="sourceLineNo">190</span>      return m_format;<a name="line.190"></a>
+<span class="sourceLineNo">190</span>      return m_filter;<a name="line.190"></a>
 <span class="sourceLineNo">191</span>    }<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    private String m_format;<a name="line.192"></a>
-<span class="sourceLineNo">193</span>    public boolean getFormat__IsNotDefault()<a name="line.193"></a>
+<span class="sourceLineNo">192</span>    private String m_filter;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    public boolean getFilter__IsNotDefault()<a name="line.193"></a>
 <span class="sourceLineNo">194</span>    {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>      return m_format__IsNotDefault;<a name="line.195"></a>
+<span class="sourceLineNo">195</span>      return m_filter__IsNotDefault;<a name="line.195"></a>
 <span class="sourceLineNo">196</span>    }<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    private boolean m_format__IsNotDefault;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    // 22, 1<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    public void setMetaLocation(ServerName metaLocation)<a name="line.199"></a>
+<span class="sourceLineNo">197</span>    private boolean m_filter__IsNotDefault;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    // 23, 1<a name="line.198"></a>
+<span class="sourceLineNo">199</span>    public void setServers(List&lt;ServerName&gt; servers)<a name="line.199"></a>
 <span class="sourceLineNo">200</span>    {<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      // 22, 1<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      m_metaLocation = metaLocation;<a name="line.202"></a>
-<span class="sourceLineNo">203</span>      m_metaLocation__IsNotDefault = true;<a name="line.203"></a>
+<span class="sourceLineNo">201</span>      // 23, 1<a name="line.201"></a>
+<span class="sourceLineNo">202</span>      m_servers = servers;<a name="line.202"></a>
+<span class="sourceLineNo">203</span>      m_servers__IsNotDefault = true;<a name="line.203"></a>
 <span class="sourceLineNo">204</span>    }<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    public ServerName getMetaLocation()<a name="line.205"></a>
+<span class="sourceLineNo">205</span>    public List&lt;ServerName&gt; getServers()<a name="line.205"></a>
 <span class="sourceLineNo">206</span>    {<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      return m_metaLocation;<a name="line.207"></a>
+<span class="sourceLineNo">207</span>      return m_servers;<a name="line.207"></a>
 <span class="sourceLineNo">208</span>    }<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    private ServerName m_metaLocation;<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    public boolean getMetaLocation__IsNotDefault()<a name="line.210"></a>
+<span class="sourceLineNo">209</span>    private List&lt;ServerName&gt; m_servers;<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    public boolean getServers__IsNotDefault()<a name="line.210"></a>
 <span class="sourceLineNo">211</span>    {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>      return m_metaLocation__IsNotDefault;<a name="line.212"></a>
+<span class="sourceLineNo">212</span>      return m_servers__IsNotDefault;<a name="line.212"></a>
 <span class="sourceLineNo">213</span>    }<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    private boolean m_metaLocation__IsNotDefault;<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    // 29, 1<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.216"></a>
+<span class="sourceLineNo">214</span>    private boolean m_servers__IsNotDefault;<a name="line.214"></a>
+<span class="sourceLineNo">215</span>    // 28, 1<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    public void setServerManager(ServerManager serverManager)<a name="line.216"></a>
 <span class="sourceLineNo">217</span>    {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      // 29, 1<a name="line.218"></a>
-<span class="sourceLineNo">219</span>      m_assignmentManager = assignmentManager;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      m_assignmentManager__IsNotDefault = true;<a name="line.220"></a>
+<span class="sourceLineNo">218</span>      // 28, 1<a name="line.218"></a>
+<span class="sourceLineNo">219</span>      m_serverManager = serverManager;<a name="line.219"></a>
+<span class="sourceLineNo">220</span>      m_serverManager__IsNotDefault = true;<a name="line.220"></a>
 <span class="sourceLineNo">221</span>    }<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    public AssignmentManager getAssignmentManager()<a name="line.222"></a>
+<span class="sourceLineNo">222</span>    public ServerManager getServerManager()<a name="line.222"></a>
 <span class="sourceLineNo">223</span>    {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      return m_assignmentManager;<a name="line.224"></a>
+<span class="sourceLineNo">224</span>      return m_serverManager;<a name="line.224"></a>
 <span class="sourceLineNo">225</span>    }<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    private AssignmentManager m_assignmentManager;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    public boolean getAssignmentManager__IsNotDefault()<a name="line.227"></a>
+<span class="sourceLineNo">226</span>    private ServerManager m_serverManager;<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    public boolean getServerManager__IsNotDefault()<a name="line.227"></a>
 <span class="sourceLineNo">228</span>    {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>      return m_assignmentManager__IsNotDefault;<a name="line.229"></a>
+<span class="sourceLineNo">229</span>      return m_serverManager__IsNotDefault;<a name="line.229"></a>
 <span class="sourceLineNo">230</span>    }<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    private boolean m_assignmentManager__IsNotDefault;<a name="line.231"></a>
+<span class="sourceLineNo">231</span>    private boolean m_serverManager__IsNotDefault;<a name="line.231"></a>
 <span class="sourceLineNo">232</span>    // 25, 1<a name="line.232"></a>
 <span class="sourceLineNo">233</span>    public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.233"></a>
 <span class="sourceLineNo">234</span>    {<a name="line.234"></a>
@@ -254,23 +254,23 @@
 <span class="sourceLineNo">246</span>      return m_catalogJanitorEnabled__IsNotDefault;<a name="line.246"></a>
 <span class="sourceLineNo">247</span>    }<a name="line.247"></a>
 <span class="sourceLineNo">248</span>    private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    // 28, 1<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    public void setServerManager(ServerManager serverManager)<a name="line.250"></a>
+<span class="sourceLineNo">249</span>    // 27, 1<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    public void setFormat(String format)<a name="line.250"></a>
 <span class="sourceLineNo">251</span>    {<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      // 28, 1<a name="line.252"></a>
-<span class="sourceLineNo">253</span>      m_serverManager = serverManager;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>      m_serverManager__IsNotDefault = true;<a name="line.254"></a>
+<span class="sourceLineNo">252</span>      // 27, 1<a name="line.252"></a>
+<span class="sourceLineNo">253</span>      m_format = format;<a name="line.253"></a>
+<span class="sourceLineNo">254</span>      m_format__IsNotDefault = true;<a name="line.254"></a>
 <span class="sourceLineNo">255</span>    }<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    public ServerManager getServerManager()<a name="line.256"></a>
+<span class="sourceLineNo">256</span>    public String getFormat()<a name="line.256"></a>
 <span class="sourceLineNo">257</span>    {<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      return m_serverManager;<a name="line.258"></a>
+<span class="sourceLineNo">258</span>      return m_format;<a name="line.258"></a>
 <span class="sourceLineNo">259</span>    }<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    private ServerManager m_serverManager;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>    public boolean getServerManager__IsNotDefault()<a name="line.261"></a>
+<span class="sourceLineNo">260</span>    private String m_format;<a name="line.260"></a>
+<span class="sourceLineNo">261</span>    public boolean getFormat__IsNotDefault()<a name="line.261"></a>
 <span class="sourceLineNo">262</span>    {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>      return m_serverManager__IsNotDefault;<a name="line.263"></a>
+<span class="sourceLineNo">263</span>      return m_format__IsNotDefault;<a name="line.263"></a>
 <span class="sourceLineNo">264</span>    }<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    private boolean m_serverManager__IsNotDefault;<a name="line.265"></a>
+<span class="sourceLineNo">265</span>    private boolean m_format__IsNotDefault;<a name="line.265"></a>
 <span class="sourceLineNo">266</span>  }<a name="line.266"></a>
 <span class="sourceLineNo">267</span>  @Override<a name="line.267"></a>
 <span class="sourceLineNo">268</span>  protected org.jamon.AbstractTemplateProxy.ImplData makeImplData()<a name="line.268"></a>
@@ -282,52 +282,52 @@
 <span class="sourceLineNo">274</span>    return (ImplData) super.getImplData();<a name="line.274"></a>
 <span class="sourceLineNo">275</span>  }<a name="line.275"></a>
 <span class="sourceLineNo">276</span>  <a name="line.276"></a>
-<span class="sourceLineNo">277</span>  protected String filter;<a name="line.277"></a>
-<span class="sourceLineNo">278</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.278"></a>
+<span class="sourceLineNo">277</span>  protected AssignmentManager assignmentManager;<a name="line.277"></a>
+<span class="sourceLineNo">278</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.278"></a>
 <span class="sourceLineNo">279</span>  {<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    (getImplData()).setFilter(p_filter);<a name="line.280"></a>
+<span class="sourceLineNo">280</span>    (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.280"></a>
 <span class="sourceLineNo">281</span>    return this;<a name="line.281"></a>
 <span class="sourceLineNo">282</span>  }<a name="line.282"></a>
 <span class="sourceLineNo">283</span>  <a name="line.283"></a>
-<span class="sourceLineNo">284</span>  protected Map&lt;String,Integer&gt; frags;<a name="line.284"></a>
-<span class="sourceLineNo">285</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map&lt;String,Integer&gt; p_frags)<a name="line.285"></a>
+<span class="sourceLineNo">284</span>  protected ServerName metaLocation;<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.285"></a>
 <span class="sourceLineNo">286</span>  {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    (getImplData()).setFrags(p_frags);<a name="line.287"></a>
+<span class="sourceLineNo">287</span>    (getImplData()).setMetaLocation(p_metaLocation);<a name="line.287"></a>
 <span class="sourceLineNo">288</span>    return this;<a name="line.288"></a>
 <span class="sourceLineNo">289</span>  }<a name="line.289"></a>
 <span class="sourceLineNo">290</span>  <a name="line.290"></a>
-<span class="sourceLineNo">291</span>  protected List&lt;ServerName&gt; servers;<a name="line.291"></a>
-<span class="sourceLineNo">292</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List&lt;ServerName&gt; p_servers)<a name="line.292"></a>
+<span class="sourceLineNo">291</span>  protected Set&lt;ServerName&gt; deadServers;<a name="line.291"></a>
+<span class="sourceLineNo">292</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set&lt;ServerName&gt; p_deadServers)<a name="line.292"></a>
 <span class="sourceLineNo">293</span>  {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    (getImplData()).setServers(p_servers);<a name="line.294"></a>
+<span class="sourceLineNo">294</span>    (getImplData()).setDeadServers(p_deadServers);<a name="line.294"></a>
 <span class="sourceLineNo">295</span>    return this;<a name="line.295"></a>
 <span class="sourceLineNo">296</span>  }<a name="line.296"></a>
 <span class="sourceLineNo">297</span>  <a name="line.297"></a>
-<span class="sourceLineNo">298</span>  protected Set&lt;ServerName&gt; deadServers;<a name="line.298"></a>
-<span class="sourceLineNo">299</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set&lt;ServerName&gt; p_deadServers)<a name="line.299"></a>
+<span class="sourceLineNo">298</span>  protected Map&lt;String,Integer&gt; frags;<a name="line.298"></a>
+<span class="sourceLineNo">299</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map&lt;String,Integer&gt; p_frags)<a name="line.299"></a>
 <span class="sourceLineNo">300</span>  {<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    (getImplData()).setDeadServers(p_deadServers);<a name="line.301"></a>
+<span class="sourceLineNo">301</span>    (getImplData()).setFrags(p_frags);<a name="line.301"></a>
 <span class="sourceLineNo">302</span>    return this;<a name="line.302"></a>
 <span class="sourceLineNo">303</span>  }<a name="line.303"></a>
 <span class="sourceLineNo">304</span>  <a name="line.304"></a>
-<span class="sourceLineNo">305</span>  protected String format;<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.306"></a>
+<span class="sourceLineNo">305</span>  protected String filter;<a name="line.305"></a>
+<span class="sourceLineNo">306</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.306"></a>
 <span class="sourceLineNo">307</span>  {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    (getImplData()).setFormat(p_format);<a name="line.308"></a>
+<span class="sourceLineNo">308</span>    (getImplData()).setFilter(p_filter);<a name="line.308"></a>
 <span class="sourceLineNo">309</span>    return this;<a name="line.309"></a>
 <span class="sourceLineNo">310</span>  }<a name="line.310"></a>
 <span class="sourceLineNo">311</span>  <a name="line.311"></a>
-<span class="sourceLineNo">312</span>  protected ServerName metaLocation;<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.313"></a>
+<span class="sourceLineNo">312</span>  protected List&lt;ServerName&gt; servers;<a name="line.312"></a>
+<span class="sourceLineNo">313</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List&lt;ServerName&gt; p_servers)<a name="line.313"></a>
 <span class="sourceLineNo">314</span>  {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    (getImplData()).setMetaLocation(p_metaLocation);<a name="line.315"></a>
+<span class="sourceLineNo">315</span>    (getImplData()).setServers(p_servers);<a name="line.315"></a>
 <span class="sourceLineNo">316</span>    return this;<a name="line.316"></a>
 <span class="sourceLineNo">317</span>  }<a name="line.317"></a>
 <span class="sourceLineNo">318</span>  <a name="line.318"></a>
-<span class="sourceLineNo">319</span>  protected AssignmentManager assignmentManager;<a name="line.319"></a>
-<span class="sourceLineNo">320</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.320"></a>
+<span class="sourceLineNo">319</span>  protected ServerManager serverManager;<a name="line.319"></a>
+<span class="sourceLineNo">320</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServerManager(ServerManager p_serverManager)<a name="line.320"></a>
 <span class="sourceLineNo">321</span>  {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.322"></a>
+<span class="sourceLineNo">322</span>    (getImplData()).setServerManager(p_serverManager);<a name="line.322"></a>
 <span class="sourceLineNo">323</span>    return this;<a name="line.323"></a>
 <span class="sourceLineNo">324</span>  }<a name="line.324"></a>
 <span class="sourceLineNo">325</span>  <a name="line.325"></a>
@@ -338,10 +338,10 @@
 <span class="sourceLineNo">330</span>    return this;<a name="line.330"></a>
 <span class="sourceLineNo">331</span>  }<a name="line.331"></a>
 <span class="sourceLineNo">332</span>  <a name="line.332"></a>
-<span class="sourceLineNo">333</span>  protected ServerManager serverManager;<a name="line.333"></a>
-<span class="sourceLineNo">334</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServerManager(ServerManager p_serverManager)<a name="line.334"></a>
+<span class="sourceLineNo">333</span>  protected String format;<a name="line.333"></a>
+<span class="sourceLineNo">334</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.334"></a>
 <span class="sourceLineNo">335</span>  {<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    (getImplData()).setServerManager(p_serverManager);<a name="line.336"></a>
+<span class="sourceLineNo">336</span>    (getImplData()).setFormat(p_format);<a name="line.336"></a>
 <span class="sourceLineNo">337</span>    return this;<a name="line.337"></a>
 <span class="sourceLineNo">338</span>  }<a name="line.338"></a>
 <span class="sourceLineNo">339</span>  <a name="line.339"></a>


[21/26] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/quotas/QuotaUtil.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/QuotaUtil.html b/devapidocs/org/apache/hadoop/hbase/quotas/QuotaUtil.html
index 8aa5a97..d63f9bd 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/QuotaUtil.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/QuotaUtil.html
@@ -359,7 +359,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.ht
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html" title="class in org.apache.hadoop.hbase.quotas">QuotaTableUtil</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#createGetNamespaceSnapshotSize-java.lang.String-">createGetNamespaceSnapshotSize</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#createPutForNamespaceSnapshotSize-java.lang.String-long-">createPutForNamespaceSnapshotSize</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#createPutForSnapshotSize-org.apache.hadoop.hbase.TableName-java.lang.String-long-">createPutForSnapshotSize</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#createPutForSpaceSnapshot-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshot-">createPutForSpaceSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#createScanForSnapshotSizes-org.apache.hadoop.hbase.TableName-">createScanForSnapshotSizes</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#doGet-o
 rg.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.client.Get-">doGet</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#doGet-org.apache.hadoop.hbase.client.Connection-java.util.List-">doGet</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#extractQuotaSnapshot-org.apache.hadoop.hbase.client.Result-java.util.Map-">extractQuotaSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#extractSnapshotSize-byte:A-int-int-">extractSnapshotSize</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getCurrentSnapshot-org.apache.hadoop.hbase.client.Connection-java.lang.String-">getCurrentSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getCurrentSnapshot-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-">getCurrentSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil
 .html#getMasterReportedTableSizes-org.apache.hadoop.hbase.client.Connection-">getMasterReportedTableSizes</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getNamespaceFromRowKey-byte:A-">getNamespaceFromRowKey</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getNamespaceQuota-org.apache.hadoop.hbase.client.Connection-java.lang.String-">getNamespaceQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getNamespaceRowKey-java.lang.String-">getNamespaceRowKey</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getNamespaceRowKeyRegex-java.lang.String-">getNamespaceRowKeyRegex</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getNamespaceSnapshotSize-org.apache.hadoop.hbase.client.Connection-java.lang.String-">getNamespaceSnapshotSize</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getProtoViolationPolicy-
 org.apache.hadoop.hbase.quotas.SpaceViolationPolicy-">getProtoViolationPolicy</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getRegionServerQuotaSnapshots-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.ServerName-">getRegionServerQuotaSnapshots</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getSettingsQualifierForUserNamespace-java.lang.String-">getSettingsQualifierForUserNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getSettingsQualifierForUserTable-org.apache.hadoop.hbase.TableName-">getSettingsQualifierForUserTable</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getSettingsQualifierRegexForUserNamespace-java.lang.String-">getSettingsQualifierRegexForUserNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getSettingsQualifierRegexForUserTable-java.lang.String-">getSettingsQualifierRegex
 ForUserTable</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getSnapshots-org.apache.hadoop.hbase.client.Connection-">getSnapshots</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getSnapshotSizeQualifier-java.lang.String-">getSnapshotSizeQualifier</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getTableFromRowKey-byte:A-">getTableFromRowKey</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getTableQuota-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-">getTableQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getTableRowKey-org.apache.hadoop.hbase.TableName-">getTableRowKey</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getTableRowKeyRegex-java.lang.String-">getTableRowKeyRegex</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getUser
 FromRowKey-byte:A-">getUserFromRowKey</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getUserQuota-org.apache.hadoop.hbase.client.Connection-java.lang.String-">getUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getUserQuota-org.apache.hadoop.hbase.client.Connection-java.lang.String-java.lang.String-">getUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getUserQuota-org.apache.hadoop.hbase.client.Connection-java.lang.String-org.apache.hadoop.hbase.TableName-">getUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getUserRowKey-java.lang.String-">getUserRowKey</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getUserRowKeyRegex-java.lang.String-">getUserRowKeyRegex</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getViolationPolicy-org.apache.hadoop.hbase.shaded.protobuf.gene
 rated.QuotaProtos.SpaceQuota-">getViolationPolicy</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#isEmptyQuota-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">isEmptyQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#isNamespaceRowKey-byte:A-">isNamespaceRowKey</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#isTableRowKey-byte:A-">isTableRowKey</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#isUserRowKey-byte:A-">isUserRowKey</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#makeFilter-org.apache.hadoop.hbase.quotas.QuotaFilter-">makeFilter</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#makeGetForNamespaceQuotas-java.lang.String-">makeGetForNamespaceQuotas</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#makeGetForSnapshotSize-org.apache.h
 adoop.hbase.TableName-java.lang.String-">makeGetForSnapshotSize</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#makeGetForTableQuotas-org.apache.hadoop.hbase.TableName-">makeGetForTableQuotas</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#makeGetForUserQuotas-java.lang.String-java.lang.Iterable-java.lang.Iterable-">makeGetForUserQuotas</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#makeQuotaSnapshotScan--">makeQuotaSnapshotScan</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#makeQuotaSnapshotScanForTable-org.apache.hadoop.hbase.TableName-">makeQuotaSnapshotScanForTable</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#makeScan-org.apache.hadoop.hbase.quotas.QuotaFilter-">makeScan</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#parseNamespaceResult-org.apache.hadoop.hbase.client.Result-org.apach
 e.hadoop.hbase.quotas.QuotaTableUtil.NamespaceQuotasVisitor-">parseNamespaceResult</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#parseNamespaceResult-java.lang.String-org.apache.hadoop.hbase.client.Result-org.apache.hadoop.hbase.quotas.QuotaTableUtil.NamespaceQuotasVisitor-">parseNamespaceResult</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#parseResult-org.apache.hadoop.hbase.client.Result-org.apache.hadoop.hbase.quotas.QuotaTableUtil.QuotasVisitor-">parseResult</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#parseResultToCollection-org.apache.hadoop.hbase.client.Result-java.util.Collection-">parseResultToCollection</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#parseSnapshotSize-org.apache.hadoop.hbase.Cell-">parseSnapshotSize</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#parseTableResult-org.apache.hadoop.hbase.clien
 t.Result-org.apache.hadoop.hbase.quotas.QuotaTableUtil.TableQuotasVisitor-">parseTableResult</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#parseTableResult-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.Result-org.apache.hadoop.hbase.quotas.QuotaTableUtil.TableQuotasVisitor-">parseTableResult</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#parseUserResult-org.apache.hadoop.hbase.client.Result-org.apache.hadoop.hbase.quotas.QuotaTableUtil.UserQuotasVisitor-">parseUserResult</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#parseUserResult-java.lang.String-org.apache.hadoop.hbase.client.Result-org.apache.hadoop.hbase.quotas.QuotaTableUtil.UserQuotasVisitor-">parseUserResult</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#quotasFromData-byte:A-">quotasFromData</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#quo
 tasFromData-byte:A-int-int-">quotasFromData</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#quotasToData-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">quotasToData</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#createGetNamespaceSnapshotSize-java.lang.String-">createGetNamespaceSnapshotSize</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#createPutForNamespaceSnapshotSize-java.lang.String-long-">createPutForNamespaceSnapshotSize</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#createPutForSnapshotSize-org.apache.hadoop.hbase.TableName-java.lang.String-long-">createPutForSnapshotSize</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#createPutForSpaceSnapshot-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshot-">createPutForSpaceSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#createScanForSpaceSnapshotSizes--">createScanForSpaceSnapshotSizes</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#createScanForSpaceSnapshotSize
 s-org.apache.hadoop.hbase.TableName-">createScanForSpaceSnapshotSizes</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#doGet-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.client.Get-">doGet</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#doGet-org.apache.hadoop.hbase.client.Connection-java.util.List-">doGet</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#extractQuotaSnapshot-org.apache.hadoop.hbase.client.Result-java.util.Map-">extractQuotaSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#extractSnapshotNameFromSizeCell-org.apache.hadoop.hbase.Cell-">extractSnapshotNameFromSizeCell</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#extractSnapshotSize-byte:A-int-int-">extractSnapshotSize</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getCurrentSnapshot-org.apache.hadoop.
 hbase.client.Connection-java.lang.String-">getCurrentSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getCurrentSnapshot-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-">getCurrentSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getMasterReportedTableSizes-org.apache.hadoop.hbase.client.Connection-">getMasterReportedTableSizes</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getNamespaceFromRowKey-byte:A-">getNamespaceFromRowKey</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getNamespaceQuota-org.apache.hadoop.hbase.client.Connection-java.lang.String-">getNamespaceQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getNamespaceRowKey-java.lang.String-">getNamespaceRowKey</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getNamespaceRowKeyRegex-java.l
 ang.String-">getNamespaceRowKeyRegex</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getNamespaceSnapshotSize-org.apache.hadoop.hbase.client.Connection-java.lang.String-">getNamespaceSnapshotSize</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getObservedSnapshotSizes-org.apache.hadoop.hbase.client.Connection-">getObservedSnapshotSizes</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getProtoViolationPolicy-org.apache.hadoop.hbase.quotas.SpaceViolationPolicy-">getProtoViolationPolicy</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getRegionServerQuotaSnapshots-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.ServerName-">getRegionServerQuotaSnapshots</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getSettingsQualifierForUserNamespace-java.lang.String-">getSettingsQualifierForUserNamespace</a>, <a href="../../.
 ./../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getSettingsQualifierForUserTable-org.apache.hadoop.hbase.TableName-">getSettingsQualifierForUserTable</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getSettingsQualifierRegexForUserNamespace-java.lang.String-">getSettingsQualifierRegexForUserNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getSettingsQualifierRegexForUserTable-java.lang.String-">getSettingsQualifierRegexForUserTable</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getSnapshots-org.apache.hadoop.hbase.client.Connection-">getSnapshots</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getSnapshotSizeQualifier-java.lang.String-">getSnapshotSizeQualifier</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getTableFromRowKey-byte:A-">getTableFromRowKey</a>, <a href="../../../../../org/apache/hadoop/hbase
 /quotas/QuotaTableUtil.html#getTableQuota-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-">getTableQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getTableRowKey-org.apache.hadoop.hbase.TableName-">getTableRowKey</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getTableRowKeyRegex-java.lang.String-">getTableRowKeyRegex</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getUserFromRowKey-byte:A-">getUserFromRowKey</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getUserQuota-org.apache.hadoop.hbase.client.Connection-java.lang.String-">getUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getUserQuota-org.apache.hadoop.hbase.client.Connection-java.lang.String-java.lang.String-">getUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getUserQuota-org.apach
 e.hadoop.hbase.client.Connection-java.lang.String-org.apache.hadoop.hbase.TableName-">getUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getUserRowKey-java.lang.String-">getUserRowKey</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getUserRowKeyRegex-java.lang.String-">getUserRowKeyRegex</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getViolationPolicy-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota-">getViolationPolicy</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#isEmptyQuota-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">isEmptyQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#isNamespaceRowKey-byte:A-">isNamespaceRowKey</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#isTableRowKey-byte:A-">isTableRowKey</a>, <a href="../../..
 /../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#isUserRowKey-byte:A-">isUserRowKey</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#makeFilter-org.apache.hadoop.hbase.quotas.QuotaFilter-">makeFilter</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#makeGetForNamespaceQuotas-java.lang.String-">makeGetForNamespaceQuotas</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#makeGetForSnapshotSize-org.apache.hadoop.hbase.TableName-java.lang.String-">makeGetForSnapshotSize</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#makeGetForTableQuotas-org.apache.hadoop.hbase.TableName-">makeGetForTableQuotas</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#makeGetForUserQuotas-java.lang.String-java.lang.Iterable-java.lang.Iterable-">makeGetForUserQuotas</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#makeQuot
 aSnapshotScan--">makeQuotaSnapshotScan</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#makeQuotaSnapshotScanForTable-org.apache.hadoop.hbase.TableName-">makeQuotaSnapshotScanForTable</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#makeScan-org.apache.hadoop.hbase.quotas.QuotaFilter-">makeScan</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#parseNamespaceResult-org.apache.hadoop.hbase.client.Result-org.apache.hadoop.hbase.quotas.QuotaTableUtil.NamespaceQuotasVisitor-">parseNamespaceResult</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#parseNamespaceResult-java.lang.String-org.apache.hadoop.hbase.client.Result-org.apache.hadoop.hbase.quotas.QuotaTableUtil.NamespaceQuotasVisitor-">parseNamespaceResult</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#parseResult-org.apache.hadoop.hbase.client.Result-org.apache.hadoop.hbase.quotas
 .QuotaTableUtil.QuotasVisitor-">parseResult</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#parseResultToCollection-org.apache.hadoop.hbase.client.Result-java.util.Collection-">parseResultToCollection</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#parseSnapshotSize-org.apache.hadoop.hbase.Cell-">parseSnapshotSize</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#parseTableResult-org.apache.hadoop.hbase.client.Result-org.apache.hadoop.hbase.quotas.QuotaTableUtil.TableQuotasVisitor-">parseTableResult</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#parseTableResult-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.Result-org.apache.hadoop.hbase.quotas.QuotaTableUtil.TableQuotasVisitor-">parseTableResult</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#parseUserResult-org.apache.hadoop.hbase.client.Result-org.apache.
 hadoop.hbase.quotas.QuotaTableUtil.UserQuotasVisitor-">parseUserResult</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#parseUserResult-java.lang.String-org.apache.hadoop.hbase.client.Result-org.apache.hadoop.hbase.quotas.QuotaTableUtil.UserQuotasVisitor-">parseUserResult</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#quotasFromData-byte:A-">quotasFromData</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#quotasFromData-byte:A-int-int-">quotasFromData</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#quotasToData-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">quotasToData</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html b/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
index de87977..83c439d 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
@@ -201,13 +201,13 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">ThrottleType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSnapshotStore.ViolationState.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">QuotaSnapshotStore.ViolationState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/OperationQuota.OperationType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">OperationQuota.OperationType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceViolationPolicy.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">SpaceViolationPolicy</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">QuotaType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaScope.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">QuotaScope</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">QuotaType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/OperationQuota.OperationType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">OperationQuota.OperationType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottlingException.Type.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">ThrottlingException.Type</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceViolationPolicy.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">SpaceViolationPolicy</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">ThrottleType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSnapshotStore.ViolationState.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">QuotaSnapshotStore.ViolationState</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html
index d270580..f04a8eb 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1719">HRegionServer.CompactionChecker</a>
+<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1734">HRegionServer.CompactionChecker</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" title="class in org.apache.hadoop.hbase">ScheduledChore</a></pre>
 </li>
 </ul>
@@ -233,7 +233,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>instance</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html#line.1720">instance</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html#line.1735">instance</a></pre>
 </li>
 </ul>
 <a name="majorCompactPriority">
@@ -242,7 +242,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>majorCompactPriority</h4>
-<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html#line.1721">majorCompactPriority</a></pre>
+<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html#line.1736">majorCompactPriority</a></pre>
 </li>
 </ul>
 <a name="DEFAULT_PRIORITY">
@@ -251,7 +251,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_PRIORITY</h4>
-<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html#line.1722">DEFAULT_PRIORITY</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html#line.1737">DEFAULT_PRIORITY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HRegionServer.CompactionChecker.DEFAULT_PRIORITY">Constant Field Values</a></dd>
@@ -264,7 +264,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" tit
 <ul class="blockListLast">
 <li class="blockList">
 <h4>iteration</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html#line.1725">iteration</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html#line.1740">iteration</a></pre>
 </li>
 </ul>
 </li>
@@ -281,7 +281,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" tit
 <ul class="blockListLast">
 <li class="blockList">
 <h4>CompactionChecker</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html#line.1727">CompactionChecker</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;h,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html#line.1742">CompactionChecker</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;h,
                   int&nbsp;sleepTime,
                   <a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title="interface in org.apache.hadoop.hbase">Stoppable</a>&nbsp;stopper)</pre>
 </li>
@@ -300,7 +300,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" tit
 <ul class="blockListLast">
 <li class="blockList">
 <h4>chore</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html#line.1742">chore</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html#line.1757">chore</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html#chore--">ScheduledChore</a></code></span></div>
 <div class="block">The task to execute on each scheduled execution of the Chore</div>
 <dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html
index 076495d..6262d7f 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3346">HRegionServer.MovedRegionInfo</a>
+<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3361">HRegionServer.MovedRegionInfo</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
@@ -218,7 +218,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>serverName</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3347">serverName</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3362">serverName</a></pre>
 </li>
 </ul>
 <a name="seqNum">
@@ -227,7 +227,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>seqNum</h4>
-<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3348">seqNum</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3363">seqNum</a></pre>
 </li>
 </ul>
 <a name="ts">
@@ -236,7 +236,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ts</h4>
-<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3349">ts</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3364">ts</a></pre>
 </li>
 </ul>
 </li>
@@ -253,7 +253,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>MovedRegionInfo</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3351">MovedRegionInfo</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3366">MovedRegionInfo</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                        long&nbsp;closeSeqNum)</pre>
 </li>
 </ul>
@@ -271,7 +271,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <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/regionserver/HRegionServer.MovedRegionInfo.html#line.3357">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/regionserver/HRegionServer.MovedRegionInfo.html#line.3372">getServerName</a>()</pre>
 </li>
 </ul>
 <a name="getSeqNum--">
@@ -280,7 +280,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getSeqNum</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3361">getSeqNum</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3376">getSeqNum</a>()</pre>
 </li>
 </ul>
 <a name="getMoveTime--">
@@ -289,7 +289,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getMoveTime</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3365">getMoveTime</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3380">getMoveTime</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html
index 92b6e8f..91732de 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>protected static final class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3435">HRegionServer.MovedRegionsCleaner</a>
+<pre>protected static final class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3450">HRegionServer.MovedRegionsCleaner</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" title="class in org.apache.hadoop.hbase">ScheduledChore</a>
 implements <a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title="interface in org.apache.hadoop.hbase">Stoppable</a></pre>
 <div class="block">Creates a Chore thread to clean the moved region cache.</div>
@@ -242,7 +242,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>regionServer</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3436">regionServer</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3451">regionServer</a></pre>
 </li>
 </ul>
 <a name="stoppable">
@@ -251,7 +251,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title
 <ul class="blockListLast">
 <li class="blockList">
 <h4>stoppable</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title="interface in org.apache.hadoop.hbase">Stoppable</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3437">stoppable</a></pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title="interface in org.apache.hadoop.hbase">Stoppable</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3452">stoppable</a></pre>
 </li>
 </ul>
 </li>
@@ -268,7 +268,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title
 <ul class="blockListLast">
 <li class="blockList">
 <h4>MovedRegionsCleaner</h4>
-<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3439">MovedRegionsCleaner</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;regionServer,
+<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3454">MovedRegionsCleaner</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;regionServer,
                             <a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title="interface in org.apache.hadoop.hbase">Stoppable</a>&nbsp;stoppable)</pre>
 </li>
 </ul>
@@ -286,7 +286,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>create</h4>
-<pre>static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer.MovedRegionsCleaner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3447">create</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;rs)</pre>
+<pre>static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer.MovedRegionsCleaner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3462">create</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;rs)</pre>
 </li>
 </ul>
 <a name="chore--">
@@ -295,7 +295,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>chore</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3458">chore</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3473">chore</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html#chore--">ScheduledChore</a></code></span></div>
 <div class="block">The task to execute on each scheduled execution of the Chore</div>
 <dl>
@@ -310,7 +310,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>stop</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3463">stop</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;why)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3478">stop</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;why)</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>
@@ -328,7 +328,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title
 <ul class="blockListLast">
 <li class="blockList">
 <h4>isStopped</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3468">isStopped</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3483">isStopped</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/Stoppable.html#isStopped--">isStopped</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title="interface in org.apache.hadoop.hbase">Stoppable</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html
index 0a21107..168dc49 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1776">HRegionServer.PeriodicMemstoreFlusher</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1791">HRegionServer.PeriodicMemstoreFlusher</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" title="class in org.apache.hadoop.hbase">ScheduledChore</a></pre>
 </li>
 </ul>
@@ -228,7 +228,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>server</h4>
-<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html#line.1777">server</a></pre>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html#line.1792">server</a></pre>
 </li>
 </ul>
 <a name="RANGE_OF_DELAY">
@@ -237,7 +237,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>RANGE_OF_DELAY</h4>
-<pre>static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html#line.1778">RANGE_OF_DELAY</a></pre>
+<pre>static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html#line.1793">RANGE_OF_DELAY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HRegionServer.PeriodicMemstoreFlusher.RANGE_OF_DELAY">Constant Field Values</a></dd>
@@ -250,7 +250,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" tit
 <ul class="blockListLast">
 <li class="blockList">
 <h4>MIN_DELAY_TIME</h4>
-<pre>static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html#line.1779">MIN_DELAY_TIME</a></pre>
+<pre>static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html#line.1794">MIN_DELAY_TIME</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HRegionServer.PeriodicMemstoreFlusher.MIN_DELAY_TIME">Constant Field Values</a></dd>
@@ -271,7 +271,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" tit
 <ul class="blockListLast">
 <li class="blockList">
 <h4>PeriodicMemstoreFlusher</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html#line.1780">PeriodicMemstoreFlusher</a>(int&nbsp;cacheFlushInterval,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html#line.1795">PeriodicMemstoreFlusher</a>(int&nbsp;cacheFlushInterval,
                                <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;server)</pre>
 </li>
 </ul>
@@ -289,7 +289,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" tit
 <ul class="blockListLast">
 <li class="blockList">
 <h4>chore</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html#line.1786">chore</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html#line.1801">chore</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html#chore--">ScheduledChore</a></code></span></div>
 <div class="block">The task to execute on each scheduled execution of the Chore</div>
 <dl>


[18/26] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
index fe38d76..50e166f 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
@@ -293,22 +293,22 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.71">m_regionServer</a></pre>
 </li>
 </ul>
-<a name="m_filter">
+<a name="m_format">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_filter</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.83">m_filter</a></pre>
+<h4>m_format</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.83">m_format</a></pre>
 </li>
 </ul>
-<a name="m_filter__IsNotDefault">
+<a name="m_format__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_filter__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.88">m_filter__IsNotDefault</a></pre>
+<h4>m_format__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.88">m_format__IsNotDefault</a></pre>
 </li>
 </ul>
 <a name="m_bcn">
@@ -329,40 +329,40 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.105">m_bcn__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_format">
+<a name="m_bcv">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_format</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.117">m_format</a></pre>
+<h4>m_bcv</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.117">m_bcv</a></pre>
 </li>
 </ul>
-<a name="m_format__IsNotDefault">
+<a name="m_bcv__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_format__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.122">m_format__IsNotDefault</a></pre>
+<h4>m_bcv__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.122">m_bcv__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_bcv">
+<a name="m_filter">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_bcv</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.134">m_bcv</a></pre>
+<h4>m_filter</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.134">m_filter</a></pre>
 </li>
 </ul>
-<a name="m_bcv__IsNotDefault">
+<a name="m_filter__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>m_bcv__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.139">m_bcv__IsNotDefault</a></pre>
+<h4>m_filter__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.139">m_filter__IsNotDefault</a></pre>
 </li>
 </ul>
 </li>
@@ -408,31 +408,31 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.67">getRegionServer</a>()</pre>
 </li>
 </ul>
-<a name="setFilter-java.lang.String-">
+<a name="setFormat-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFilter</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.73">setFilter</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filter)</pre>
+<h4>setFormat</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.73">setFormat</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;format)</pre>
 </li>
 </ul>
-<a name="getFilter--">
+<a name="getFormat--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFilter</h4>
-<pre>public&nbsp;<a href="http://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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.79">getFilter</a>()</pre>
+<h4>getFormat</h4>
+<pre>public&nbsp;<a href="http://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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.79">getFormat</a>()</pre>
 </li>
 </ul>
-<a name="getFilter__IsNotDefault--">
+<a name="getFormat__IsNotDefault--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFilter__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.84">getFilter__IsNotDefault</a>()</pre>
+<h4>getFormat__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.84">getFormat__IsNotDefault</a>()</pre>
 </li>
 </ul>
 <a name="setBcn-java.lang.String-">
@@ -462,58 +462,58 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.101">getBcn__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setFormat-java.lang.String-">
+<a name="setBcv-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFormat</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.107">setFormat</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;format)</pre>
+<h4>setBcv</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.107">setBcv</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;bcv)</pre>
 </li>
 </ul>
-<a name="getFormat--">
+<a name="getBcv--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFormat</h4>
-<pre>public&nbsp;<a href="http://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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.113">getFormat</a>()</pre>
+<h4>getBcv</h4>
+<pre>public&nbsp;<a href="http://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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.113">getBcv</a>()</pre>
 </li>
 </ul>
-<a name="getFormat__IsNotDefault--">
+<a name="getBcv__IsNotDefault--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFormat__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.118">getFormat__IsNotDefault</a>()</pre>
+<h4>getBcv__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.118">getBcv__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setBcv-java.lang.String-">
+<a name="setFilter-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setBcv</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.124">setBcv</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;bcv)</pre>
+<h4>setFilter</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.124">setFilter</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filter)</pre>
 </li>
 </ul>
-<a name="getBcv--">
+<a name="getFilter--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getBcv</h4>
-<pre>public&nbsp;<a href="http://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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.130">getBcv</a>()</pre>
+<h4>getFilter</h4>
+<pre>public&nbsp;<a href="http://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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.130">getFilter</a>()</pre>
 </li>
 </ul>
-<a name="getBcv__IsNotDefault--">
+<a name="getFilter__IsNotDefault--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>getBcv__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.135">getBcv__IsNotDefault</a>()</pre>
+<h4>getFilter__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.135">getFilter__IsNotDefault</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
index 2a739f7..b10ab88 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
@@ -297,13 +297,13 @@ extends org.jamon.AbstractTemplateProxy</pre>
 <!--   -->
 </a>
 <h3>Field Detail</h3>
-<a name="filter">
+<a name="format">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>filter</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.151">filter</a></pre>
+<h4>format</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.151">format</a></pre>
 </li>
 </ul>
 <a name="bcn">
@@ -315,22 +315,22 @@ extends org.jamon.AbstractTemplateProxy</pre>
 <pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.158">bcn</a></pre>
 </li>
 </ul>
-<a name="format">
+<a name="bcv">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>format</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.165">format</a></pre>
+<h4>bcv</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.165">bcv</a></pre>
 </li>
 </ul>
-<a name="bcv">
+<a name="filter">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>bcv</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.172">bcv</a></pre>
+<h4>filter</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.172">filter</a></pre>
 </li>
 </ul>
 </li>
@@ -402,13 +402,13 @@ extends org.jamon.AbstractTemplateProxy</pre>
 </dl>
 </li>
 </ul>
-<a name="setFilter-java.lang.String-">
+<a name="setFormat-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFilter</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.152">setFilter</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_filter)</pre>
+<h4>setFormat</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.152">setFormat</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_format)</pre>
 </li>
 </ul>
 <a name="setBcn-java.lang.String-">
@@ -420,22 +420,22 @@ extends org.jamon.AbstractTemplateProxy</pre>
 <pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.159">setBcn</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_bcn)</pre>
 </li>
 </ul>
-<a name="setFormat-java.lang.String-">
+<a name="setBcv-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFormat</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.166">setFormat</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_format)</pre>
+<h4>setBcv</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.166">setBcv</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_bcv)</pre>
 </li>
 </ul>
-<a name="setBcv-java.lang.String-">
+<a name="setFilter-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setBcv</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.173">setBcv</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_bcv)</pre>
+<h4>setFilter</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.173">setFilter</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_filter)</pre>
 </li>
 </ul>
 <a name="constructImpl-java.lang.Class-">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
index 870f14a..02e8585 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
@@ -238,13 +238,13 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
 <pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.28">regionServer</a></pre>
 </li>
 </ul>
-<a name="filter">
+<a name="format">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>filter</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.29">filter</a></pre>
+<h4>format</h4>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.29">format</a></pre>
 </li>
 </ul>
 <a name="bcn">
@@ -256,22 +256,22 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
 <pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.30">bcn</a></pre>
 </li>
 </ul>
-<a name="format">
+<a name="bcv">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>format</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.31">format</a></pre>
+<h4>bcv</h4>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.31">bcv</a></pre>
 </li>
 </ul>
-<a name="bcv">
+<a name="filter">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>bcv</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.32">bcv</a></pre>
+<h4>filter</h4>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.32">filter</a></pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
index cd1f4b7..24c6794 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
@@ -519,14 +519,14 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Order</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/ChecksumType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">ChecksumType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/PrettyPrinter.Unit.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">PrettyPrinter.Unit</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">HBaseFsck.ErrorReporter.ERROR_CODE</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.UnsafeComparer.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Bytes.LexicographicalComparerHolder.UnsafeComparer</span></a> (implements org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" title="interface in org.apache.hadoop.hbase.util">Bytes.Comparer</a>&lt;T&gt;)</li>
 <li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.PureJavaComparer.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Bytes.LexicographicalComparerHolder.PureJavaComparer</span></a> (implements org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" title="interface in org.apache.hadoop.hbase.util">Bytes.Comparer</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">HBaseFsck.ErrorReporter.ERROR_CODE</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/PoolMap.PoolType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">PoolMap.PoolType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.UnsafeComparer.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Bytes.LexicographicalComparerHolder.UnsafeComparer</span></a> (implements org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" title="interface in org.apache.hadoop.hbase.util">Bytes.Comparer</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/ChecksumType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">ChecksumType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/IdReadWriteLock.ReferenceType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">IdReadWriteLock.ReferenceType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/PrettyPrinter.Unit.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">PrettyPrinter.Unit</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Order</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/Version.html b/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
index c142a64..043673f 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
@@ -16,11 +16,11 @@
 <span class="sourceLineNo">008</span>@InterfaceAudience.Private<a name="line.8"></a>
 <span class="sourceLineNo">009</span>public class Version {<a name="line.9"></a>
 <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 = "af466bf722450ce6f61ee2bc1e26ab202dea7fb5";<a name="line.11"></a>
+<span class="sourceLineNo">011</span>  public static final String revision = "83be50c2ab01b428df3b0496215fda8d66ae1bd6";<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 Jun 20 14:39:32 UTC 2017";<a name="line.13"></a>
+<span class="sourceLineNo">013</span>  public static final String date = "Wed Jun 21 14:39:31 UTC 2017";<a name="line.13"></a>
 <span class="sourceLineNo">014</span>  public static final String url = "git://asf920.gq1.ygridcore.net/home/jenkins/jenkins-slave/workspace/hbase_generate_website/hbase";<a name="line.14"></a>
-<span class="sourceLineNo">015</span>  public static final String srcChecksum = "7cac104029b1c04119dd3de2bb0f1882";<a name="line.15"></a>
+<span class="sourceLineNo">015</span>  public static final String srcChecksum = "d59203aa283aa829e340f777d4965ae4";<a name="line.15"></a>
 <span class="sourceLineNo">016</span>}<a name="line.16"></a>
 
 


[13/26] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html
index 3c6f9b8..7d3deb8 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html
@@ -39,731 +39,772 @@
 <span class="sourceLineNo">031</span>import org.apache.commons.logging.Log;<a name="line.31"></a>
 <span class="sourceLineNo">032</span>import org.apache.commons.logging.LogFactory;<a name="line.32"></a>
 <span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.Cell;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.ServerName;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.TableName;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.client.ClusterConnection;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.client.Get;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.client.Put;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.client.QuotaStatusCalls;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.client.Result;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.client.ResultScanner;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.client.Table;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.filter.ColumnPrefixFilter;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.filter.CompareFilter;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.filter.Filter;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.filter.FilterList;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.filter.QualifierFilter;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.filter.RegexStringComparator;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.filter.RowFilter;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.protobuf.ProtobufMagic;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.InvalidProtocolBufferException;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.UnsafeByteOperations;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetQuotaStatesResponse;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaRegionSizesResponse;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse.TableQuotaSnapshot;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaRegionSizesResponse.RegionSizes;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.util.Strings;<a name="line.70"></a>
-<span class="sourceLineNo">071</span><a name="line.71"></a>
-<span class="sourceLineNo">072</span>/**<a name="line.72"></a>
-<span class="sourceLineNo">073</span> * Helper class to interact with the quota table.<a name="line.73"></a>
-<span class="sourceLineNo">074</span> * &lt;table&gt;<a name="line.74"></a>
-<span class="sourceLineNo">075</span> *   &lt;tr&gt;&lt;th&gt;ROW-KEY&lt;/th&gt;&lt;th&gt;FAM/QUAL&lt;/th&gt;&lt;th&gt;DATA&lt;/th&gt;&lt;/tr&gt;<a name="line.75"></a>
-<span class="sourceLineNo">076</span> *   &lt;tr&gt;&lt;td&gt;n.&amp;lt;namespace&amp;gt;&lt;/td&gt;&lt;td&gt;q:s&lt;/td&gt;&lt;td&gt;&amp;lt;global-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.76"></a>
-<span class="sourceLineNo">077</span> *   &lt;tr&gt;&lt;td&gt;n.&amp;lt;namespace&amp;gt;&lt;/td&gt;&lt;td&gt;u:p&lt;/td&gt;&lt;td&gt;&amp;lt;namespace-quota policy&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.77"></a>
-<span class="sourceLineNo">078</span> *   &lt;tr&gt;&lt;td&gt;n.&amp;lt;namespace&amp;gt;&lt;/td&gt;&lt;td&gt;u:s&lt;/td&gt;&lt;td&gt;&amp;lt;SpaceQuotaSnapshot&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.78"></a>
-<span class="sourceLineNo">079</span> *   &lt;tr&gt;&lt;td&gt;t.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;q:s&lt;/td&gt;&lt;td&gt;&amp;lt;global-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.79"></a>
-<span class="sourceLineNo">080</span> *   &lt;tr&gt;&lt;td&gt;t.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;u:p&lt;/td&gt;&lt;td&gt;&amp;lt;table-quota policy&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.80"></a>
-<span class="sourceLineNo">081</span> *   &lt;tr&gt;&lt;td&gt;t.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;u:ss.&amp;lt;snapshot name&amp;gt;&lt;/td&gt;&lt;td&gt;&amp;lt;SpaceQuotaSnapshot&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.81"></a>
-<span class="sourceLineNo">082</span> *   &lt;tr&gt;&lt;td&gt;u.&amp;lt;user&amp;gt;&lt;/td&gt;&lt;td&gt;q:s&lt;/td&gt;&lt;td&gt;&amp;lt;global-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.82"></a>
-<span class="sourceLineNo">083</span> *   &lt;tr&gt;&lt;td&gt;u.&amp;lt;user&amp;gt;&lt;/td&gt;&lt;td&gt;q:s.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;&amp;lt;table-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.83"></a>
-<span class="sourceLineNo">084</span> *   &lt;tr&gt;&lt;td&gt;u.&amp;lt;user&amp;gt;&lt;/td&gt;&lt;td&gt;q:s.&amp;lt;ns&amp;gt;&lt;/td&gt;&lt;td&gt;&amp;lt;namespace-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.84"></a>
-<span class="sourceLineNo">085</span> * &lt;/table<a name="line.85"></a>
-<span class="sourceLineNo">086</span> */<a name="line.86"></a>
-<span class="sourceLineNo">087</span>@InterfaceAudience.Private<a name="line.87"></a>
-<span class="sourceLineNo">088</span>@InterfaceStability.Evolving<a name="line.88"></a>
-<span class="sourceLineNo">089</span>public class QuotaTableUtil {<a name="line.89"></a>
-<span class="sourceLineNo">090</span>  private static final Log LOG = LogFactory.getLog(QuotaTableUtil.class);<a name="line.90"></a>
-<span class="sourceLineNo">091</span><a name="line.91"></a>
-<span class="sourceLineNo">092</span>  /** System table for quotas */<a name="line.92"></a>
-<span class="sourceLineNo">093</span>  public static final TableName QUOTA_TABLE_NAME =<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      TableName.valueOf(NamespaceDescriptor.SYSTEM_NAMESPACE_NAME_STR, "quota");<a name="line.94"></a>
-<span class="sourceLineNo">095</span><a name="line.95"></a>
-<span class="sourceLineNo">096</span>  protected static final byte[] QUOTA_FAMILY_INFO = Bytes.toBytes("q");<a name="line.96"></a>
-<span class="sourceLineNo">097</span>  protected static final byte[] QUOTA_FAMILY_USAGE = Bytes.toBytes("u");<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  protected static final byte[] QUOTA_QUALIFIER_SETTINGS = Bytes.toBytes("s");<a name="line.98"></a>
-<span class="sourceLineNo">099</span>  protected static final byte[] QUOTA_QUALIFIER_SETTINGS_PREFIX = Bytes.toBytes("s.");<a name="line.99"></a>
-<span class="sourceLineNo">100</span>  protected static final byte[] QUOTA_QUALIFIER_POLICY = Bytes.toBytes("p");<a name="line.100"></a>
-<span class="sourceLineNo">101</span>  protected static final byte[] QUOTA_SNAPSHOT_SIZE_QUALIFIER = Bytes.toBytes("ss");<a name="line.101"></a>
-<span class="sourceLineNo">102</span>  protected static final String QUOTA_POLICY_COLUMN =<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      Bytes.toString(QUOTA_FAMILY_USAGE) + ":" + Bytes.toString(QUOTA_QUALIFIER_POLICY);<a name="line.103"></a>
-<span class="sourceLineNo">104</span>  protected static final byte[] QUOTA_USER_ROW_KEY_PREFIX = Bytes.toBytes("u.");<a name="line.104"></a>
-<span class="sourceLineNo">105</span>  protected static final byte[] QUOTA_TABLE_ROW_KEY_PREFIX = Bytes.toBytes("t.");<a name="line.105"></a>
-<span class="sourceLineNo">106</span>  protected static final byte[] QUOTA_NAMESPACE_ROW_KEY_PREFIX = Bytes.toBytes("n.");<a name="line.106"></a>
-<span class="sourceLineNo">107</span><a name="line.107"></a>
-<span class="sourceLineNo">108</span>  /* =========================================================================<a name="line.108"></a>
-<span class="sourceLineNo">109</span>   *  Quota "settings" helpers<a name="line.109"></a>
-<span class="sourceLineNo">110</span>   */<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  public static Quotas getTableQuota(final Connection connection, final TableName table)<a name="line.111"></a>
-<span class="sourceLineNo">112</span>      throws IOException {<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    return getQuotas(connection, getTableRowKey(table));<a name="line.113"></a>
-<span class="sourceLineNo">114</span>  }<a name="line.114"></a>
-<span class="sourceLineNo">115</span><a name="line.115"></a>
-<span class="sourceLineNo">116</span>  public static Quotas getNamespaceQuota(final Connection connection, final String namespace)<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      throws IOException {<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    return getQuotas(connection, getNamespaceRowKey(namespace));<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  }<a name="line.119"></a>
-<span class="sourceLineNo">120</span><a name="line.120"></a>
-<span class="sourceLineNo">121</span>  public static Quotas getUserQuota(final Connection connection, final String user)<a name="line.121"></a>
-<span class="sourceLineNo">122</span>      throws IOException {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    return getQuotas(connection, getUserRowKey(user));<a name="line.123"></a>
-<span class="sourceLineNo">124</span>  }<a name="line.124"></a>
-<span class="sourceLineNo">125</span><a name="line.125"></a>
-<span class="sourceLineNo">126</span>  public static Quotas getUserQuota(final Connection connection, final String user,<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      final TableName table) throws IOException {<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    return getQuotas(connection, getUserRowKey(user), getSettingsQualifierForUserTable(table));<a name="line.128"></a>
-<span class="sourceLineNo">129</span>  }<a name="line.129"></a>
-<span class="sourceLineNo">130</span><a name="line.130"></a>
-<span class="sourceLineNo">131</span>  public static Quotas getUserQuota(final Connection connection, final String user,<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      final String namespace) throws IOException {<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    return getQuotas(connection, getUserRowKey(user),<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      getSettingsQualifierForUserNamespace(namespace));<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  }<a name="line.135"></a>
-<span class="sourceLineNo">136</span><a name="line.136"></a>
-<span class="sourceLineNo">137</span>  private static Quotas getQuotas(final Connection connection, final byte[] rowKey)<a name="line.137"></a>
-<span class="sourceLineNo">138</span>      throws IOException {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    return getQuotas(connection, rowKey, QUOTA_QUALIFIER_SETTINGS);<a name="line.139"></a>
-<span class="sourceLineNo">140</span>  }<a name="line.140"></a>
-<span class="sourceLineNo">141</span><a name="line.141"></a>
-<span class="sourceLineNo">142</span>  private static Quotas getQuotas(final Connection connection, final byte[] rowKey,<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      final byte[] qualifier) throws IOException {<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    Get get = new Get(rowKey);<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    get.addColumn(QUOTA_FAMILY_INFO, qualifier);<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    Result result = doGet(connection, get);<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    if (result.isEmpty()) {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>      return null;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    }<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    return quotasFromData(result.getValue(QUOTA_FAMILY_INFO, qualifier));<a name="line.150"></a>
-<span class="sourceLineNo">151</span>  }<a name="line.151"></a>
-<span class="sourceLineNo">152</span><a name="line.152"></a>
-<span class="sourceLineNo">153</span>  public static Get makeGetForTableQuotas(final TableName table) {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    Get get = new Get(getTableRowKey(table));<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    get.addFamily(QUOTA_FAMILY_INFO);<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    return get;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>  }<a name="line.157"></a>
-<span class="sourceLineNo">158</span><a name="line.158"></a>
-<span class="sourceLineNo">159</span>  public static Get makeGetForNamespaceQuotas(final String namespace) {<a name="line.159"></a>
-<span class="sourceLineNo">160</span>    Get get = new Get(getNamespaceRowKey(namespace));<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    get.addFamily(QUOTA_FAMILY_INFO);<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    return get;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>  }<a name="line.163"></a>
-<span class="sourceLineNo">164</span><a name="line.164"></a>
-<span class="sourceLineNo">165</span>  public static Get makeGetForUserQuotas(final String user, final Iterable&lt;TableName&gt; tables,<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      final Iterable&lt;String&gt; namespaces) {<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    Get get = new Get(getUserRowKey(user));<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    get.addColumn(QUOTA_FAMILY_INFO, QUOTA_QUALIFIER_SETTINGS);<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    for (final TableName table: tables) {<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      get.addColumn(QUOTA_FAMILY_INFO, getSettingsQualifierForUserTable(table));<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    }<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    for (final String ns: namespaces) {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      get.addColumn(QUOTA_FAMILY_INFO, getSettingsQualifierForUserNamespace(ns));<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    }<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    return get;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>  }<a name="line.176"></a>
-<span class="sourceLineNo">177</span><a name="line.177"></a>
-<span class="sourceLineNo">178</span>  public static Scan makeScan(final QuotaFilter filter) {<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    Scan scan = new Scan();<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    scan.addFamily(QUOTA_FAMILY_INFO);<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    if (filter != null &amp;&amp; !filter.isNull()) {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>      scan.setFilter(makeFilter(filter));<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    }<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    return scan;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>  }<a name="line.185"></a>
-<span class="sourceLineNo">186</span><a name="line.186"></a>
-<span class="sourceLineNo">187</span>  /**<a name="line.187"></a>
-<span class="sourceLineNo">188</span>   * converts quotafilter to serializeable filterlists.<a name="line.188"></a>
-<span class="sourceLineNo">189</span>   */<a name="line.189"></a>
-<span class="sourceLineNo">190</span>  public static Filter makeFilter(final QuotaFilter filter) {<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    FilterList filterList = new FilterList(FilterList.Operator.MUST_PASS_ALL);<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    if (!Strings.isEmpty(filter.getUserFilter())) {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      FilterList userFilters = new FilterList(FilterList.Operator.MUST_PASS_ONE);<a name="line.193"></a>
-<span class="sourceLineNo">194</span>      boolean hasFilter = false;<a name="line.194"></a>
-<span class="sourceLineNo">195</span><a name="line.195"></a>
-<span class="sourceLineNo">196</span>      if (!Strings.isEmpty(filter.getNamespaceFilter())) {<a name="line.196"></a>
-<span class="sourceLineNo">197</span>        FilterList nsFilters = new FilterList(FilterList.Operator.MUST_PASS_ALL);<a name="line.197"></a>
-<span class="sourceLineNo">198</span>        nsFilters.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.198"></a>
-<span class="sourceLineNo">199</span>            new RegexStringComparator(getUserRowKeyRegex(filter.getUserFilter()), 0)));<a name="line.199"></a>
-<span class="sourceLineNo">200</span>        nsFilters.addFilter(new QualifierFilter(CompareFilter.CompareOp.EQUAL,<a name="line.200"></a>
-<span class="sourceLineNo">201</span>            new RegexStringComparator(<a name="line.201"></a>
-<span class="sourceLineNo">202</span>              getSettingsQualifierRegexForUserNamespace(filter.getNamespaceFilter()), 0)));<a name="line.202"></a>
-<span class="sourceLineNo">203</span>        userFilters.addFilter(nsFilters);<a name="line.203"></a>
-<span class="sourceLineNo">204</span>        hasFilter = true;<a name="line.204"></a>
-<span class="sourceLineNo">205</span>      }<a name="line.205"></a>
-<span class="sourceLineNo">206</span>      if (!Strings.isEmpty(filter.getTableFilter())) {<a name="line.206"></a>
-<span class="sourceLineNo">207</span>        FilterList tableFilters = new FilterList(FilterList.Operator.MUST_PASS_ALL);<a name="line.207"></a>
-<span class="sourceLineNo">208</span>        tableFilters.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.208"></a>
-<span class="sourceLineNo">209</span>            new RegexStringComparator(getUserRowKeyRegex(filter.getUserFilter()), 0)));<a name="line.209"></a>
-<span class="sourceLineNo">210</span>        tableFilters.addFilter(new QualifierFilter(CompareFilter.CompareOp.EQUAL,<a name="line.210"></a>
-<span class="sourceLineNo">211</span>            new RegexStringComparator(<a name="line.211"></a>
-<span class="sourceLineNo">212</span>              getSettingsQualifierRegexForUserTable(filter.getTableFilter()), 0)));<a name="line.212"></a>
-<span class="sourceLineNo">213</span>        userFilters.addFilter(tableFilters);<a name="line.213"></a>
-<span class="sourceLineNo">214</span>        hasFilter = true;<a name="line.214"></a>
-<span class="sourceLineNo">215</span>      }<a name="line.215"></a>
-<span class="sourceLineNo">216</span>      if (!hasFilter) {<a name="line.216"></a>
-<span class="sourceLineNo">217</span>        userFilters.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.217"></a>
-<span class="sourceLineNo">218</span>            new RegexStringComparator(getUserRowKeyRegex(filter.getUserFilter()), 0)));<a name="line.218"></a>
-<span class="sourceLineNo">219</span>      }<a name="line.219"></a>
-<span class="sourceLineNo">220</span><a name="line.220"></a>
-<span class="sourceLineNo">221</span>      filterList.addFilter(userFilters);<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    } else if (!Strings.isEmpty(filter.getTableFilter())) {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>      filterList.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.223"></a>
-<span class="sourceLineNo">224</span>          new RegexStringComparator(getTableRowKeyRegex(filter.getTableFilter()), 0)));<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    } else if (!Strings.isEmpty(filter.getNamespaceFilter())) {<a name="line.225"></a>
-<span class="sourceLineNo">226</span>      filterList.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.226"></a>
-<span class="sourceLineNo">227</span>          new RegexStringComparator(getNamespaceRowKeyRegex(filter.getNamespaceFilter()), 0)));<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    }<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    return filterList;<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  }<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>  /**<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   * Creates a {@link Scan} which returns only quota snapshots from the quota table.<a name="line.233"></a>
-<span class="sourceLineNo">234</span>   */<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  public static Scan makeQuotaSnapshotScan() {<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    return makeQuotaSnapshotScanForTable(null);<a name="line.236"></a>
-<span class="sourceLineNo">237</span>  }<a name="line.237"></a>
-<span class="sourceLineNo">238</span><a name="line.238"></a>
-<span class="sourceLineNo">239</span>  /**<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * Fetches all {@link SpaceQuotaSnapshot} objects from the {@code hbase:quota} table.<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   *<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   * @param conn The HBase connection<a name="line.242"></a>
-<span class="sourceLineNo">243</span>   * @return A map of table names and their computed snapshot.<a name="line.243"></a>
-<span class="sourceLineNo">244</span>   */<a name="line.244"></a>
-<span class="sourceLineNo">245</span>  public static Map&lt;TableName,SpaceQuotaSnapshot&gt; getSnapshots(Connection conn) throws IOException {<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    Map&lt;TableName,SpaceQuotaSnapshot&gt; snapshots = new HashMap&lt;&gt;();<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    try (Table quotaTable = conn.getTable(QUOTA_TABLE_NAME);<a name="line.247"></a>
-<span class="sourceLineNo">248</span>        ResultScanner rs = quotaTable.getScanner(makeQuotaSnapshotScan())) {<a name="line.248"></a>
-<span class="sourceLineNo">249</span>      for (Result r : rs) {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>        extractQuotaSnapshot(r, snapshots);<a name="line.250"></a>
-<span class="sourceLineNo">251</span>      }<a name="line.251"></a>
-<span class="sourceLineNo">252</span>    }<a name="line.252"></a>
-<span class="sourceLineNo">253</span>    return snapshots;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  }<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>  /**<a name="line.256"></a>
-<span class="sourceLineNo">257</span>   * Creates a {@link Scan} which returns only {@link SpaceQuotaSnapshot} from the quota table for a<a name="line.257"></a>
-<span class="sourceLineNo">258</span>   * specific table.<a name="line.258"></a>
-<span class="sourceLineNo">259</span>   * @param tn Optionally, a table name to limit the scan's rowkey space. Can be null.<a name="line.259"></a>
-<span class="sourceLineNo">260</span>   */<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  public static Scan makeQuotaSnapshotScanForTable(TableName tn) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    Scan s = new Scan();<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    // Limit to "u:v" column<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    s.addColumn(QUOTA_FAMILY_USAGE, QUOTA_QUALIFIER_POLICY);<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    if (null == tn) {<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      s.setRowPrefixFilter(QUOTA_TABLE_ROW_KEY_PREFIX);<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    } else {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      byte[] row = getTableRowKey(tn);<a name="line.268"></a>
-<span class="sourceLineNo">269</span>      // Limit rowspace to the "t:" prefix<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      s.withStartRow(row, true).withStopRow(row, true);<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    }<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    return s;<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  }<a name="line.273"></a>
-<span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>  /**<a name="line.275"></a>
-<span class="sourceLineNo">276</span>   * Extracts the {@link SpaceViolationPolicy} and {@link TableName} from the provided<a name="line.276"></a>
-<span class="sourceLineNo">277</span>   * {@link Result} and adds them to the given {@link Map}. If the result does not contain<a name="line.277"></a>
-<span class="sourceLineNo">278</span>   * the expected information or the serialized policy in the value is invalid, this method<a name="line.278"></a>
-<span class="sourceLineNo">279</span>   * will throw an {@link IllegalArgumentException}.<a name="line.279"></a>
-<span class="sourceLineNo">280</span>   *<a name="line.280"></a>
-<span class="sourceLineNo">281</span>   * @param result A row from the quota table.<a name="line.281"></a>
-<span class="sourceLineNo">282</span>   * @param snapshots A map of snapshots to add the result of this method into.<a name="line.282"></a>
-<span class="sourceLineNo">283</span>   */<a name="line.283"></a>
-<span class="sourceLineNo">284</span>  public static void extractQuotaSnapshot(<a name="line.284"></a>
-<span class="sourceLineNo">285</span>      Result result, Map&lt;TableName,SpaceQuotaSnapshot&gt; snapshots) {<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    byte[] row = Objects.requireNonNull(result).getRow();<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    if (row == null) {<a name="line.287"></a>
-<span class="sourceLineNo">288</span>      throw new IllegalArgumentException("Provided result had a null row");<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    }<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    final TableName targetTableName = getTableFromRowKey(row);<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    Cell c = result.getColumnLatestCell(QUOTA_FAMILY_USAGE, QUOTA_QUALIFIER_POLICY);<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    if (c == null) {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>      throw new IllegalArgumentException("Result did not contain the expected column "<a name="line.293"></a>
-<span class="sourceLineNo">294</span>          + QUOTA_POLICY_COLUMN + ", " + result.toString());<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    }<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    ByteString buffer = UnsafeByteOperations.unsafeWrap(<a name="line.296"></a>
-<span class="sourceLineNo">297</span>        c.getValueArray(), c.getValueOffset(), c.getValueLength());<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    try {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      QuotaProtos.SpaceQuotaSnapshot snapshot = QuotaProtos.SpaceQuotaSnapshot.parseFrom(buffer);<a name="line.299"></a>
-<span class="sourceLineNo">300</span>      snapshots.put(targetTableName, SpaceQuotaSnapshot.toSpaceQuotaSnapshot(snapshot));<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    } catch (InvalidProtocolBufferException e) {<a name="line.301"></a>
-<span class="sourceLineNo">302</span>      throw new IllegalArgumentException(<a name="line.302"></a>
-<span class="sourceLineNo">303</span>          "Result did not contain a valid SpaceQuota protocol buffer message", e);<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    }<a name="line.304"></a>
-<span class="sourceLineNo">305</span>  }<a name="line.305"></a>
-<span class="sourceLineNo">306</span><a name="line.306"></a>
-<span class="sourceLineNo">307</span>  public static interface UserQuotasVisitor {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    void visitUserQuotas(final String userName, final Quotas quotas)<a name="line.308"></a>
-<span class="sourceLineNo">309</span>      throws IOException;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    void visitUserQuotas(final String userName, final TableName table, final Quotas quotas)<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      throws IOException;<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    void visitUserQuotas(final String userName, final String namespace, final Quotas quotas)<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      throws IOException;<a name="line.313"></a>
-<span class="sourceLineNo">314</span>  }<a name="line.314"></a>
-<span class="sourceLineNo">315</span><a name="line.315"></a>
-<span class="sourceLineNo">316</span>  public static interface TableQuotasVisitor {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    void visitTableQuotas(final TableName tableName, final Quotas quotas)<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      throws IOException;<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  }<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>  public static interface NamespaceQuotasVisitor {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    void visitNamespaceQuotas(final String namespace, final Quotas quotas)<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      throws IOException;<a name="line.323"></a>
-<span class="sourceLineNo">324</span>  }<a name="line.324"></a>
-<span class="sourceLineNo">325</span><a name="line.325"></a>
-<span class="sourceLineNo">326</span>  public static interface QuotasVisitor extends UserQuotasVisitor,<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      TableQuotasVisitor, NamespaceQuotasVisitor {<a name="line.327"></a>
-<span class="sourceLineNo">328</span>  }<a name="line.328"></a>
-<span class="sourceLineNo">329</span><a name="line.329"></a>
-<span class="sourceLineNo">330</span>  public static void parseResult(final Result result, final QuotasVisitor visitor)<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      throws IOException {<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    byte[] row = result.getRow();<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    if (isNamespaceRowKey(row)) {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>      parseNamespaceResult(result, visitor);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>    } else if (isTableRowKey(row)) {<a name="line.335"></a>
-<span class="sourceLineNo">336</span>      parseTableResult(result, visitor);<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    } else if (isUserRowKey(row)) {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      parseUserResult(result, visitor);<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    } else {<a name="line.339"></a>
-<span class="sourceLineNo">340</span>      LOG.warn("unexpected row-key: " + Bytes.toString(row));<a name="line.340"></a>
-<span class="sourceLineNo">341</span>    }<a name="line.341"></a>
-<span class="sourceLineNo">342</span>  }<a name="line.342"></a>
-<span class="sourceLineNo">343</span><a name="line.343"></a>
-<span class="sourceLineNo">344</span>  public static void parseResultToCollection(final Result result,<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      Collection&lt;QuotaSettings&gt; quotaSettings) throws IOException {<a name="line.345"></a>
-<span class="sourceLineNo">346</span><a name="line.346"></a>
-<span class="sourceLineNo">347</span>    QuotaTableUtil.parseResult(result, new QuotaTableUtil.QuotasVisitor() {<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      @Override<a name="line.348"></a>
-<span class="sourceLineNo">349</span>      public void visitUserQuotas(String userName, Quotas quotas) {<a name="line.349"></a>
-<span class="sourceLineNo">350</span>        quotaSettings.addAll(QuotaSettingsFactory.fromUserQuotas(userName, quotas));<a name="line.350"></a>
-<span class="sourceLineNo">351</span>      }<a name="line.351"></a>
-<span class="sourceLineNo">352</span><a name="line.352"></a>
-<span class="sourceLineNo">353</span>      @Override<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      public void visitUserQuotas(String userName, TableName table, Quotas quotas) {<a name="line.354"></a>
-<span class="sourceLineNo">355</span>        quotaSettings.addAll(QuotaSettingsFactory.fromUserQuotas(userName, table, quotas));<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      }<a name="line.356"></a>
-<span class="sourceLineNo">357</span><a name="line.357"></a>
-<span class="sourceLineNo">358</span>      @Override<a name="line.358"></a>
-<span class="sourceLineNo">359</span>      public void visitUserQuotas(String userName, String namespace, Quotas quotas) {<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        quotaSettings.addAll(QuotaSettingsFactory.fromUserQuotas(userName, namespace, quotas));<a name="line.360"></a>
-<span class="sourceLineNo">361</span>      }<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>      @Override<a name="line.363"></a>
-<span class="sourceLineNo">364</span>      public void visitTableQuotas(TableName tableName, Quotas quotas) {<a name="line.364"></a>
-<span class="sourceLineNo">365</span>        quotaSettings.addAll(QuotaSettingsFactory.fromTableQuotas(tableName, quotas));<a name="line.365"></a>
-<span class="sourceLineNo">366</span>      }<a name="line.366"></a>
-<span class="sourceLineNo">367</span><a name="line.367"></a>
-<span class="sourceLineNo">368</span>      @Override<a name="line.368"></a>
-<span class="sourceLineNo">369</span>      public void visitNamespaceQuotas(String namespace, Quotas quotas) {<a name="line.369"></a>
-<span class="sourceLineNo">370</span>        quotaSettings.addAll(QuotaSettingsFactory.fromNamespaceQuotas(namespace, quotas));<a name="line.370"></a>
-<span class="sourceLineNo">371</span>      }<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    });<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  }<a name="line.373"></a>
-<span class="sourceLineNo">374</span><a name="line.374"></a>
-<span class="sourceLineNo">375</span>  public static void parseNamespaceResult(final Result result,<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      final NamespaceQuotasVisitor visitor) throws IOException {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    String namespace = getNamespaceFromRowKey(result.getRow());<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    parseNamespaceResult(namespace, result, visitor);<a name="line.378"></a>
-<span class="sourceLineNo">379</span>  }<a name="line.379"></a>
-<span class="sourceLineNo">380</span><a name="line.380"></a>
-<span class="sourceLineNo">381</span>  protected static void parseNamespaceResult(final String namespace, final Result result,<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      final NamespaceQuotasVisitor visitor) throws IOException {<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    byte[] data = result.getValue(QUOTA_FAMILY_INFO, QUOTA_QUALIFIER_SETTINGS);<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    if (data != null) {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>      Quotas quotas = quotasFromData(data);<a name="line.385"></a>
-<span class="sourceLineNo">386</span>      visitor.visitNamespaceQuotas(namespace, quotas);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    }<a name="line.387"></a>
-<span class="sourceLineNo">388</span>  }<a name="line.388"></a>
-<span class="sourceLineNo">389</span><a name="line.389"></a>
-<span class="sourceLineNo">390</span>  public static void parseTableResult(final Result result, final TableQuotasVisitor visitor)<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      throws IOException {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    TableName table = getTableFromRowKey(result.getRow());<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    parseTableResult(table, result, visitor);<a name="line.393"></a>
-<span class="sourceLineNo">394</span>  }<a name="line.394"></a>
-<span class="sourceLineNo">395</span><a name="line.395"></a>
-<span class="sourceLineNo">396</span>  protected static void parseTableResult(final TableName table, final Result result,<a name="line.396"></a>
-<span class="sourceLineNo">397</span>      final TableQuotasVisitor visitor) throws IOException {<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    byte[] data = result.getValue(QUOTA_FAMILY_INFO, QUOTA_QUALIFIER_SETTINGS);<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    if (data != null) {<a name="line.399"></a>
-<span class="sourceLineNo">400</span>      Quotas quotas = quotasFromData(data);<a name="line.400"></a>
-<span class="sourceLineNo">401</span>      visitor.visitTableQuotas(table, quotas);<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    }<a name="line.402"></a>
-<span class="sourceLineNo">403</span>  }<a name="line.403"></a>
-<span class="sourceLineNo">404</span><a name="line.404"></a>
-<span class="sourceLineNo">405</span>  public static void parseUserResult(final Result result, final UserQuotasVisitor visitor)<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      throws IOException {<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    String userName = getUserFromRowKey(result.getRow());<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    parseUserResult(userName, result, visitor);<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  }<a name="line.409"></a>
-<span class="sourceLineNo">410</span><a name="line.410"></a>
-<span class="sourceLineNo">411</span>  protected static void parseUserResult(final String userName, final Result result,<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      final UserQuotasVisitor visitor) throws IOException {<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    Map&lt;byte[], byte[]&gt; familyMap = result.getFamilyMap(QUOTA_FAMILY_INFO);<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    if (familyMap == null || familyMap.isEmpty()) return;<a name="line.414"></a>
-<span class="sourceLineNo">415</span><a name="line.415"></a>
-<span class="sourceLineNo">416</span>    for (Map.Entry&lt;byte[], byte[]&gt; entry: familyMap.entrySet()) {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      Quotas quotas = quotasFromData(entry.getValue());<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      if (Bytes.startsWith(entry.getKey(), QUOTA_QUALIFIER_SETTINGS_PREFIX)) {<a name="line.418"></a>
-<span class="sourceLineNo">419</span>        String name = Bytes.toString(entry.getKey(), QUOTA_QUALIFIER_SETTINGS_PREFIX.length);<a name="line.419"></a>
-<span class="sourceLineNo">420</span>        if (name.charAt(name.length() - 1) == TableName.NAMESPACE_DELIM) {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>          String namespace = name.substring(0, name.length() - 1);<a name="line.421"></a>
-<span class="sourceLineNo">422</span>          visitor.visitUserQuotas(userName, namespace, quotas);<a name="line.422"></a>
-<span class="sourceLineNo">423</span>        } else {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>          TableName table = TableName.valueOf(name);<a name="line.424"></a>
-<span class="sourceLineNo">425</span>          visitor.visitUserQuotas(userName, table, quotas);<a name="line.425"></a>
-<span class="sourceLineNo">426</span>        }<a name="line.426"></a>
-<span class="sourceLineNo">427</span>      } else if (Bytes.equals(entry.getKey(), QUOTA_QUALIFIER_SETTINGS)) {<a name="line.427"></a>
-<span class="sourceLineNo">428</span>        visitor.visitUserQuotas(userName, quotas);<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      }<a name="line.429"></a>
-<span class="sourceLineNo">430</span>    }<a name="line.430"></a>
-<span class="sourceLineNo">431</span>  }<a name="line.431"></a>
-<span class="sourceLineNo">432</span><a name="line.432"></a>
-<span class="sourceLineNo">433</span>  /**<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * Creates a {@link Put} to store the given {@code snapshot} for the given {@code tableName} in<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   * the quota table.<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   */<a name="line.436"></a>
-<span class="sourceLineNo">437</span>  static Put createPutForSpaceSnapshot(TableName tableName, SpaceQuotaSnapshot snapshot) {<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    Put p = new Put(getTableRowKey(tableName));<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    p.addColumn(<a name="line.439"></a>
-<span class="sourceLineNo">440</span>        QUOTA_FAMILY_USAGE, QUOTA_QUALIFIER_POLICY,<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        SpaceQuotaSnapshot.toProtoSnapshot(snapshot).toByteArray());<a name="line.441"></a>
-<span class="sourceLineNo">442</span>    return p;<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>  /**<a name="line.445"></a>
-<span class="sourceLineNo">446</span>   * Creates a {@link Get} for the HBase snapshot's size against the given table.<a name="line.446"></a>
-<span class="sourceLineNo">447</span>   */<a name="line.447"></a>
-<span class="sourceLineNo">448</span>  static Get makeGetForSnapshotSize(TableName tn, String snapshot) {<a name="line.448"></a>
-<span class="sourceLineNo">449</span>    Get g = new Get(Bytes.add(QUOTA_TABLE_ROW_KEY_PREFIX, Bytes.toBytes(tn.toString())));<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    g.addColumn(<a name="line.450"></a>
-<span class="sourceLineNo">451</span>        QUOTA_FAMILY_USAGE,<a name="line.451"></a>
-<span class="sourceLineNo">452</span>        Bytes.add(QUOTA_SNAPSHOT_SIZE_QUALIFIER, Bytes.toBytes(snapshot)));<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    return g;<a name="line.453"></a>
-<span class="sourceLineNo">454</span>  }<a name="line.454"></a>
-<span class="sourceLineNo">455</span><a name="line.455"></a>
-<span class="sourceLineNo">456</span>  /**<a name="line.456"></a>
-<span class="sourceLineNo">457</span>   * Creates a {@link Put} to persist the current size of the {@code snapshot} with respect to<a name="line.457"></a>
-<span class="sourceLineNo">458</span>   * the given {@code table}.<a name="line.458"></a>
-<span class="sourceLineNo">459</span>   */<a name="line.459"></a>
-<span class="sourceLineNo">460</span>  static Put createPutForSnapshotSize(TableName tableName, String snapshot, long size) {<a name="line.460"></a>
-<span class="sourceLineNo">461</span>    // We just need a pb message with some `long usage`, so we can just reuse the<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    // SpaceQuotaSnapshot message instead of creating a new one.<a name="line.462"></a>
-<span class="sourceLineNo">463</span>    Put p = new Put(getTableRowKey(tableName));<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    p.addColumn(QUOTA_FAMILY_USAGE, getSnapshotSizeQualifier(snapshot),<a name="line.464"></a>
-<span class="sourceLineNo">465</span>        org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuotaSnapshot<a name="line.465"></a>
-<span class="sourceLineNo">466</span>            .newBuilder().setQuotaUsage(size).build().toByteArray());<a name="line.466"></a>
-<span class="sourceLineNo">467</span>    return p;<a name="line.467"></a>
-<span class="sourceLineNo">468</span>  }<a name="line.468"></a>
-<span class="sourceLineNo">469</span><a name="line.469"></a>
-<span class="sourceLineNo">470</span>  /**<a name="line.470"></a>
-<span class="sourceLineNo">471</span>   * Creates a {@code Put} for the namespace's total snapshot size.<a name="line.471"></a>
-<span class="sourceLineNo">472</span>   */<a name="line.472"></a>
-<span class="sourceLineNo">473</span>  static Put createPutForNamespaceSnapshotSize(String namespace, long size) {<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    Put p = new Put(getNamespaceRowKey(namespace));<a name="line.474"></a>
-<span class="sourceLineNo">475</span>    p.addColumn(QUOTA_FAMILY_USAGE, QUOTA_SNAPSHOT_SIZE_QUALIFIER,<a name="line.475"></a>
-<span class="sourceLineNo">476</span>        org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuotaSnapshot<a name="line.476"></a>
-<span class="sourceLineNo">477</span>            .newBuilder().setQuotaUsage(size).build().toByteArray());<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    return p;<a name="line.478"></a>
-<span class="sourceLineNo">479</span>  }<a name="line.479"></a>
-<span class="sourceLineNo">480</span><a name="line.480"></a>
-<span class="sourceLineNo">481</span>  /**<a name="line.481"></a>
-<span class="sourceLineNo">482</span>   * Fetches the computed size of all snapshots against tables in a namespace for space quotas.<a name="line.482"></a>
-<span class="sourceLineNo">483</span>   */<a name="line.483"></a>
-<span class="sourceLineNo">484</span>  static long getNamespaceSnapshotSize(<a name="line.484"></a>
-<span class="sourceLineNo">485</span>      Connection conn, String namespace) throws IOException {<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    try (Table quotaTable = conn.getTable(QuotaTableUtil.QUOTA_TABLE_NAME)) {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      Result r = quotaTable.get(createGetNamespaceSnapshotSize(namespace));<a name="line.487"></a>
-<span class="sourceLineNo">488</span>      if (r.isEmpty()) {<a name="line.488"></a>
-<span class="sourceLineNo">489</span>        return 0L;<a name="line.489"></a>
-<span class="sourceLineNo">490</span>      }<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      r.advance();<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      return parseSnapshotSize(r.current());<a name="line.492"></a>
-<span class="sourceLineNo">493</span>    } catch (InvalidProtocolBufferException e) {<a name="line.493"></a>
-<span class="sourceLineNo">494</span>      throw new IOException("Could not parse snapshot size value for namespace " + namespace, e);<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    }<a name="line.495"></a>
-<span class="sourceLineNo">496</span>  }<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>  /**<a name="line.498"></a>
-<span class="sourceLineNo">499</span>   * Creates a {@code Get} to fetch the namespace's total snapshot size.<a name="line.499"></a>
-<span class="sourceLineNo">500</span>   */<a name="line.500"></a>
-<span class="sourceLineNo">501</span>  static Get createGetNamespaceSnapshotSize(String namespace) {<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    Get g = new Get(getNamespaceRowKey(namespace));<a name="line.502"></a>
-<span class="sourceLineNo">503</span>    g.addColumn(QUOTA_FAMILY_USAGE, QUOTA_SNAPSHOT_SIZE_QUALIFIER);<a name="line.503"></a>
-<span class="sourceLineNo">504</span>    return g;<a name="line.504"></a>
-<span class="sourceLineNo">505</span>  }<a name="line.505"></a>
-<span class="sourceLineNo">506</span><a name="line.506"></a>
-<span class="sourceLineNo">507</span>  /**<a name="line.507"></a>
-<span class="sourceLineNo">508</span>   * Parses the snapshot size from the given Cell's value.<a name="line.508"></a>
-<span class="sourceLineNo">509</span>   */<a name="line.509"></a>
-<span class="sourceLineNo">510</span>  static long parseSnapshotSize(Cell c) throws InvalidProtocolBufferException {<a name="line.510"></a>
-<span class="sourceLineNo">511</span>    ByteString bs = UnsafeByteOperations.unsafeWrap(<a name="line.511"></a>
-<span class="sourceLineNo">512</span>        c.getValueArray(), c.getValueOffset(), c.getValueLength());<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    return QuotaProtos.SpaceQuotaSnapshot.parseFrom(bs).getQuotaUsage();<a name="line.513"></a>
-<span class="sourceLineNo">514</span>  }<a name="line.514"></a>
-<span class="sourceLineNo">515</span><a name="line.515"></a>
-<span class="sourceLineNo">516</span>  static Scan createScanForSnapshotSizes(TableName table) {<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    byte[] rowkey = getTableRowKey(table);<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    return new Scan()<a name="line.518"></a>
-<span class="sourceLineNo">519</span>        // Fetch just this one row<a name="line.519"></a>
-<span class="sourceLineNo">520</span>        .withStartRow(rowkey)<a name="line.520"></a>
-<span class="sourceLineNo">521</span>        .withStopRow(rowkey, true)<a name="line.521"></a>
-<span class="sourceLineNo">522</span>        // Just the usage family<a name="line.522"></a>
-<span class="sourceLineNo">523</span>        .addFamily(QUOTA_FAMILY_USAGE)<a name="line.523"></a>
-<span class="sourceLineNo">524</span>        // Only the snapshot size qualifiers<a name="line.524"></a>
-<span class="sourceLineNo">525</span>        .setFilter(new ColumnPrefixFilter(QUOTA_SNAPSHOT_SIZE_QUALIFIER));<a name="line.525"></a>
-<span class="sourceLineNo">526</span>  }<a name="line.526"></a>
-<span class="sourceLineNo">527</span><a name="line.527"></a>
-<span class="sourceLineNo">528</span>  /* =========================================================================<a name="line.528"></a>
-<span class="sourceLineNo">529</span>   *  Space quota status RPC helpers<a name="line.529"></a>
-<span class="sourceLineNo">530</span>   */<a name="line.530"></a>
-<span class="sourceLineNo">531</span>  /**<a name="line.531"></a>
-<span class="sourceLineNo">532</span>   * Fetches the table sizes on the filesystem as tracked by the HBase Master.<a name="line.532"></a>
-<span class="sourceLineNo">533</span>   */<a name="line.533"></a>
-<span class="sourceLineNo">534</span>  public static Map&lt;TableName,Long&gt; getMasterReportedTableSizes(<a name="line.534"></a>
-<span class="sourceLineNo">535</span>      Connection conn) throws IOException {<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    if (!(conn instanceof ClusterConnection)) {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      throw new IllegalArgumentException("Expected a ClusterConnection");<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    }<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    ClusterConnection clusterConn = (ClusterConnection) conn;<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    GetSpaceQuotaRegionSizesResponse response = QuotaStatusCalls.getMasterRegionSizes(<a name="line.540"></a>
-<span class="sourceLineNo">541</span>        clusterConn, 0);<a name="line.541"></a>
-<span class="sourceLineNo">542</span>    Map&lt;TableName,Long&gt; tableSizes = new HashMap&lt;&gt;();<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    for (RegionSizes sizes : response.getSizesList()) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>      TableName tn = ProtobufUtil.toTableName(sizes.getTableName());<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      tableSizes.put(tn, sizes.getSize());<a name="line.545"></a>
-<span class="sourceLineNo">546</span>    }<a name="line.546"></a>
-<span class="sourceLineNo">547</span>    return tableSizes;<a name="line.547"></a>
-<span class="sourceLineNo">548</span>  }<a name="line.548"></a>
-<span class="sourceLineNo">549</span><a name="line.549"></a>
-<span class="sourceLineNo">550</span>  /**<a name="line.550"></a>
-<span class="sourceLineNo">551</span>   * Fetches the observed {@link SpaceQuotaSnapshot}s observed by a RegionServer.<a name="line.551"></a>
-<span class="sourceLineNo">552</span>   */<a name="line.552"></a>
-<span class="sourceLineNo">553</span>  public static Map&lt;TableName,SpaceQuotaSnapshot&gt; getRegionServerQuotaSnapshots(<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      Connection conn, ServerName regionServer) throws IOException {<a name="line.554"></a>
-<span class="sourceLineNo">555</span>    if (!(conn instanceof ClusterConnection)) {<a name="line.555"></a>
-<span class="sourceLineNo">556</span>      throw new IllegalArgumentException("Expected a ClusterConnection");<a name="line.556"></a>
-<span class="sourceLineNo">557</span>    }<a name="line.557"></a>
-<span class="sourceLineNo">558</span>    ClusterConnection clusterConn = (ClusterConnection) conn;<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    GetSpaceQuotaSnapshotsResponse response = QuotaStatusCalls.getRegionServerQuotaSnapshot(<a name="line.559"></a>
-<span class="sourceLineNo">560</span>        clusterConn, 0, regionServer);<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    Map&lt;TableName,SpaceQuotaSnapshot&gt; snapshots = new HashMap&lt;&gt;();<a name="line.561"></a>
-<span class="sourceLineNo">562</span>    for (TableQuotaSnapshot snapshot : response.getSnapshotsList()) {<a name="line.562"></a>
-<span class="sourceLineNo">563</span>      snapshots.put(<a name="line.563"></a>
-<span class="sourceLineNo">564</span>          ProtobufUtil.toTableName(snapshot.getTableName()),<a name="line.564"></a>
-<span class="sourceLineNo">565</span>          SpaceQuotaSnapshot.toSpaceQuotaSnapshot(snapshot.getSnapshot()));<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    }<a name="line.566"></a>
-<span class="sourceLineNo">567</span>    return snapshots;<a name="line.567"></a>
-<span class="sourceLineNo">568</span>  }<a name="line.568"></a>
-<span class="sourceLineNo">569</span><a name="line.569"></a>
-<span class="sourceLineNo">570</span>  /**<a name="line.570"></a>
-<span class="sourceLineNo">571</span>   * Returns the Master's view of a quota on the given {@code tableName} or null if the<a name="line.571"></a>
-<span class="sourceLineNo">572</span>   * Master has no quota information on that table.<a name="line.572"></a>
-<span class="sourceLineNo">573</span>   */<a name="line.573"></a>
-<span class="sourceLineNo">574</span>  public static SpaceQuotaSnapshot getCurrentSnapshot(<a name="line.574"></a>
-<span class="sourceLineNo">575</span>      Connection conn, TableName tn) throws IOException {<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    if (!(conn instanceof ClusterConnection)) {<a name="line.576"></a>
-<span class="sourceLineNo">577</span>      throw new IllegalArgumentException("Expected a ClusterConnection");<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    }<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    ClusterConnection clusterConn = (ClusterConnection) conn;<a name="line.579"></a>
-<span class="sourceLineNo">580</span>    GetQuotaStatesResponse resp = QuotaStatusCalls.getMasterQuotaStates(clusterConn, 0);<a name="line.580"></a>
-<span class="sourceLineNo">581</span>    HBaseProtos.TableName protoTableName = ProtobufUtil.toProtoTableName(tn);<a name="line.581"></a>
-<span class="sourceLineNo">582</span>    for (GetQuotaStatesResponse.TableQuotaSnapshot tableSnapshot : resp.getTableSnapshotsList()) {<a name="line.582"></a>
-<span class="sourceLineNo">583</span>      if (protoTableName.equals(tableSnapshot.getTableName())) {<a name="line.583"></a>
-<span class="sourceLineNo">584</span>        return SpaceQuotaSnapshot.toSpaceQuotaSnapshot(tableSnapshot.getSnapshot());<a name="line.584"></a>
-<span class="sourceLineNo">585</span>      }<a name="line.585"></a>
-<span class="sourceLineNo">586</span>    }<a name="line.586"></a>
-<span class="sourceLineNo">587</span>    return null;<a name="line.587"></a>
-<span class="sourceLineNo">588</span>  }<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span>  /**<a name="line.590"></a>
-<span class="sourceLineNo">591</span>   * Returns the Master's view of a quota on the given {@code namespace} or null if the<a name="line.591"></a>
-<span class="sourceLineNo">592</span>   * Master has no quota information on that namespace.<a name="line.592"></a>
-<span class="sourceLineNo">593</span>   */<a name="line.593"></a>
-<span class="sourceLineNo">594</span>  public static SpaceQuotaSnapshot getCurrentSnapshot(<a name="line.594"></a>
-<span class="sourceLineNo">595</span>      Connection conn, String namespace) throws IOException {<a name="line.595"></a>
-<span class="sourceLineNo">596</span>    if (!(conn instanceof ClusterConnection)) {<a name="line.596"></a>
-<span class="sourceLineNo">597</span>      throw new IllegalArgumentException("Expected a ClusterConnection");<a name="line.597"></a>
-<span class="sourceLineNo">598</span>    }<a name="line.598"></a>
-<span class="sourceLineNo">599</span>    ClusterConnection clusterConn = (ClusterConnection) conn;<a name="line.599"></a>
-<span class="sourceLineNo">600</span>    GetQuotaStatesResponse resp = QuotaStatusCalls.getMasterQuotaStates(clusterConn, 0);<a name="line.600"></a>
-<span class="sourceLineNo">601</span>    for (GetQuotaStatesResponse.NamespaceQuotaSnapshot nsSnapshot : resp.getNsSnapshotsList()) {<a name="line.601"></a>
-<span class="sourceLineNo">602</span>      if (namespace.equals(nsSnapshot.getNamespace())) {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>        return SpaceQuotaSnapshot.toSpaceQuotaSnapshot(nsSnapshot.getSnapshot());<a name="line.603"></a>
-<span class="sourceLineNo">604</span>      }<a name="line.604"></a>
-<span class="sourceLineNo">605</span>    }<a name="line.605"></a>
-<span class="sourceLineNo">606</span>    return null;<a name="line.606"></a>
-<span class="sourceLineNo">607</span>  }<a name="line.607"></a>
-<span class="sourceLineNo">608</span><a name="line.608"></a>
-<span class="sourceLineNo">609</span>  /* =========================================================================<a name="line.609"></a>
-<span class="sourceLineNo">610</span>   *  Quotas protobuf helpers<a name="line.610"></a>
-<span class="sourceLineNo">611</span>   */<a name="line.611"></a>
-<span class="sourceLineNo">612</span>  protected static Quotas quotasFromData(final byte[] data) throws IOException {<a name="line.612"></a>
-<span class="sourceLineNo">613</span>    return quotasFromData(data, 0, data.length);<a name="line.613"></a>
-<span class="sourceLineNo">614</span>  }<a name="line.614"></a>
-<span class="sourceLineNo">615</span><a name="line.615"></a>
-<span class="sourceLineNo">616</span>  protected static Quotas quotasFromData(<a name="line.616"></a>
-<span class="sourceLineNo">617</span>      final byte[] data, int offset, int length) throws IOException {<a name="line.617"></a>
-<span class="sourceLineNo">618</span>    int magicLen = ProtobufMagic.lengthOfPBMagic();<a name="line.618"></a>
-<span class="sourceLineNo">619</span>    if (!ProtobufMagic.isPBMagicPrefix(data, offset, magicLen)) {<a name="line.619"></a>
-<span class="sourceLineNo">620</span>      throw new IOException("Missing pb magic prefix");<a name="line.620"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.ServerName;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.TableName;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.client.ClusterConnection;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.client.Get;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.client.Put;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.client.QuotaStatusCalls;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.client.Result;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.client.ResultScanner;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.client.Table;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.filter.ColumnPrefixFilter;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.filter.CompareFilter;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.filter.Filter;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.filter.FilterList;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.filter.QualifierFilter;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.filter.RegexStringComparator;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.filter.RowFilter;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.protobuf.ProtobufMagic;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.InvalidProtocolBufferException;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.UnsafeByteOperations;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetQuotaStatesResponse;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaRegionSizesResponse;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse.TableQuotaSnapshot;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaRegionSizesResponse.RegionSizes;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.util.Strings;<a name="line.71"></a>
+<span class="sourceLineNo">072</span><a name="line.72"></a>
+<span class="sourceLineNo">073</span>/**<a name="line.73"></a>
+<span class="sourceLineNo">074</span> * Helper class to interact with the quota table.<a name="line.74"></a>
+<span class="sourceLineNo">075</span> * &lt;table&gt;<a name="line.75"></a>
+<span class="sourceLineNo">076</span> *   &lt;tr&gt;&lt;th&gt;ROW-KEY&lt;/th&gt;&lt;th&gt;FAM/QUAL&lt;/th&gt;&lt;th&gt;DATA&lt;/th&gt;&lt;/tr&gt;<a name="line.76"></a>
+<span class="sourceLineNo">077</span> *   &lt;tr&gt;&lt;td&gt;n.&amp;lt;namespace&amp;gt;&lt;/td&gt;&lt;td&gt;q:s&lt;/td&gt;&lt;td&gt;&amp;lt;global-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.77"></a>
+<span class="sourceLineNo">078</span> *   &lt;tr&gt;&lt;td&gt;n.&amp;lt;namespace&amp;gt;&lt;/td&gt;&lt;td&gt;u:p&lt;/td&gt;&lt;td&gt;&amp;lt;namespace-quota policy&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.78"></a>
+<span class="sourceLineNo">079</span> *   &lt;tr&gt;&lt;td&gt;n.&amp;lt;namespace&amp;gt;&lt;/td&gt;&lt;td&gt;u:s&lt;/td&gt;&lt;td&gt;&amp;lt;SpaceQuotaSnapshot&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.79"></a>
+<span class="sourceLineNo">080</span> *   &lt;tr&gt;&lt;td&gt;t.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;q:s&lt;/td&gt;&lt;td&gt;&amp;lt;global-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.80"></a>
+<span class="sourceLineNo">081</span> *   &lt;tr&gt;&lt;td&gt;t.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;u:p&lt;/td&gt;&lt;td&gt;&amp;lt;table-quota policy&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.81"></a>
+<span class="sourceLineNo">082</span> *   &lt;tr&gt;&lt;td&gt;t.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;u:ss.&amp;lt;snapshot name&amp;gt;&lt;/td&gt;&lt;td&gt;&amp;lt;SpaceQuotaSnapshot&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.82"></a>
+<span class="sourceLineNo">083</span> *   &lt;tr&gt;&lt;td&gt;u.&amp;lt;user&amp;gt;&lt;/td&gt;&lt;td&gt;q:s&lt;/td&gt;&lt;td&gt;&amp;lt;global-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.83"></a>
+<span class="sourceLineNo">084</span> *   &lt;tr&gt;&lt;td&gt;u.&amp;lt;user&amp;gt;&lt;/td&gt;&lt;td&gt;q:s.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;&amp;lt;table-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.84"></a>
+<span class="sourceLineNo">085</span> *   &lt;tr&gt;&lt;td&gt;u.&amp;lt;user&amp;gt;&lt;/td&gt;&lt;td&gt;q:s.&amp;lt;ns&amp;gt;&lt;/td&gt;&lt;td&gt;&amp;lt;namespace-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.85"></a>
+<span class="sourceLineNo">086</span> * &lt;/table<a name="line.86"></a>
+<span class="sourceLineNo">087</span> */<a name="line.87"></a>
+<span class="sourceLineNo">088</span>@InterfaceAudience.Private<a name="line.88"></a>
+<span class="sourceLineNo">089</span>@InterfaceStability.Evolving<a name="line.89"></a>
+<span class="sourceLineNo">090</span>public class QuotaTableUtil {<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  private static final Log LOG = LogFactory.getLog(QuotaTableUtil.class);<a name="line.91"></a>
+<span class="sourceLineNo">092</span><a name="line.92"></a>
+<span class="sourceLineNo">093</span>  /** System table for quotas */<a name="line.93"></a>
+<span class="sourceLineNo">094</span>  public static final TableName QUOTA_TABLE_NAME =<a name="line.94"></a>
+<span class="sourceLineNo">095</span>      TableName.valueOf(NamespaceDescriptor.SYSTEM_NAMESPACE_NAME_STR, "quota");<a name="line.95"></a>
+<span class="sourceLineNo">096</span><a name="line.96"></a>
+<span class="sourceLineNo">097</span>  protected static final byte[] QUOTA_FAMILY_INFO = Bytes.toBytes("q");<a name="line.97"></a>
+<span class="sourceLineNo">098</span>  protected static final byte[] QUOTA_FAMILY_USAGE = Bytes.toBytes("u");<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  protected static final byte[] QUOTA_QUALIFIER_SETTINGS = Bytes.toBytes("s");<a name="line.99"></a>
+<span class="sourceLineNo">100</span>  protected static final byte[] QUOTA_QUALIFIER_SETTINGS_PREFIX = Bytes.toBytes("s.");<a name="line.100"></a>
+<span class="sourceLineNo">101</span>  protected static final byte[] QUOTA_QUALIFIER_POLICY = Bytes.toBytes("p");<a name="line.101"></a>
+<span class="sourceLineNo">102</span>  protected static final byte[] QUOTA_SNAPSHOT_SIZE_QUALIFIER = Bytes.toBytes("ss");<a name="line.102"></a>
+<span class="sourceLineNo">103</span>  protected static final String QUOTA_POLICY_COLUMN =<a name="line.103"></a>
+<span class="sourceLineNo">104</span>      Bytes.toString(QUOTA_FAMILY_USAGE) + ":" + Bytes.toString(QUOTA_QUALIFIER_POLICY);<a name="line.104"></a>
+<span class="sourceLineNo">105</span>  protected static final byte[] QUOTA_USER_ROW_KEY_PREFIX = Bytes.toBytes("u.");<a name="line.105"></a>
+<span class="sourceLineNo">106</span>  protected static final byte[] QUOTA_TABLE_ROW_KEY_PREFIX = Bytes.toBytes("t.");<a name="line.106"></a>
+<span class="sourceLineNo">107</span>  protected static final byte[] QUOTA_NAMESPACE_ROW_KEY_PREFIX = Bytes.toBytes("n.");<a name="line.107"></a>
+<span class="sourceLineNo">108</span><a name="line.108"></a>
+<span class="sourceLineNo">109</span>  /* =========================================================================<a name="line.109"></a>
+<span class="sourceLineNo">110</span>   *  Quota "settings" helpers<a name="line.110"></a>
+<span class="sourceLineNo">111</span>   */<a name="line.111"></a>
+<span class="sourceLineNo">112</span>  public static Quotas getTableQuota(final Connection connection, final TableName table)<a name="line.112"></a>
+<span class="sourceLineNo">113</span>      throws IOException {<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    return getQuotas(connection, getTableRowKey(table));<a name="line.114"></a>
+<span class="sourceLineNo">115</span>  }<a name="line.115"></a>
+<span class="sourceLineNo">116</span><a name="line.116"></a>
+<span class="sourceLineNo">117</span>  public static Quotas getNamespaceQuota(final Connection connection, final String namespace)<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      throws IOException {<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    return getQuotas(connection, getNamespaceRowKey(namespace));<a name="line.119"></a>
+<span class="sourceLineNo">120</span>  }<a name="line.120"></a>
+<span class="sourceLineNo">121</span><a name="line.121"></a>
+<span class="sourceLineNo">122</span>  public static Quotas getUserQuota(final Connection connection, final String user)<a name="line.122"></a>
+<span class="sourceLineNo">123</span>      throws IOException {<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    return getQuotas(connection, getUserRowKey(user));<a name="line.124"></a>
+<span class="sourceLineNo">125</span>  }<a name="line.125"></a>
+<span class="sourceLineNo">126</span><a name="line.126"></a>
+<span class="sourceLineNo">127</span>  public static Quotas getUserQuota(final Connection connection, final String user,<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      final TableName table) throws IOException {<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    return getQuotas(connection, getUserRowKey(user), getSettingsQualifierForUserTable(table));<a name="line.129"></a>
+<span class="sourceLineNo">130</span>  }<a name="line.130"></a>
+<span class="sourceLineNo">131</span><a name="line.131"></a>
+<span class="sourceLineNo">132</span>  public static Quotas getUserQuota(final Connection connection, final String user,<a name="line.132"></a>
+<span class="sourceLineNo">133</span>      final String namespace) throws IOException {<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    return getQuotas(connection, getUserRowKey(user),<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      getSettingsQualifierForUserNamespace(namespace));<a name="line.135"></a>
+<span class="sourceLineNo">136</span>  }<a name="line.136"></a>
+<span class="sourceLineNo">137</span><a name="line.137"></a>
+<span class="sourceLineNo">138</span>  private static Quotas getQuotas(final Connection connection, final byte[] rowKey)<a name="line.138"></a>
+<span class="sourceLineNo">139</span>      throws IOException {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    return getQuotas(connection, rowKey, QUOTA_QUALIFIER_SETTINGS);<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  }<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span>  private static Quotas getQuotas(final Connection connection, final byte[] rowKey,<a name="line.143"></a>
+<span class="sourceLineNo">144</span>      final byte[] qualifier) throws IOException {<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    Get get = new Get(rowKey);<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    get.addColumn(QUOTA_FAMILY_INFO, qualifier);<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    Result result = doGet(connection, get);<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    if (result.isEmpty()) {<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      return null;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    }<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    return quotasFromData(result.getValue(QUOTA_FAMILY_INFO, qualifier));<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  }<a name="line.152"></a>
+<span class="sourceLineNo">153</span><a name="line.153"></a>
+<span class="sourceLineNo">154</span>  public static Get makeGetForTableQuotas(final TableName table) {<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    Get get = new Get(getTableRowKey(table));<a name="line.155"></a>
+<span class="sourceLineNo">156</span>    get.addFamily(QUOTA_FAMILY_INFO);<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    return get;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>  }<a name="line.158"></a>
+<span class="sourceLineNo">159</span><a name="line.159"></a>
+<span class="sourceLineNo">160</span>  public static Get makeGetForNamespaceQuotas(final String namespace) {<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    Get get = new Get(getNamespaceRowKey(namespace));<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    get.addFamily(QUOTA_FAMILY_INFO);<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    return get;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>  }<a name="line.164"></a>
+<span class="sourceLineNo">165</span><a name="line.165"></a>
+<span class="sourceLineNo">166</span>  public static Get makeGetForUserQuotas(final String user, final Iterable&lt;TableName&gt; tables,<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      final Iterable&lt;String&gt; namespaces) {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    Get get = new Get(getUserRowKey(user));<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    get.addColumn(QUOTA_FAMILY_INFO, QUOTA_QUALIFIER_SETTINGS);<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    for (final TableName table: tables) {<a name="line.170"></a>
+<span class="sourceLineNo">171</span>      get.addColumn(QUOTA_FAMILY_INFO, getSettingsQualifierForUserTable(table));<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    }<a name="line.172"></a>
+<span class="sourceLineNo">173</span>    for (final String ns: namespaces) {<a name="line.173"></a>
+<span class="sourceLineNo">174</span>      get.addColumn(QUOTA_FAMILY_INFO, getSettingsQualifierForUserNamespace(ns));<a name="line.174"></a>
+<span class="sourceLineNo">175</span>    }<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    return get;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>  }<a name="line.177"></a>
+<span class="sourceLineNo">178</span><a name="line.178"></a>
+<span class="sourceLineNo">179</span>  public static Scan makeScan(final QuotaFilter filter) {<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    Scan scan = new Scan();<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    scan.addFamily(QUOTA_FAMILY_INFO);<a name="line.181"></a>
+<span class="sourceLineNo">182</span>    if (filter != null &amp;&amp; !filter.isNull()) {<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      scan.setFilter(makeFilter(filter));<a name="line.183"></a>
+<span class="sourceLineNo">184</span>    }<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    return scan;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>  }<a name="line.186"></a>
+<span class="sourceLineNo">187</span><a name="line.187"></a>
+<span class="sourceLineNo">188</span>  /**<a name="line.188"></a>
+<span class="sourceLineNo">189</span>   * converts quotafilter to serializeable filterlists.<a name="line.189"></a>
+<span class="sourceLineNo">190</span>   */<a name="line.190"></a>
+<span class="sourceLineNo">191</span>  public static Filter makeFilter(final QuotaFilter filter) {<a name="line.191"></a>
+<span class="sourceLineNo">192</span>    FilterList filterList = new FilterList(FilterList.Operator.MUST_PASS_ALL);<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    if (!Strings.isEmpty(filter.getUserFilter())) {<a name="line.193"></a>
+<span class="sourceLineNo">194</span>      FilterList userFilters = new FilterList(FilterList.Operator.MUST_PASS_ONE);<a name="line.194"></a>
+<span class="sourceLineNo">195</span>      boolean hasFilter = false;<a name="line.195"></a>
+<span class="sourceLineNo">196</span><a name="line.196"></a>
+<span class="sourceLineNo">197</span>      if (!Strings.isEmpty(filter.getNamespaceFilter())) {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>        FilterList nsFilters = new FilterList(FilterList.Operator.MUST_PASS_ALL);<a name="line.198"></a>
+<span class="sourceLineNo">199</span>        nsFilters.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.199"></a>
+<span class="sourceLineNo">200</span>            new RegexStringComparator(getUserRowKeyRegex(filter.getUserFilter()), 0)));<a name="line.200"></a>
+<span class="sourceLineNo">201</span>        nsFilters.addFilter(new QualifierFilter(CompareFilter.CompareOp.EQUAL,<a name="line.201"></a>
+<span class="sourceLineNo">202</span>            new RegexStringComparator(<a name="line.202"></a>
+<span class="sourceLineNo">203</span>              getSettingsQualifierRegexForUserNamespace(filter.getNamespaceFilter()), 0)));<a name="line.203"></a>
+<span class="sourceLineNo">204</span>        userFilters.addFilter(nsFilters);<a name="line.204"></a>
+<span class="sourceLineNo">205</span>        hasFilter = true;<a name="line.205"></a>
+<span class="sourceLineNo">206</span>      }<a name="line.206"></a>
+<span class="sourceLineNo">207</span>      if (!Strings.isEmpty(filter.getTableFilter())) {<a name="line.207"></a>
+<span class="sourceLineNo">208</span>        FilterList tableFilters = new FilterList(FilterList.Operator.MUST_PASS_ALL);<a name="line.208"></a>
+<span class="sourceLineNo">209</span>        tableFilters.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.209"></a>
+<span class="sourceLineNo">210</span>            new RegexStringComparator(getUserRowKeyRegex(filter.getUserFilter()), 0)));<a name="line.210"></a>
+<span class="sourceLineNo">211</span>        tableFilters.addFilter(new QualifierFilter(CompareFilter.CompareOp.EQUAL,<a name="line.211"></a>
+<span class="sourceLineNo">212</span>            new RegexStringComparator(<a name="line.212"></a>
+<span class="sourceLineNo">213</span>              getSettingsQualifierRegexForUserTable(filter.getTableFilter()), 0)));<a name="line.213"></a>
+<span class="sourceLineNo">214</span>        userFilters.addFilter(tableFilters);<a name="line.214"></a>
+<span class="sourceLineNo">215</span>        hasFilter = true;<a name="line.215"></a>
+<span class="sourceLineNo">216</span>      }<a name="line.216"></a>
+<span class="sourceLineNo">217</span>      if (!hasFilter) {<a name="line.217"></a>
+<span class="sourceLineNo">218</span>        userFilters.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.218"></a>
+<span class="sourceLineNo">219</span>            new RegexStringComparator(getUserRowKeyRegex(filter.getUserFilter()), 0)));<a name="line.219"></a>
+<span class="sourceLineNo">220</span>      }<a name="line.220"></a>
+<span class="sourceLineNo">221</span><a name="line.221"></a>
+<span class="sourceLineNo">222</span>      filterList.addFilter(userFilters);<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    } else if (!Strings.isEmpty(filter.getTableFilter())) {<a name="line.223"></a>
+<span class="sourceLineNo">224</span>      filterList.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.224"></a>
+<span class="sourceLineNo">225</span>          new RegexStringComparator(getTableRowKeyRegex(filter.getTableFilter()), 0)));<a name="line.225"></a>
+<span class="sourceLineNo">226</span>    } else if (!Strings.isEmpty(filter.getNamespaceFilter())) {<a name="line.226"></a>
+<span class="sourceLineNo">227</span>      filterList.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.227"></a>
+<span class="sourceLineNo">228</span>          new RegexStringComparator(getNamespaceRowKeyRegex(filter.getNamespaceFilter()), 0)));<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    }<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    return filterList;<a name="line.230"></a>
+<span class="sourceLineNo">231</span>  }<a name="line.231"></a>
+<span class="sourceLineNo">232</span><a name="line.232"></a>
+<span class="sourceLineNo">233</span>  /**<a name="line.233"></a>
+<span class="sourceLineNo">234</span>   * Creates a {@link Scan} which returns only quota snapshots from the quota table.<a name="line.234"></a>
+<span class="sourceLineNo">235</span>   */<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  public static Scan makeQuotaSnapshotScan() {<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    return makeQuotaSnapshotScanForTable(null);<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  }<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
+<span class="sourceLineNo">240</span>  /**<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   * Fetches all {@link SpaceQuotaSnapshot} objects from the {@code hbase:quota} table.<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   *<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   * @param conn The HBase connection<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   * @return A map of table names and their computed snapshot.<a name="line.244"></a>
+<span class="sourceLineNo">245</span>   */<a name="line.245"></a>
+<span class="sourceLineNo">246</span>  public static Map&lt;TableName,SpaceQuotaSnapshot&gt; getSnapshots(Connection conn) throws IOException {<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    Map&lt;TableName,SpaceQuotaSnapshot&gt; snapshots = new HashMap&lt;&gt;();<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    try (Table quotaTable = conn.getTable(QUOTA_TABLE_NAME);<a name="line.248"></a>
+<span class="sourceLineNo">249</span>        ResultScanner rs = quotaTable.getScanner(makeQuotaSnapshotScan())) {<a name="line.249"></a>
+<span class="sourceLineNo">250</span>      for (Result r : rs) {<a name="line.250"></a>
+<span class="sourceLineNo">251</span>        extractQuotaSnapshot(r, snapshots);<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      }<a name="line.252"></a>
+<span class="sourceLineNo">253</span>    }<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    return snapshots;<a name="line.254"></a>
+<span class="sourceLineNo">255</span>  }<a name="line.255"></a>
+<span class="sourceLineNo">256</span><a name="line.256"></a>
+<span class="sourceLineNo">257</span>  /**<a name="line.257"></a>
+<span class="sourceLineNo">258</span>   * Creates a {@link Scan} which returns only {@link SpaceQuotaSnapshot} from the quota table for a<a name="line.258"></a>
+<span class="sourceLineNo">259</span>   * specific table.<a name="line.259"></a>
+<span class="sourceLineNo">260</span>   * @param tn Optionally, a table name to limit the scan's rowkey space. Can be null.<a name="line.260"></a>
+<span class="sourceLineNo">261</span>   */<a name="line.261"></a>
+<span class="sourceLineNo">262</span>  public static Scan makeQuotaSnapshotScanForTable(TableName tn) {<a name="line.262"></a>
+<span class="sourceLineNo">263</span>    Scan s = new Scan();<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    // Limit to "u:v" column<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    s.addColumn(QUOTA_FAMILY_USAGE, QUOTA_QUALIFIER_POLICY);<a name="line.265"></a>
+<span class="sourceLineNo">266</span>    if (null == tn) {<a name="line.266"></a>
+<span class="sourceLineNo">267</span>      s.setRowPrefixFilter(QUOTA_TABLE_ROW_KEY_PREFIX);<a name="line.267"></a>
+<span class="sourceLineNo">268</span>    } else {<a name="line.268"></a>
+<span class="sourceLineNo">269</span>      byte[] row = getTableRowKey(tn);<a name="line.269"></a>
+<span class="sourceLineNo">270</span>      // Limit rowspace to the "t:" prefix<a name="line.270"></a>
+<span class="sourceLineNo">271</span>      s.withStartRow(row, true).withStopRow(row, true);<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    }<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    return s;<a name="line.273"></a>
+<span class="sourceLineNo">274</span>  }<a name="line.274"></a>
+<span class="sourceLineNo">275</span><a name="line.275"></a>
+<span class="sourceLineNo">276</span>  /**<a name="line.276"></a>
+<span class="sourceLineNo">277</span>   * Extracts the {@link SpaceViolationPolicy} and {@link TableName} from the provided<a name="line.277"></a>
+<span class="sourceLineNo">278</span>   * {@link Result} and adds them to 

<TRUNCATED>

[02/26] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/license.html
----------------------------------------------------------------------
diff --git a/license.html b/license.html
index 3df6aa8..70e988f 100644
--- a/license.html
+++ b/license.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="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project License</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -496,7 +496,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-06-20</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-06-21</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/mail-lists.html
----------------------------------------------------------------------
diff --git a/mail-lists.html b/mail-lists.html
index ae2174d..e49b319 100644
--- a/mail-lists.html
+++ b/mail-lists.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="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Mailing Lists</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -346,7 +346,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-06-20</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-06-21</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/metrics.html
----------------------------------------------------------------------
diff --git a/metrics.html b/metrics.html
index cc094ee..f3fff6e 100644
--- a/metrics.html
+++ b/metrics.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="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Apache HBase (TM) Metrics
@@ -464,7 +464,7 @@ export HBASE_REGIONSERVER_OPTS=&quot;$HBASE_JMX_OPTS -Dcom.sun.management.jmxrem
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-06-20</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-06-21</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/old_news.html
----------------------------------------------------------------------
diff --git a/old_news.html b/old_news.html
index 6f1240f..1af395c 100644
--- a/old_news.html
+++ b/old_news.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="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Old Apache HBase (TM) News
@@ -419,7 +419,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: 2017-06-20</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-06-21</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/plugin-management.html
----------------------------------------------------------------------
diff --git a/plugin-management.html b/plugin-management.html
index b08b0da..8d48286 100644
--- a/plugin-management.html
+++ b/plugin-management.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="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Plugin Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -441,7 +441,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-06-20</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-06-21</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/plugins.html
----------------------------------------------------------------------
diff --git a/plugins.html b/plugins.html
index f81cc69..81d7351 100644
--- a/plugins.html
+++ b/plugins.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="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Build Plugins</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -376,7 +376,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-06-20</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-06-21</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/poweredbyhbase.html
----------------------------------------------------------------------
diff --git a/poweredbyhbase.html b/poweredbyhbase.html
index 24f32ec..f6fc8e5 100644
--- a/poweredbyhbase.html
+++ b/poweredbyhbase.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="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Powered By Apache HBase™</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -774,7 +774,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: 2017-06-20</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-06-21</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/project-info.html
----------------------------------------------------------------------
diff --git a/project-info.html b/project-info.html
index b18f62b..42d4f8d 100644
--- a/project-info.html
+++ b/project-info.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="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -340,7 +340,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-06-20</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-06-21</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/project-reports.html
----------------------------------------------------------------------
diff --git a/project-reports.html b/project-reports.html
index b1d3d80..b405689 100644
--- a/project-reports.html
+++ b/project-reports.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="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Generated Reports</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -310,7 +310,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-06-20</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-06-21</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/project-summary.html
----------------------------------------------------------------------
diff --git a/project-summary.html b/project-summary.html
index 12f57f7..87d04ce 100644
--- a/project-summary.html
+++ b/project-summary.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="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Summary</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -336,7 +336,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-06-20</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-06-21</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/pseudo-distributed.html
----------------------------------------------------------------------
diff --git a/pseudo-distributed.html b/pseudo-distributed.html
index 1be90ae..439ce87 100644
--- a/pseudo-distributed.html
+++ b/pseudo-distributed.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="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
 Running Apache HBase (TM) in pseudo-distributed mode
@@ -313,7 +313,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: 2017-06-20</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-06-21</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/replication.html
----------------------------------------------------------------------
diff --git a/replication.html b/replication.html
index c20e792..98e1948 100644
--- a/replication.html
+++ b/replication.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="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Apache HBase (TM) Replication
@@ -308,7 +308,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: 2017-06-20</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-06-21</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/resources.html
----------------------------------------------------------------------
diff --git a/resources.html b/resources.html
index 9e0e663..08144ec 100644
--- a/resources.html
+++ b/resources.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="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Other Apache HBase (TM) Resources</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -336,7 +336,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: 2017-06-20</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-06-21</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/source-repository.html
----------------------------------------------------------------------
diff --git a/source-repository.html b/source-repository.html
index 2d3beff..0afb159 100644
--- a/source-repository.html
+++ b/source-repository.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="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Source Repository</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -304,7 +304,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-06-20</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-06-21</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/sponsors.html
----------------------------------------------------------------------
diff --git a/sponsors.html b/sponsors.html
index 82b774f..a600f0b 100644
--- a/sponsors.html
+++ b/sponsors.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="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Apache HBase™ Sponsors</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -338,7 +338,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: 2017-06-20</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-06-21</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/supportingprojects.html
----------------------------------------------------------------------
diff --git a/supportingprojects.html b/supportingprojects.html
index 39044d4..f7222f7 100644
--- a/supportingprojects.html
+++ b/supportingprojects.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="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Supporting Projects</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -525,7 +525,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: 2017-06-20</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-06-21</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/team-list.html
----------------------------------------------------------------------
diff --git a/team-list.html b/team-list.html
index 5de83fe..72325c6 100644
--- a/team-list.html
+++ b/team-list.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="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Team list</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -815,7 +815,7 @@ window.onLoad = init();
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-06-20</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-06-21</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/testdevapidocs/index-all.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/index-all.html b/testdevapidocs/index-all.html
index 2eea6ab..5d5d70d 100644
--- a/testdevapidocs/index-all.html
+++ b/testdevapidocs/index-all.html
@@ -37746,8 +37746,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.html#TEST_UTIL">TEST_UTIL</a></span> - Static variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.html" title="class in org.apache.hadoop.hbase.regionserver">TestRegionMergeTransactionOnCluster</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html#TEST_UTIL">TEST_UTIL</a></span> - Static variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html" title="class in org.apache.hadoop.hbase.regionserver">TestRegionServerHostname</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/TestRegionServerMetrics.html#TEST_UTIL">TEST_UTIL</a></span> - Static variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase.regionserver">TestRegionServerMetrics</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/TestRegionServerReadRequestMetrics.html#TEST_UTIL">TEST_UTIL</a></span> - Static variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestRegionServerReadRequestMetrics.html" title="class in org.apache.hadoop.hbase.regionserver">TestRegionServerReadRequestMetrics</a></dt>
@@ -41088,6 +41086,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/TestConfigurationUtil.html#TestConfigurationUtil--">TestConfigurationUtil()</a></span> - Constructor for class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/TestConfigurationUtil.html" title="class in org.apache.hadoop.hbase.util">TestConfigurationUtil</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html#testConflictRegionServerHostnameConfigurationsAbortServer--">testConflictRegionServerHostnameConfigurationsAbortServer()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html" title="class in org.apache.hadoop.hbase.regionserver">TestRegionServerHostname</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/http/conf/TestConfServlet.html" title="class in org.apache.hadoop.hbase.http.conf"><span class="typeNameLink">TestConfServlet</span></a> - Class in <a href="org/apache/hadoop/hbase/http/conf/package-summary.html">org.apache.hadoop.hbase.http.conf</a></dt>
 <dd>
 <div class="block">Basic test case that the ConfServlet can write configuration
@@ -50888,6 +50888,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html#testRegionServerHostname--">testRegionServerHostname()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html" title="class in org.apache.hadoop.hbase.regionserver">TestRegionServerHostname</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html#testRegionServerHostnameReportedToMaster--">testRegionServerHostnameReportedToMaster()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html" title="class in org.apache.hadoop.hbase.regionserver">TestRegionServerHostname</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/TestBackupSystemTable.html#testRegionServerLastLogRollResults--">testRegionServerLastLogRollResults()</a></span> - Method in class org.apache.hadoop.hbase.backup.<a href="org/apache/hadoop/hbase/backup/TestBackupSystemTable.html" title="class in org.apache.hadoop.hbase.backup">TestBackupSystemTable</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/TestBackupSystemTable.html#testRegionServerLogTimestampMap--">testRegionServerLogTimestampMap()</a></span> - Method in class org.apache.hadoop.hbase.backup.<a href="org/apache/hadoop/hbase/backup/TestBackupSystemTable.html" title="class in org.apache.hadoop.hbase.backup">TestBackupSystemTable</a></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseTestingUtility.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseTestingUtility.html b/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseTestingUtility.html
index ed8957f..5cd27c9 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseTestingUtility.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseTestingUtility.html
@@ -2606,185 +2606,181 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TestRegionServerHostname.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html#TEST_UTIL">TEST_UTIL</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestCompoundBloomFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestCompoundBloomFilter.html#TEST_UTIL">TEST_UTIL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestSplitLogWorker.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestSplitLogWorker.html#TEST_UTIL">TEST_UTIL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestHStoreFile.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestHStoreFile.html#TEST_UTIL">TEST_UTIL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestRegionServerMetrics.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestRegionServerMetrics.html#TEST_UTIL">TEST_UTIL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestEndToEndSplitTransaction.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestEndToEndSplitTransaction.html#TEST_UTIL">TEST_UTIL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestRecoveredEdits.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestRecoveredEdits.html#TEST_UTIL">TEST_UTIL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestDeleteMobTable.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestDeleteMobTable.html#TEST_UTIL">TEST_UTIL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestStore.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestStore.html#TEST_UTIL">TEST_UTIL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestMultiColumnScanner.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestMultiColumnScanner.html#TEST_UTIL">TEST_UTIL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestScannerCursor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestScannerCursor.html#TEST_UTIL">TEST_UTIL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestHRegionOnCluster.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestHRegionOnCluster.html#TEST_UTIL">TEST_UTIL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestScannerWithBulkload.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestScannerWithBulkload.html#TEST_UTIL">TEST_UTIL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestCacheOnWriteInSchema.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestCacheOnWriteInSchema.html#TEST_UTIL">TEST_UTIL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestRemoveRegionMetrics.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestRemoveRegionMetrics.html#TEST_UTIL">TEST_UTIL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestPerColumnFamilyFlush.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestPerColumnFamilyFlush.html#TEST_UTIL">TEST_UTIL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestEncryptionRandomKeying.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestEncryptionRandomKeying.html#TEST_UTIL">TEST_UTIL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestBlocksRead.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestBlocksRead.html#TEST_UTIL">TEST_UTIL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestStripeStoreFileManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestStripeStoreFileManager.html#TEST_UTIL">TEST_UTIL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestRegionFavoredNodes.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestRegionFavoredNodes.html#TEST_UTIL">TEST_UTIL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestCompactionPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestCompactionPolicy.html#TEST_UTIL">TEST_UTIL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestHRegionFileSystem.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestHRegionFileSystem.html#TEST_UTIL">TEST_UTIL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestWALMonotonicallyIncreasingSeqId.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestWALMonotonicallyIncreasingSeqId.html#TEST_UTIL">TEST_UTIL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestStoreFileInfo.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestStoreFileInfo.html#TEST_UTIL">TEST_UTIL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestAtomicOperation.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestAtomicOperation.html#TEST_UTIL">TEST_UTIL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestMutateRowsRecovery.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestMutateRowsRecovery.html#TESTING_UTIL">TESTING_UTIL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestSplitTransactionOnCluster.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.html#TESTING_UTIL">TESTING_UTIL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">EncodedSeekPerformanceTest.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/EncodedSeekPerformanceTest.html#testingUtility">testingUtility</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestCompactionArchiveIOException.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestCompactionArchiveIOException.html#testUtil">testUtil</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestRegionServerAbort.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestRegionServerAbort.html#testUtil">testUtil</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestCompactionArchiveConcurrentClose.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestCompactionArchiveConcurrentClose.html#testUtil">testUtil</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestRegionServerReportForDuty.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestRegionServerReportForDuty.html#testUtil">testUtil</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestSplitWalDataLoss.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestSplitWalDataLoss.html#testUtil">testUtil</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestFSErrorsExposed.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestFSErrorsExposed.html#util">util</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestServerCustomProtocol.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestServerCustomProtocol.html#util">util</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestCompactionInDeadRegionServer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestCompactionInDeadRegionServer.html#UTIL">UTIL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestHRegionServerBulkLoad.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.html#UTIL">UTIL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestCompaction.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestCompaction.html#UTIL">UTIL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestGetClosestAtOrBefore.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestGetClosestAtOrBefore.html#UTIL">UTIL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestSwitchToStreamRead.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestSwitchToStreamRead.html#UTIL">UTIL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestCorruptedRegionStoreFile.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestCorruptedRegionStoreFile.html#UTIL">UTIL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestHeapMemoryManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestHeapMemoryManager.html#UTIL">UTIL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestMajorCompaction.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestMajorCompaction.html#UTIL">UTIL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestMinorCompaction.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestMinorCompaction.html#UTIL">UTIL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestScannerRetriableFailure.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestScannerRetriableFailure.html#UTIL">UTIL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestMobStoreCompaction.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestMobStoreCompaction.html#UTIL">UTIL</a></span></code>&nbsp;</td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/testdevapidocs/org/apache/hadoop/hbase/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/package-tree.html
index 97585fc..59fb5f0 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/package-tree.html
@@ -542,15 +542,15 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/RESTApiClusterManager.RoleCommand.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">RESTApiClusterManager.RoleCommand</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ScanPerformanceEvaluation.ScanCounter.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ScanPerformanceEvaluation.ScanCounter</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/IntegrationTestRegionReplicaPerf.Stat.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">IntegrationTestRegionReplicaPerf.Stat</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">PerformanceEvaluation.Counter</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/RESTApiClusterManager.Service.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">RESTApiClusterManager.Service</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ResourceChecker.Phase.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ResourceChecker.Phase</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/RESTApiClusterManager.RoleCommand.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">RESTApiClusterManager.RoleCommand</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HBaseClusterManager.CommandProvider.Operation.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HBaseClusterManager.CommandProvider.Operation</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ScanPerformanceEvaluation.ScanCounter.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ScanPerformanceEvaluation.ScanCounter</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/IntegrationTestDDLMasterFailover.ACTION.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">IntegrationTestDDLMasterFailover.ACTION</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ClusterManager.ServiceType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ClusterManager.ServiceType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/IntegrationTestDDLMasterFailover.ACTION.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">IntegrationTestDDLMasterFailover.ACTION</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HBaseClusterManager.CommandProvider.Operation.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HBaseClusterManager.CommandProvider.Operation</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
index 64e86d4..451a7e3 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
@@ -205,8 +205,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestStateMachineProcedure.TestSMProcedureState</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestStateMachineProcedure.State.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureRecovery.TestStateMachineProcedure.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestStateMachineProcedure.TestSMProcedureState</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestYieldProcedures.TestStateMachineProcedure.State.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestYieldProcedures.TestStateMachineProcedure.State</span></a></li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/testdevapidocs/org/apache/hadoop/hbase/quotas/TestSpaceQuotasWithSnapshots.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/quotas/TestSpaceQuotasWithSnapshots.html b/testdevapidocs/org/apache/hadoop/hbase/quotas/TestSpaceQuotasWithSnapshots.html
index ff379c5..172abb0 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/quotas/TestSpaceQuotasWithSnapshots.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/quotas/TestSpaceQuotasWithSnapshots.html
@@ -423,7 +423,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>testNamespacesInheritSnapshotSize</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestSpaceQuotasWithSnapshots.html#line.179">testNamespacesInheritSnapshotSize</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestSpaceQuotasWithSnapshots.html#line.186">testNamespacesInheritSnapshotSize</a>()
                                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -437,7 +437,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>testTablesWithSnapshots</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestSpaceQuotasWithSnapshots.html#line.271">testTablesWithSnapshots</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestSpaceQuotasWithSnapshots.html#line.285">testTablesWithSnapshots</a>()
                              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -451,7 +451,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>testRematerializedTablesDoNoInheritSpace</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestSpaceQuotasWithSnapshots.html#line.328">testRematerializedTablesDoNoInheritSpace</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestSpaceQuotasWithSnapshots.html#line.342">testRematerializedTablesDoNoInheritSpace</a>()
                                               throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -465,7 +465,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>waitForStableQuotaSize</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestSpaceQuotasWithSnapshots.html#line.393">waitForStableQuotaSize</a>(org.apache.hadoop.hbase.client.Connection&nbsp;conn,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestSpaceQuotasWithSnapshots.html#line.407">waitForStableQuotaSize</a>(org.apache.hadoop.hbase.client.Connection&nbsp;conn,
                             org.apache.hadoop.hbase.TableName&nbsp;tn,
                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;ns)
                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
@@ -481,7 +481,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionSizeReportForTable</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestSpaceQuotasWithSnapshots.html#line.416">getRegionSizeReportForTable</a>(org.apache.hadoop.hbase.client.Connection&nbsp;conn,
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestSpaceQuotasWithSnapshots.html#line.430">getRegionSizeReportForTable</a>(org.apache.hadoop.hbase.client.Connection&nbsp;conn,
                                  org.apache.hadoop.hbase.TableName&nbsp;tn)
                           throws <a href="http://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>
@@ -496,7 +496,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>waitForStableRegionSizeReport</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestSpaceQuotasWithSnapshots.html#line.425">waitForStableRegionSizeReport</a>(org.apache.hadoop.hbase.client.Connection&nbsp;conn,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestSpaceQuotasWithSnapshots.html#line.439">waitForStableRegionSizeReport</a>(org.apache.hadoop.hbase.client.Connection&nbsp;conn,
                                    org.apache.hadoop.hbase.TableName&nbsp;tn)
                             throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/testdevapidocs/org/apache/hadoop/hbase/regionserver/OOMERegionServer.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/regionserver/OOMERegionServer.html b/testdevapidocs/org/apache/hadoop/hbase/regionserver/OOMERegionServer.html
index 6bc4f71..2a94fbd 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/regionserver/OOMERegionServer.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/regionserver/OOMERegionServer.html
@@ -180,7 +180,7 @@ extends org.apache.hadoop.hbase.regionserver.HRegionServer</pre>
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.regionserver.HRegionServer</h3>
-<code>cacheConfig, cacheFlusher, CLOSE, clusterConnection, clusterStatusTracker, compactedFileDischarger, compactionChecker, compactSplitThread, conf, configurationManager, csm, DEFAULT_REGION_LOCK_AWAIT_TIME_SEC, fs, fsOk, fsUtilizationChore, hMemManager, infoServer, initLatch, killed, leases, lock, MASTER_HOSTNAME_KEY, metaTableLocator, metricsRegionServer, metricsTable, mobCacheConfig, movedRegions, msgInterval, nonceManager, numRegionsToReport, numRetries, online, onlineRegions, OPEN, periodicFlusher, recoveringRegions, REGION_LOCK_AWAIT_TIME_SEC, regionFavoredNodesMap, REGIONSERVER, regionsInTransitionInRS, replicationSinkHandler, replicationSourceHandler, rowlocks, rpcClient, rpcServices, RS_HOSTNAME_KEY, secureBulkLoadManager, serverName, service, sleeper, startcode, tableDescriptors, TEST_SKIP_REPORTING_TRANSITION, threadWakeFrequency, useThisHostnameInstead, walFactory, walFs, walRoller, zooKeeper</code></li>
+<code>cacheConfig, cacheFlusher, CLOSE, clusterConnection, clusterStatusTracker, compactedFileDischarger, compactionChecker, compactSplitThread, conf, configurationManager, csm, DEFAULT_REGION_LOCK_AWAIT_TIME_SEC, fs, fsOk, fsUtilizationChore, hMemManager, infoServer, initLatch, killed, leases, lock, MASTER_HOSTNAME_KEY, metaTableLocator, metricsRegionServer, metricsTable, mobCacheConfig, movedRegions, msgInterval, nonceManager, numRegionsToReport, numRetries, online, onlineRegions, OPEN, periodicFlusher, recoveringRegions, REGION_LOCK_AWAIT_TIME_SEC, regionFavoredNodesMap, REGIONSERVER, regionsInTransitionInRS, replicationSinkHandler, replicationSourceHandler, rowlocks, rpcClient, rpcServices, RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY, RS_HOSTNAME_KEY, secureBulkLoadManager, serverName, service, sleeper, startcode, tableDescriptors, TEST_SKIP_REPORTING_TRANSITION, threadWakeFrequency, useThisHostnameInstead, walFactory, walFs, walRoller, zooKeeper</code></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestCompactionInDeadRegionServer.IgnoreYouAreDeadRS.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestCompactionInDeadRegionServer.IgnoreYouAreDeadRS.html b/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestCompactionInDeadRegionServer.IgnoreYouAreDeadRS.html
index c904cb7..022e8b9 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestCompactionInDeadRegionServer.IgnoreYouAreDeadRS.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestCompactionInDeadRegionServer.IgnoreYouAreDeadRS.html
@@ -168,7 +168,7 @@ extends org.apache.hadoop.hbase.regionserver.HRegionServer</pre>
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.regionserver.HRegionServer</h3>
-<code>cacheConfig, cacheFlusher, CLOSE, clusterConnection, clusterStatusTracker, compactedFileDischarger, compactionChecker, compactSplitThread, conf, configurationManager, csm, DEFAULT_REGION_LOCK_AWAIT_TIME_SEC, fs, fsOk, fsUtilizationChore, hMemManager, infoServer, initLatch, killed, leases, lock, MASTER_HOSTNAME_KEY, metaTableLocator, metricsRegionServer, metricsTable, mobCacheConfig, movedRegions, msgInterval, nonceManager, numRegionsToReport, numRetries, online, onlineRegions, OPEN, periodicFlusher, recoveringRegions, REGION_LOCK_AWAIT_TIME_SEC, regionFavoredNodesMap, REGIONSERVER, regionsInTransitionInRS, replicationSinkHandler, replicationSourceHandler, rowlocks, rpcClient, rpcServices, RS_HOSTNAME_KEY, secureBulkLoadManager, serverName, service, sleeper, startcode, tableDescriptors, TEST_SKIP_REPORTING_TRANSITION, threadWakeFrequency, useThisHostnameInstead, walFactory, walFs, walRoller, zooKeeper</code></li>
+<code>cacheConfig, cacheFlusher, CLOSE, clusterConnection, clusterStatusTracker, compactedFileDischarger, compactionChecker, compactSplitThread, conf, configurationManager, csm, DEFAULT_REGION_LOCK_AWAIT_TIME_SEC, fs, fsOk, fsUtilizationChore, hMemManager, infoServer, initLatch, killed, leases, lock, MASTER_HOSTNAME_KEY, metaTableLocator, metricsRegionServer, metricsTable, mobCacheConfig, movedRegions, msgInterval, nonceManager, numRegionsToReport, numRetries, online, onlineRegions, OPEN, periodicFlusher, recoveringRegions, REGION_LOCK_AWAIT_TIME_SEC, regionFavoredNodesMap, REGIONSERVER, regionsInTransitionInRS, replicationSinkHandler, replicationSourceHandler, rowlocks, rpcClient, rpcServices, RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY, RS_HOSTNAME_KEY, secureBulkLoadManager, serverName, service, sleeper, startcode, tableDescriptors, TEST_SKIP_REPORTING_TRANSITION, threadWakeFrequency, useThisHostnameInstead, walFactory, walFs, walRoller, zooKeeper</code></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestRSKilledWhenInitializing.RegisterAndDieRegionServer.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestRSKilledWhenInitializing.RegisterAndDieRegionServer.html b/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestRSKilledWhenInitializing.RegisterAndDieRegionServer.html
index 1a44427..8c1572c 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestRSKilledWhenInitializing.RegisterAndDieRegionServer.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestRSKilledWhenInitializing.RegisterAndDieRegionServer.html
@@ -176,7 +176,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/MiniHBaseCluster.MiniHBa
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.regionserver.HRegionServer</h3>
-<code>cacheConfig, cacheFlusher, CLOSE, clusterConnection, clusterStatusTracker, compactedFileDischarger, compactionChecker, compactSplitThread, conf, configurationManager, csm, DEFAULT_REGION_LOCK_AWAIT_TIME_SEC, fs, fsOk, fsUtilizationChore, hMemManager, infoServer, initLatch, killed, leases, lock, MASTER_HOSTNAME_KEY, metaTableLocator, metricsRegionServer, metricsTable, mobCacheConfig, movedRegions, msgInterval, nonceManager, numRegionsToReport, numRetries, online, onlineRegions, OPEN, periodicFlusher, recoveringRegions, REGION_LOCK_AWAIT_TIME_SEC, regionFavoredNodesMap, REGIONSERVER, regionsInTransitionInRS, replicationSinkHandler, replicationSourceHandler, rowlocks, rpcClient, rpcServices, RS_HOSTNAME_KEY, secureBulkLoadManager, serverName, service, sleeper, startcode, tableDescriptors, TEST_SKIP_REPORTING_TRANSITION, threadWakeFrequency, useThisHostnameInstead, walFactory, walFs, walRoller, zooKeeper</code></li>
+<code>cacheConfig, cacheFlusher, CLOSE, clusterConnection, clusterStatusTracker, compactedFileDischarger, compactionChecker, compactSplitThread, conf, configurationManager, csm, DEFAULT_REGION_LOCK_AWAIT_TIME_SEC, fs, fsOk, fsUtilizationChore, hMemManager, infoServer, initLatch, killed, leases, lock, MASTER_HOSTNAME_KEY, metaTableLocator, metricsRegionServer, metricsTable, mobCacheConfig, movedRegions, msgInterval, nonceManager, numRegionsToReport, numRetries, online, onlineRegions, OPEN, periodicFlusher, recoveringRegions, REGION_LOCK_AWAIT_TIME_SEC, regionFavoredNodesMap, REGIONSERVER, regionsInTransitionInRS, replicationSinkHandler, replicationSourceHandler, rowlocks, rpcClient, rpcServices, RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY, RS_HOSTNAME_KEY, secureBulkLoadManager, serverName, service, sleeper, startcode, tableDescriptors, TEST_SKIP_REPORTING_TRANSITION, threadWakeFrequency, useThisHostnameInstead, walFactory, walFs, walRoller, zooKeeper</code></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.MyMaster.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.MyMaster.html b/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.MyMaster.html
index 86b7c72..77ef99c 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.MyMaster.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.MyMaster.html
@@ -187,7 +187,7 @@ extends org.apache.hadoop.hbase.master.HMaster</pre>
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.regionserver.HRegionServer</h3>
-<code>cacheConfig, cacheFlusher, CLOSE, clusterConnection, clusterStatusTracker, compactedFileDischarger, compactionChecker, compactSplitThread, conf, configurationManager, csm, DEFAULT_REGION_LOCK_AWAIT_TIME_SEC, fs, fsOk, fsUtilizationChore, hMemManager, infoServer, initLatch, killed, leases, lock, MASTER_HOSTNAME_KEY, metaTableLocator, metricsRegionServer, metricsTable, mobCacheConfig, movedRegions, msgInterval, nonceManager, numRegionsToReport, numRetries, online, onlineRegions, OPEN, periodicFlusher, recoveringRegions, REGION_LOCK_AWAIT_TIME_SEC, regionFavoredNodesMap, REGIONSERVER, regionsInTransitionInRS, replicationSinkHandler, replicationSourceHandler, rowlocks, rpcClient, rpcServices, RS_HOSTNAME_KEY, secureBulkLoadManager, serverName, service, sleeper, startcode, tableDescriptors, TEST_SKIP_REPORTING_TRANSITION, threadWakeFrequency, useThisHostnameInstead, walFactory, walFs, walRoller, zooKeeper</code></li>
+<code>cacheConfig, cacheFlusher, CLOSE, clusterConnection, clusterStatusTracker, compactedFileDischarger, compactionChecker, compactSplitThread, conf, configurationManager, csm, DEFAULT_REGION_LOCK_AWAIT_TIME_SEC, fs, fsOk, fsUtilizationChore, hMemManager, infoServer, initLatch, killed, leases, lock, MASTER_HOSTNAME_KEY, metaTableLocator, metricsRegionServer, metricsTable, mobCacheConfig, movedRegions, msgInterval, nonceManager, numRegionsToReport, numRetries, online, onlineRegions, OPEN, periodicFlusher, recoveringRegions, REGION_LOCK_AWAIT_TIME_SEC, regionFavoredNodesMap, REGIONSERVER, regionsInTransitionInRS, replicationSinkHandler, replicationSourceHandler, rowlocks, rpcClient, rpcServices, RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY, RS_HOSTNAME_KEY, secureBulkLoadManager, serverName, service, sleeper, startcode, tableDescriptors, TEST_SKIP_REPORTING_TRANSITION, threadWakeFrequency, useThisHostnameInstead, walFactory, walFs, walRoller, zooKeeper</code></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html b/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html
index b4dd644..e2963cb 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -109,7 +109,7 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <hr>
 <br>
-<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html#line.43">TestRegionServerHostname</a>
+<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html#line.45">TestRegionServerHostname</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Tests for the hostname specification by region server</div>
 </li>
@@ -134,10 +134,6 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <td class="colFirst"><code>private static org.apache.commons.logging.Log</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html#LOG">LOG</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html#TEST_UTIL">TEST_UTIL</a></span></code>&nbsp;</td>
-</tr>
 </table>
 </li>
 </ul>
@@ -172,12 +168,20 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html#testInvalidRegionServerHostnameAbortsServer--">testInvalidRegionServerHostnameAbortsServer</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html#testConflictRegionServerHostnameConfigurationsAbortServer--">testConflictRegionServerHostnameConfigurationsAbortServer</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html#testInvalidRegionServerHostnameAbortsServer--">testInvalidRegionServerHostnameAbortsServer</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html#testRegionServerHostname--">testRegionServerHostname</a></span>()</code>&nbsp;</td>
 </tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html#testRegionServerHostnameReportedToMaster--">testRegionServerHostnameReportedToMaster</a></span>()</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -203,19 +207,10 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <a name="LOG">
 <!--   -->
 </a>
-<ul class="blockList">
-<li class="blockList">
-<h4>LOG</h4>
-<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html#line.44">LOG</a></pre>
-</li>
-</ul>
-<a name="TEST_UTIL">
-<!--   -->
-</a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>TEST_UTIL</h4>
-<pre>private static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html#line.45">TEST_UTIL</a></pre>
+<h4>LOG</h4>
+<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html#line.46">LOG</a></pre>
 </li>
 </ul>
 </li>
@@ -232,7 +227,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TestRegionServerHostname</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html#line.43">TestRegionServerHostname</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html#line.45">TestRegionServerHostname</a>()</pre>
 </li>
 </ul>
 </li>
@@ -249,7 +244,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>testInvalidRegionServerHostnameAbortsServer</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html#line.48">testInvalidRegionServerHostnameAbortsServer</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html#line.49">testInvalidRegionServerHostnameAbortsServer</a>()
                                                  throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -260,10 +255,10 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <a name="testRegionServerHostname--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>testRegionServerHostname</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html#line.69">testRegionServerHostname</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html#line.72">testRegionServerHostname</a>()
                               throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -271,6 +266,34 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 </dl>
 </li>
 </ul>
+<a name="testConflictRegionServerHostnameConfigurationsAbortServer--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>testConflictRegionServerHostnameConfigurationsAbortServer</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html#line.111">testConflictRegionServerHostnameConfigurationsAbortServer</a>()
+                                                               throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="testRegionServerHostnameReportedToMaster--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>testRegionServerHostnameReportedToMaster</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html#line.152">testRegionServerHostnameReportedToMaster</a>()
+                                              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestRegionServerReportForDuty.MyRegionServer.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestRegionServerReportForDuty.MyRegionServer.html b/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestRegionServerReportForDuty.MyRegionServer.html
index aaf0772..fc92117 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestRegionServerReportForDuty.MyRegionServer.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestRegionServerReportForDuty.MyRegionServer.html
@@ -192,7 +192,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/MiniHBaseCluster.MiniHBa
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.regionserver.HRegionServer</h3>
-<code>cacheConfig, cacheFlusher, CLOSE, clusterConnection, clusterStatusTracker, compactedFileDischarger, compactionChecker, compactSplitThread, conf, configurationManager, csm, DEFAULT_REGION_LOCK_AWAIT_TIME_SEC, fs, fsOk, fsUtilizationChore, hMemManager, infoServer, initLatch, killed, leases, lock, MASTER_HOSTNAME_KEY, metaTableLocator, metricsRegionServer, metricsTable, mobCacheConfig, movedRegions, msgInterval, nonceManager, numRegionsToReport, numRetries, online, onlineRegions, OPEN, periodicFlusher, recoveringRegions, REGION_LOCK_AWAIT_TIME_SEC, regionFavoredNodesMap, REGIONSERVER, regionsInTransitionInRS, replicationSinkHandler, replicationSourceHandler, rowlocks, rpcClient, rpcServices, RS_HOSTNAME_KEY, secureBulkLoadManager, serverName, service, sleeper, startcode, tableDescriptors, TEST_SKIP_REPORTING_TRANSITION, threadWakeFrequency, useThisHostnameInstead, walFactory, walFs, walRoller, zooKeeper</code></li>
+<code>cacheConfig, cacheFlusher, CLOSE, clusterConnection, clusterStatusTracker, compactedFileDischarger, compactionChecker, compactSplitThread, conf, configurationManager, csm, DEFAULT_REGION_LOCK_AWAIT_TIME_SEC, fs, fsOk, fsUtilizationChore, hMemManager, infoServer, initLatch, killed, leases, lock, MASTER_HOSTNAME_KEY, metaTableLocator, metricsRegionServer, metricsTable, mobCacheConfig, movedRegions, msgInterval, nonceManager, numRegionsToReport, numRetries, online, onlineRegions, OPEN, periodicFlusher, recoveringRegions, REGION_LOCK_AWAIT_TIME_SEC, regionFavoredNodesMap, REGIONSERVER, regionsInTransitionInRS, replicationSinkHandler, replicationSourceHandler, rowlocks, rpcClient, rpcServices, RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY, RS_HOSTNAME_KEY, secureBulkLoadManager, serverName, service, sleeper, startcode, tableDescriptors, TEST_SKIP_REPORTING_TRANSITION, threadWakeFrequency, useThisHostnameInstead, walFactory, walFs, walRoller, zooKeeper</code></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestScannerHeartbeatMessages.HeartbeatHRegionServer.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestScannerHeartbeatMessages.HeartbeatHRegionServer.html b/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestScannerHeartbeatMessages.HeartbeatHRegionServer.html
index f0e1bf1..b4945d1 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestScannerHeartbeatMessages.HeartbeatHRegionServer.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestScannerHeartbeatMessages.HeartbeatHRegionServer.html
@@ -170,7 +170,7 @@ extends org.apache.hadoop.hbase.regionserver.HRegionServer</pre>
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.regionserver.HRegionServer</h3>
-<code>cacheConfig, cacheFlusher, CLOSE, clusterConnection, clusterStatusTracker, compactedFileDischarger, compactionChecker, compactSplitThread, conf, configurationManager, csm, DEFAULT_REGION_LOCK_AWAIT_TIME_SEC, fs, fsOk, fsUtilizationChore, hMemManager, infoServer, initLatch, killed, leases, lock, MASTER_HOSTNAME_KEY, metaTableLocator, metricsRegionServer, metricsTable, mobCacheConfig, movedRegions, msgInterval, nonceManager, numRegionsToReport, numRetries, online, onlineRegions, OPEN, periodicFlusher, recoveringRegions, REGION_LOCK_AWAIT_TIME_SEC, regionFavoredNodesMap, REGIONSERVER, regionsInTransitionInRS, replicationSinkHandler, replicationSourceHandler, rowlocks, rpcClient, rpcServices, RS_HOSTNAME_KEY, secureBulkLoadManager, serverName, service, sleeper, startcode, tableDescriptors, TEST_SKIP_REPORTING_TRANSITION, threadWakeFrequency, useThisHostnameInstead, walFactory, walFs, walRoller, zooKeeper</code></li>
+<code>cacheConfig, cacheFlusher, CLOSE, clusterConnection, clusterStatusTracker, compactedFileDischarger, compactionChecker, compactSplitThread, conf, configurationManager, csm, DEFAULT_REGION_LOCK_AWAIT_TIME_SEC, fs, fsOk, fsUtilizationChore, hMemManager, infoServer, initLatch, killed, leases, lock, MASTER_HOSTNAME_KEY, metaTableLocator, metricsRegionServer, metricsTable, mobCacheConfig, movedRegions, msgInterval, nonceManager, numRegionsToReport, numRetries, online, onlineRegions, OPEN, periodicFlusher, recoveringRegions, REGION_LOCK_AWAIT_TIME_SEC, regionFavoredNodesMap, REGIONSERVER, regionsInTransitionInRS, replicationSinkHandler, replicationSourceHandler, rowlocks, rpcClient, rpcServices, RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY, RS_HOSTNAME_KEY, secureBulkLoadManager, serverName, service, sleeper, startcode, tableDescriptors, TEST_SKIP_REPORTING_TRANSITION, threadWakeFrequency, useThisHostnameInstead, walFactory, walFs, walRoller, zooKeeper</code></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.MyMaster.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.MyMaster.html b/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.MyMaster.html
index 4ca83eb..f5e818a 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.MyMaster.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.MyMaster.html
@@ -187,7 +187,7 @@ extends org.apache.hadoop.hbase.master.HMaster</pre>
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.regionserver.HRegionServer</h3>
-<code>cacheConfig, cacheFlusher, CLOSE, clusterConnection, clusterStatusTracker, compactedFileDischarger, compactionChecker, compactSplitThread, conf, configurationManager, csm, DEFAULT_REGION_LOCK_AWAIT_TIME_SEC, fs, fsOk, fsUtilizationChore, hMemManager, infoServer, initLatch, killed, leases, lock, MASTER_HOSTNAME_KEY, metaTableLocator, metricsRegionServer, metricsTable, mobCacheConfig, movedRegions, msgInterval, nonceManager, numRegionsToReport, numRetries, online, onlineRegions, OPEN, periodicFlusher, recoveringRegions, REGION_LOCK_AWAIT_TIME_SEC, regionFavoredNodesMap, REGIONSERVER, regionsInTransitionInRS, replicationSinkHandler, replicationSourceHandler, rowlocks, rpcClient, rpcServices, RS_HOSTNAME_KEY, secureBulkLoadManager, serverName, service, sleeper, startcode, tableDescriptors, TEST_SKIP_REPORTING_TRANSITION, threadWakeFrequency, useThisHostnameInstead, walFactory, walFs, walRoller, zooKeeper</code></li>
+<code>cacheConfig, cacheFlusher, CLOSE, clusterConnection, clusterStatusTracker, compactedFileDischarger, compactionChecker, compactSplitThread, conf, configurationManager, csm, DEFAULT_REGION_LOCK_AWAIT_TIME_SEC, fs, fsOk, fsUtilizationChore, hMemManager, infoServer, initLatch, killed, leases, lock, MASTER_HOSTNAME_KEY, metaTableLocator, metricsRegionServer, metricsTable, mobCacheConfig, movedRegions, msgInterval, nonceManager, numRegionsToReport, numRetries, online, onlineRegions, OPEN, periodicFlusher, recoveringRegions, REGION_LOCK_AWAIT_TIME_SEC, regionFavoredNodesMap, REGIONSERVER, regionsInTransitionInRS, replicationSinkHandler, replicationSourceHandler, rowlocks, rpcClient, rpcServices, RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY, RS_HOSTNAME_KEY, secureBulkLoadManager, serverName, service, sleeper, startcode, tableDescriptors, TEST_SKIP_REPORTING_TRANSITION, threadWakeFrequency, useThisHostnameInstead, walFactory, walFs, walRoller, zooKeeper</code></li>
 </ul>
 </li>
 </ul>


[26/26] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.


Project: http://git-wip-us.apache.org/repos/asf/hbase-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase-site/commit/fdcfc8d5
Tree: http://git-wip-us.apache.org/repos/asf/hbase-site/tree/fdcfc8d5
Diff: http://git-wip-us.apache.org/repos/asf/hbase-site/diff/fdcfc8d5

Branch: refs/heads/asf-site
Commit: fdcfc8d5b72f143906af9308db61477bca68e395
Parents: 6f716f4
Author: jenkins <bu...@apache.org>
Authored: Wed Jun 21 15:00:31 2017 +0000
Committer: jenkins <bu...@apache.org>
Committed: Wed Jun 21 15:00:31 2017 +0000

----------------------------------------------------------------------
 acid-semantics.html                             |     4 +-
 apache_hbase_reference_guide.pdf                | 23954 +++++++++--------
 apache_hbase_reference_guide.pdfmarks           |     4 +-
 book.html                                       |    15 +
 bulk-loads.html                                 |     4 +-
 checkstyle-aggregate.html                       |   298 +-
 coc.html                                        |     4 +-
 cygwin.html                                     |     4 +-
 dependencies.html                               |     4 +-
 dependency-convergence.html                     |     4 +-
 dependency-info.html                            |     4 +-
 dependency-management.html                      |     4 +-
 devapidocs/constant-values.html                 |    15 +-
 devapidocs/index-all.html                       |    12 +-
 .../hadoop/hbase/backup/package-tree.html       |     4 +-
 .../org/apache/hadoop/hbase/class-use/Cell.html |     4 +
 .../hadoop/hbase/class-use/TableName.html       |     2 +-
 .../hbase/classification/package-tree.html      |     4 +-
 .../hbase/client/class-use/Connection.html      |    26 +-
 .../hadoop/hbase/client/class-use/Scan.html     |    10 +-
 .../hadoop/hbase/client/package-tree.html       |    26 +-
 .../hadoop/hbase/filter/package-tree.html       |     6 +-
 .../hadoop/hbase/io/hfile/package-tree.html     |     6 +-
 .../hadoop/hbase/mapreduce/package-tree.html    |     2 +-
 .../hadoop/hbase/master/package-tree.html       |     6 +-
 .../hbase/master/procedure/package-tree.html    |     2 +-
 .../org/apache/hadoop/hbase/package-tree.html   |    12 +-
 .../hadoop/hbase/procedure2/package-tree.html   |     4 +-
 .../QuotaTableUtil.NamespaceQuotasVisitor.html  |     4 +-
 .../quotas/QuotaTableUtil.QuotasVisitor.html    |     2 +-
 .../QuotaTableUtil.TableQuotasVisitor.html      |     4 +-
 .../QuotaTableUtil.UserQuotasVisitor.html       |     8 +-
 .../hadoop/hbase/quotas/QuotaTableUtil.html     |   328 +-
 .../apache/hadoop/hbase/quotas/QuotaUtil.html   |     2 +-
 .../hadoop/hbase/quotas/package-tree.html       |    10 +-
 .../HRegionServer.CompactionChecker.html        |    14 +-
 .../HRegionServer.MovedRegionInfo.html          |    16 +-
 .../HRegionServer.MovedRegionsCleaner.html      |    16 +-
 .../HRegionServer.PeriodicMemstoreFlusher.html  |    12 +-
 .../hbase/regionserver/HRegionServer.html       |   451 +-
 .../hadoop/hbase/regionserver/package-tree.html |    14 +-
 .../regionserver/querymatcher/package-tree.html |     4 +-
 .../replication/regionserver/package-tree.html  |     2 +-
 .../hadoop/hbase/rest/model/package-tree.html   |     2 +-
 .../hbase/security/access/package-tree.html     |     4 +-
 .../hadoop/hbase/security/package-tree.html     |     2 +-
 .../hadoop/hbase/thrift/package-tree.html       |     2 +-
 .../tmpl/master/MasterStatusTmpl.ImplData.html  |   240 +-
 .../hbase/tmpl/master/MasterStatusTmpl.html     |    96 +-
 .../hbase/tmpl/master/MasterStatusTmplImpl.html |    48 +-
 .../regionserver/RSStatusTmpl.ImplData.html     |    90 +-
 .../hbase/tmpl/regionserver/RSStatusTmpl.html   |    36 +-
 .../tmpl/regionserver/RSStatusTmplImpl.html     |    18 +-
 .../apache/hadoop/hbase/util/package-tree.html  |    10 +-
 .../org/apache/hadoop/hbase/Version.html        |     6 +-
 .../QuotaTableUtil.NamespaceQuotasVisitor.html  |  1459 +-
 .../quotas/QuotaTableUtil.QuotasVisitor.html    |  1459 +-
 .../QuotaTableUtil.TableQuotasVisitor.html      |  1459 +-
 .../QuotaTableUtil.UserQuotasVisitor.html       |  1459 +-
 .../hadoop/hbase/quotas/QuotaTableUtil.html     |  1459 +-
 .../hbase/quotas/TableQuotaSnapshotStore.html   |     2 +-
 .../HRegionServer.CompactionChecker.html        |  6389 ++---
 .../HRegionServer.MovedRegionInfo.html          |  6389 ++---
 .../HRegionServer.MovedRegionsCleaner.html      |  6389 ++---
 .../HRegionServer.PeriodicMemstoreFlusher.html  |  6389 ++---
 .../hbase/regionserver/HRegionServer.html       |  6389 ++---
 .../tmpl/master/MasterStatusTmpl.ImplData.html  |   240 +-
 .../tmpl/master/MasterStatusTmpl.Intf.html      |   240 +-
 .../hbase/tmpl/master/MasterStatusTmpl.html     |   240 +-
 .../hbase/tmpl/master/MasterStatusTmplImpl.html |    64 +-
 .../regionserver/RSStatusTmpl.ImplData.html     |    90 +-
 .../tmpl/regionserver/RSStatusTmpl.Intf.html    |    90 +-
 .../hbase/tmpl/regionserver/RSStatusTmpl.html   |    90 +-
 .../tmpl/regionserver/RSStatusTmplImpl.html     |    24 +-
 export_control.html                             |     4 +-
 hbase-annotations/checkstyle.html               |     6 +-
 hbase-annotations/dependencies.html             |     6 +-
 hbase-annotations/dependency-convergence.html   |     6 +-
 hbase-annotations/dependency-info.html          |     6 +-
 hbase-annotations/dependency-management.html    |     6 +-
 hbase-annotations/index.html                    |     6 +-
 hbase-annotations/integration.html              |     6 +-
 hbase-annotations/issue-tracking.html           |     6 +-
 hbase-annotations/license.html                  |     6 +-
 hbase-annotations/mail-lists.html               |     6 +-
 hbase-annotations/plugin-management.html        |     6 +-
 hbase-annotations/plugins.html                  |     6 +-
 hbase-annotations/project-info.html             |     6 +-
 hbase-annotations/project-reports.html          |     6 +-
 hbase-annotations/project-summary.html          |     6 +-
 hbase-annotations/source-repository.html        |     6 +-
 hbase-annotations/team-list.html                |     6 +-
 hbase-archetypes/dependencies.html              |     6 +-
 hbase-archetypes/dependency-convergence.html    |     6 +-
 hbase-archetypes/dependency-info.html           |     6 +-
 hbase-archetypes/dependency-management.html     |     6 +-
 .../hbase-archetype-builder/dependencies.html   |     6 +-
 .../dependency-convergence.html                 |     6 +-
 .../dependency-info.html                        |     6 +-
 .../dependency-management.html                  |     6 +-
 .../hbase-archetype-builder/index.html          |     6 +-
 .../hbase-archetype-builder/integration.html    |     6 +-
 .../hbase-archetype-builder/issue-tracking.html |     6 +-
 .../hbase-archetype-builder/license.html        |     6 +-
 .../hbase-archetype-builder/mail-lists.html     |     6 +-
 .../plugin-management.html                      |     6 +-
 .../hbase-archetype-builder/plugins.html        |     6 +-
 .../hbase-archetype-builder/project-info.html   |     6 +-
 .../project-summary.html                        |     6 +-
 .../source-repository.html                      |     6 +-
 .../hbase-archetype-builder/team-list.html      |     6 +-
 .../hbase-client-project/checkstyle.html        |     6 +-
 .../hbase-client-project/dependencies.html      |     6 +-
 .../dependency-convergence.html                 |     6 +-
 .../hbase-client-project/dependency-info.html   |     6 +-
 .../dependency-management.html                  |     6 +-
 .../hbase-client-project/index.html             |     6 +-
 .../hbase-client-project/integration.html       |     6 +-
 .../hbase-client-project/issue-tracking.html    |     6 +-
 .../hbase-client-project/license.html           |     6 +-
 .../hbase-client-project/mail-lists.html        |     6 +-
 .../hbase-client-project/plugin-management.html |     6 +-
 .../hbase-client-project/plugins.html           |     6 +-
 .../hbase-client-project/project-info.html      |     6 +-
 .../hbase-client-project/project-reports.html   |     6 +-
 .../hbase-client-project/project-summary.html   |     6 +-
 .../hbase-client-project/source-repository.html |     6 +-
 .../hbase-client-project/team-list.html         |     6 +-
 .../hbase-shaded-client-project/checkstyle.html |     6 +-
 .../dependencies.html                           |     6 +-
 .../dependency-convergence.html                 |     6 +-
 .../dependency-info.html                        |     6 +-
 .../dependency-management.html                  |     6 +-
 .../hbase-shaded-client-project/index.html      |     6 +-
 .../integration.html                            |     6 +-
 .../issue-tracking.html                         |     6 +-
 .../hbase-shaded-client-project/license.html    |     6 +-
 .../hbase-shaded-client-project/mail-lists.html |     6 +-
 .../plugin-management.html                      |     6 +-
 .../hbase-shaded-client-project/plugins.html    |     6 +-
 .../project-info.html                           |     6 +-
 .../project-reports.html                        |     6 +-
 .../project-summary.html                        |     6 +-
 .../source-repository.html                      |     6 +-
 .../hbase-shaded-client-project/team-list.html  |     6 +-
 hbase-archetypes/index.html                     |     6 +-
 hbase-archetypes/integration.html               |     6 +-
 hbase-archetypes/issue-tracking.html            |     6 +-
 hbase-archetypes/license.html                   |     6 +-
 hbase-archetypes/mail-lists.html                |     6 +-
 hbase-archetypes/plugin-management.html         |     6 +-
 hbase-archetypes/plugins.html                   |     6 +-
 hbase-archetypes/project-info.html              |     6 +-
 hbase-archetypes/project-summary.html           |     6 +-
 hbase-archetypes/source-repository.html         |     6 +-
 hbase-archetypes/team-list.html                 |     6 +-
 hbase-spark/checkstyle.html                     |     6 +-
 hbase-spark/dependencies.html                   |     8 +-
 hbase-spark/dependency-convergence.html         |     6 +-
 hbase-spark/dependency-info.html                |     6 +-
 hbase-spark/dependency-management.html          |     6 +-
 hbase-spark/index.html                          |     6 +-
 hbase-spark/integration.html                    |     6 +-
 hbase-spark/issue-tracking.html                 |     6 +-
 hbase-spark/license.html                        |     6 +-
 hbase-spark/mail-lists.html                     |     6 +-
 hbase-spark/plugin-management.html              |     6 +-
 hbase-spark/plugins.html                        |     6 +-
 hbase-spark/project-info.html                   |     6 +-
 hbase-spark/project-reports.html                |     6 +-
 hbase-spark/project-summary.html                |     6 +-
 hbase-spark/source-repository.html              |     6 +-
 hbase-spark/team-list.html                      |     6 +-
 index.html                                      |     4 +-
 integration.html                                |     4 +-
 issue-tracking.html                             |     4 +-
 license.html                                    |     4 +-
 mail-lists.html                                 |     4 +-
 metrics.html                                    |     4 +-
 old_news.html                                   |     4 +-
 plugin-management.html                          |     4 +-
 plugins.html                                    |     4 +-
 poweredbyhbase.html                             |     4 +-
 project-info.html                               |     4 +-
 project-reports.html                            |     4 +-
 project-summary.html                            |     4 +-
 pseudo-distributed.html                         |     4 +-
 replication.html                                |     4 +-
 resources.html                                  |     4 +-
 source-repository.html                          |     4 +-
 sponsors.html                                   |     4 +-
 supportingprojects.html                         |     4 +-
 team-list.html                                  |     4 +-
 testdevapidocs/index-all.html                   |     6 +-
 .../hbase/class-use/HBaseTestingUtility.html    |    92 +-
 .../org/apache/hadoop/hbase/package-tree.html   |     8 +-
 .../hadoop/hbase/procedure2/package-tree.html   |     2 +-
 .../quotas/TestSpaceQuotasWithSnapshots.html    |    12 +-
 .../hbase/regionserver/OOMERegionServer.html    |     2 +-
 ...onInDeadRegionServer.IgnoreYouAreDeadRS.html |     2 +-
 ...Initializing.RegisterAndDieRegionServer.html |     2 +-
 ...egionMergeTransactionOnCluster.MyMaster.html |     2 +-
 .../regionserver/TestRegionServerHostname.html  |    67 +-
 ...egionServerReportForDuty.MyRegionServer.html |     2 +-
 ...eartbeatMessages.HeartbeatHRegionServer.html |     2 +-
 .../TestSplitTransactionOnCluster.MyMaster.html |     2 +-
 .../hadoop/hbase/regionserver/package-tree.html |     4 +-
 .../apache/hadoop/hbase/test/package-tree.html  |     2 +-
 .../apache/hadoop/hbase/wal/package-tree.html   |     2 +-
 .../quotas/TestSpaceQuotasWithSnapshots.html    |   550 +-
 .../regionserver/TestRegionServerHostname.html  |   214 +-
 211 files changed, 34231 insertions(+), 33621 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/acid-semantics.html
----------------------------------------------------------------------
diff --git a/acid-semantics.html b/acid-semantics.html
index 13a3a4b..b36c74f 100644
--- a/acid-semantics.html
+++ b/acid-semantics.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="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Apache HBase (TM) ACID Properties
@@ -606,7 +606,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: 2017-06-20</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-06-21</li>
             </p>
                 </div>
 


[22/26] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html b/devapidocs/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html
index d08d46c..91e8a39 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":9,"i28":9,"i29":9,"i30":9,"i31":9,"i32":9,"i33":9,"i34":9,"i35":9,"i36":9,"i37":9,"i38":9,"i39":9,"i40":9,"i41":9,"i42":9,"i43":9,"i44":9,"i45":9,"i46":9,"i47":9,"i48":9,"i49":9,"i50":9,"i51":9,"i52":9,"i53":9,"i54":9,"i55":9,"i56":9,"i57":9,"i58":9,"i59":9,"i60":9,"i61":9,"i62":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":9,"i28":9,"i29":9,"i30":9,"i31":9,"i32":9,"i33":9,"i34":9,"i35":9,"i36":9,"i37":9,"i38":9,"i39":9,"i40":9,"i41":9,"i42":9,"i43":9,"i44":9,"i45":9,"i46":9,"i47":9,"i48":9,"i49":9,"i50":9,"i51":9,"i52":9,"i53":9,"i54":9,"i55":9,"i56":9,"i57":9,"i58":9,"i59":9,"i60":9,"i61":9,"i62":9,"i63":9,"i64":9,"i65":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -115,7 +115,7 @@ var activeTableTab = "activeTableTab";
 <br>
 <pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
  <a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceStability.Evolving.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceStability.Evolving</a>
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.89">QuotaTableUtil</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.90">QuotaTableUtil</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Helper class to interact with the quota table.
  <table>
@@ -293,19 +293,23 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>(package private) static <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#createScanForSnapshotSizes-org.apache.hadoop.hbase.TableName-">createScanForSnapshotSizes</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#createScanForSpaceSnapshotSizes--">createScanForSpaceSnapshotSizes</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i5" class="rowColor">
+<td class="colFirst"><code>(package private) static <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#createScanForSpaceSnapshotSizes-org.apache.hadoop.hbase.TableName-">createScanForSpaceSnapshotSizes</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>protected static <a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#doGet-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.client.Get-">doGet</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
      <a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get)</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>protected static <a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#doGet-org.apache.hadoop.hbase.client.Connection-java.util.List-">doGet</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
      <a href="http://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/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&gt;&nbsp;gets)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#extractQuotaSnapshot-org.apache.hadoop.hbase.client.Result-java.util.Map-">extractQuotaSnapshot</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;result,
                     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshot.html" title="class in org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshot</a>&gt;&nbsp;snapshots)</code>
@@ -313,13 +317,17 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
  <a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client"><code>Result</code></a> and adds them to the given <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util"><code>Map</code></a>.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>protected static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#extractSnapshotNameFromSizeCell-org.apache.hadoop.hbase.Cell-">extractSnapshotNameFromSizeCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>protected static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#extractSnapshotSize-byte:A-int-int-">extractSnapshotSize</a></span>(byte[]&nbsp;data,
                    int&nbsp;offset,
                    int&nbsp;length)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshot.html" title="class in org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshot</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getCurrentSnapshot-org.apache.hadoop.hbase.client.Connection-java.lang.String-">getCurrentSnapshot</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn,
                   <a href="http://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)</code>
@@ -327,7 +335,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
  Master has no quota information on that namespace.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshot.html" title="class in org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshot</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getCurrentSnapshot-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-">getCurrentSnapshot</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn,
                   <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn)</code>
@@ -335,259 +343,265 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
  Master has no quota information on that table.</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getMasterReportedTableSizes-org.apache.hadoop.hbase.client.Connection-">getMasterReportedTableSizes</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn)</code>
 <div class="block">Fetches the table sizes on the filesystem as tracked by the HBase Master.</div>
 </td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>protected static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getNamespaceFromRowKey-byte:A-">getNamespaceFromRowKey</a></span>(byte[]&nbsp;key)</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>static org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getNamespaceQuota-org.apache.hadoop.hbase.client.Connection-java.lang.String-">getNamespaceQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                  <a href="http://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)</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>protected static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getNamespaceRowKey-java.lang.String-">getNamespaceRowKey</a></span>(<a href="http://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)</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>protected static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getNamespaceRowKeyRegex-java.lang.String-">getNamespaceRowKeyRegex</a></span>(<a href="http://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)</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>(package private) static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getNamespaceSnapshotSize-org.apache.hadoop.hbase.client.Connection-java.lang.String-">getNamespaceSnapshotSize</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn,
                         <a href="http://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)</code>
 <div class="block">Fetches the computed size of all snapshots against tables in a namespace for space quotas.</div>
 </td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getObservedSnapshotSizes-org.apache.hadoop.hbase.client.Connection-">getObservedSnapshotSizes</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn)</code>
+<div class="block">Fetches any persisted HBase snapshot sizes stored in the quota table.</div>
+</td>
+</tr>
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>protected static org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getProtoViolationPolicy-org.apache.hadoop.hbase.quotas.SpaceViolationPolicy-">getProtoViolationPolicy</a></span>(<a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceViolationPolicy.html" title="enum in org.apache.hadoop.hbase.quotas">SpaceViolationPolicy</a>&nbsp;policy)</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>private static org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getQuotas-org.apache.hadoop.hbase.client.Connection-byte:A-">getQuotas</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
          byte[]&nbsp;rowKey)</code>&nbsp;</td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>private static org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getQuotas-org.apache.hadoop.hbase.client.Connection-byte:A-byte:A-">getQuotas</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
          byte[]&nbsp;rowKey,
          byte[]&nbsp;qualifier)</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshot.html" title="class in org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshot</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getRegionServerQuotaSnapshots-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.ServerName-">getRegionServerQuotaSnapshots</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn,
                              <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;regionServer)</code>
 <div class="block">Fetches the observed <a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshot.html" title="class in org.apache.hadoop.hbase.quotas"><code>SpaceQuotaSnapshot</code></a>s observed by a RegionServer.</div>
 </td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>private static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getRowKeyRegEx-byte:A-java.lang.String-">getRowKeyRegEx</a></span>(byte[]&nbsp;prefix,
               <a href="http://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)</code>&nbsp;</td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>protected static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getSettingsQualifierForUserNamespace-java.lang.String-">getSettingsQualifierForUserNamespace</a></span>(<a href="http://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)</code>&nbsp;</td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code>protected static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getSettingsQualifierForUserTable-org.apache.hadoop.hbase.TableName-">getSettingsQualifierForUserTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code>protected static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getSettingsQualifierRegexForUserNamespace-java.lang.String-">getSettingsQualifierRegexForUserNamespace</a></span>(<a href="http://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)</code>&nbsp;</td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>protected static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getSettingsQualifierRegexForUserTable-java.lang.String-">getSettingsQualifierRegexForUserTable</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;table)</code>&nbsp;</td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshot.html" title="class in org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshot</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getSnapshots-org.apache.hadoop.hbase.client.Connection-">getSnapshots</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn)</code>
 <div class="block">Fetches all <a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshot.html" title="class in org.apache.hadoop.hbase.quotas"><code>SpaceQuotaSnapshot</code></a> objects from the <code>hbase:quota</code> table.</div>
 </td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><code>protected static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getSnapshotSizeQualifier-java.lang.String-">getSnapshotSizeQualifier</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;snapshotName)</code>&nbsp;</td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code>protected static <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getTableFromRowKey-byte:A-">getTableFromRowKey</a></span>(byte[]&nbsp;key)</code>&nbsp;</td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code>static org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getTableQuota-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-">getTableQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
              <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>&nbsp;</td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i33" class="rowColor">
 <td class="colFirst"><code>protected static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getTableRowKey-org.apache.hadoop.hbase.TableName-">getTableRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>&nbsp;</td>
 </tr>
-<tr id="i31" class="rowColor">
+<tr id="i34" class="altColor">
 <td class="colFirst"><code>protected static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getTableRowKeyRegex-java.lang.String-">getTableRowKeyRegex</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;table)</code>&nbsp;</td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i35" class="rowColor">
 <td class="colFirst"><code>protected static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getUserFromRowKey-byte:A-">getUserFromRowKey</a></span>(byte[]&nbsp;key)</code>&nbsp;</td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i36" class="altColor">
 <td class="colFirst"><code>static org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getUserQuota-org.apache.hadoop.hbase.client.Connection-java.lang.String-">getUserQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user)</code>&nbsp;</td>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i37" class="rowColor">
 <td class="colFirst"><code>static org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getUserQuota-org.apache.hadoop.hbase.client.Connection-java.lang.String-java.lang.String-">getUserQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
             <a href="http://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)</code>&nbsp;</td>
 </tr>
-<tr id="i35" class="rowColor">
+<tr id="i38" class="altColor">
 <td class="colFirst"><code>static org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getUserQuota-org.apache.hadoop.hbase.client.Connection-java.lang.String-org.apache.hadoop.hbase.TableName-">getUserQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
             <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>&nbsp;</td>
 </tr>
-<tr id="i36" class="altColor">
+<tr id="i39" class="rowColor">
 <td class="colFirst"><code>protected static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getUserRowKey-java.lang.String-">getUserRowKey</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user)</code>&nbsp;</td>
 </tr>
-<tr id="i37" class="rowColor">
+<tr id="i40" class="altColor">
 <td class="colFirst"><code>protected static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getUserRowKeyRegex-java.lang.String-">getUserRowKeyRegex</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user)</code>&nbsp;</td>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i41" class="rowColor">
 <td class="colFirst"><code>protected static <a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceViolationPolicy.html" title="enum in org.apache.hadoop.hbase.quotas">SpaceViolationPolicy</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getViolationPolicy-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota-">getViolationPolicy</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota&nbsp;proto)</code>&nbsp;</td>
 </tr>
-<tr id="i39" class="rowColor">
+<tr id="i42" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#isEmptyQuota-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">isEmptyQuota</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
 </tr>
-<tr id="i40" class="altColor">
+<tr id="i43" class="rowColor">
 <td class="colFirst"><code>protected static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#isNamespaceRowKey-byte:A-">isNamespaceRowKey</a></span>(byte[]&nbsp;key)</code>&nbsp;</td>
 </tr>
-<tr id="i41" class="rowColor">
+<tr id="i44" class="altColor">
 <td class="colFirst"><code>protected static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#isTableRowKey-byte:A-">isTableRowKey</a></span>(byte[]&nbsp;key)</code>&nbsp;</td>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i45" class="rowColor">
 <td class="colFirst"><code>protected static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#isUserRowKey-byte:A-">isUserRowKey</a></span>(byte[]&nbsp;key)</code>&nbsp;</td>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i46" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#makeFilter-org.apache.hadoop.hbase.quotas.QuotaFilter-">makeFilter</a></span>(<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaFilter.html" title="class in org.apache.hadoop.hbase.quotas">QuotaFilter</a>&nbsp;filter)</code>
 <div class="block">converts quotafilter to serializeable filterlists.</div>
 </td>
 </tr>
-<tr id="i44" class="altColor">
+<tr id="i47" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#makeGetForNamespaceQuotas-java.lang.String-">makeGetForNamespaceQuotas</a></span>(<a href="http://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)</code>&nbsp;</td>
 </tr>
-<tr id="i45" class="rowColor">
+<tr id="i48" class="altColor">
 <td class="colFirst"><code>(package private) static <a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#makeGetForSnapshotSize-org.apache.hadoop.hbase.TableName-java.lang.String-">makeGetForSnapshotSize</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn,
                       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;snapshot)</code>
 <div class="block">Creates a <a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client"><code>Get</code></a> for the HBase snapshot's size against the given table.</div>
 </td>
 </tr>
-<tr id="i46" class="altColor">
+<tr id="i49" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#makeGetForTableQuotas-org.apache.hadoop.hbase.TableName-">makeGetForTableQuotas</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>&nbsp;</td>
 </tr>
-<tr id="i47" class="rowColor">
+<tr id="i50" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#makeGetForUserQuotas-java.lang.String-java.lang.Iterable-java.lang.Iterable-">makeGetForUserQuotas</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tables,
                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;namespaces)</code>&nbsp;</td>
 </tr>
-<tr id="i48" class="altColor">
+<tr id="i51" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#makeQuotaSnapshotScan--">makeQuotaSnapshotScan</a></span>()</code>
 <div class="block">Creates a <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client"><code>Scan</code></a> which returns only quota snapshots from the quota table.</div>
 </td>
 </tr>
-<tr id="i49" class="rowColor">
+<tr id="i52" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#makeQuotaSnapshotScanForTable-org.apache.hadoop.hbase.TableName-">makeQuotaSnapshotScanForTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn)</code>
 <div class="block">Creates a <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client"><code>Scan</code></a> which returns only <a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshot.html" title="class in org.apache.hadoop.hbase.quotas"><code>SpaceQuotaSnapshot</code></a> from the quota table for a
  specific table.</div>
 </td>
 </tr>
-<tr id="i50" class="altColor">
+<tr id="i53" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#makeScan-org.apache.hadoop.hbase.quotas.QuotaFilter-">makeScan</a></span>(<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaFilter.html" title="class in org.apache.hadoop.hbase.quotas">QuotaFilter</a>&nbsp;filter)</code>&nbsp;</td>
 </tr>
-<tr id="i51" class="rowColor">
+<tr id="i54" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#parseNamespaceResult-org.apache.hadoop.hbase.client.Result-org.apache.hadoop.hbase.quotas.QuotaTableUtil.NamespaceQuotasVisitor-">parseNamespaceResult</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;result,
                     <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.NamespaceQuotasVisitor.html" title="interface in org.apache.hadoop.hbase.quotas">QuotaTableUtil.NamespaceQuotasVisitor</a>&nbsp;visitor)</code>&nbsp;</td>
 </tr>
-<tr id="i52" class="altColor">
+<tr id="i55" class="rowColor">
 <td class="colFirst"><code>protected static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#parseNamespaceResult-java.lang.String-org.apache.hadoop.hbase.client.Result-org.apache.hadoop.hbase.quotas.QuotaTableUtil.NamespaceQuotasVisitor-">parseNamespaceResult</a></span>(<a href="http://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="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;result,
                     <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.NamespaceQuotasVisitor.html" title="interface in org.apache.hadoop.hbase.quotas">QuotaTableUtil.NamespaceQuotasVisitor</a>&nbsp;visitor)</code>&nbsp;</td>
 </tr>
-<tr id="i53" class="rowColor">
+<tr id="i56" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#parseResult-org.apache.hadoop.hbase.client.Result-org.apache.hadoop.hbase.quotas.QuotaTableUtil.QuotasVisitor-">parseResult</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;result,
            <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.QuotasVisitor.html" title="interface in org.apache.hadoop.hbase.quotas">QuotaTableUtil.QuotasVisitor</a>&nbsp;visitor)</code>&nbsp;</td>
 </tr>
-<tr id="i54" class="altColor">
+<tr id="i57" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#parseResultToCollection-org.apache.hadoop.hbase.client.Result-java.util.Collection-">parseResultToCollection</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;result,
                        <a href="http://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/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&gt;&nbsp;quotaSettings)</code>&nbsp;</td>
 </tr>
-<tr id="i55" class="rowColor">
+<tr id="i58" class="altColor">
 <td class="colFirst"><code>(package private) static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#parseSnapshotSize-org.apache.hadoop.hbase.Cell-">parseSnapshotSize</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">Parses the snapshot size from the given Cell's value.</div>
 </td>
 </tr>
-<tr id="i56" class="altColor">
+<tr id="i59" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#parseTableResult-org.apache.hadoop.hbase.client.Result-org.apache.hadoop.hbase.quotas.QuotaTableUtil.TableQuotasVisitor-">parseTableResult</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;result,
                 <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.TableQuotasVisitor.html" title="interface in org.apache.hadoop.hbase.quotas">QuotaTableUtil.TableQuotasVisitor</a>&nbsp;visitor)</code>&nbsp;</td>
 </tr>
-<tr id="i57" class="rowColor">
+<tr id="i60" class="altColor">
 <td class="colFirst"><code>protected static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#parseTableResult-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.Result-org.apache.hadoop.hbase.quotas.QuotaTableUtil.TableQuotasVisitor-">parseTableResult</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
                 <a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;result,
                 <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.TableQuotasVisitor.html" title="interface in org.apache.hadoop.hbase.quotas">QuotaTableUtil.TableQuotasVisitor</a>&nbsp;visitor)</code>&nbsp;</td>
 </tr>
-<tr id="i58" class="altColor">
+<tr id="i61" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#parseUserResult-org.apache.hadoop.hbase.client.Result-org.apache.hadoop.hbase.quotas.QuotaTableUtil.UserQuotasVisitor-">parseUserResult</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;result,
                <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.UserQuotasVisitor.html" title="interface in org.apache.hadoop.hbase.quotas">QuotaTableUtil.UserQuotasVisitor</a>&nbsp;visitor)</code>&nbsp;</td>
 </tr>
-<tr id="i59" class="rowColor">
+<tr id="i62" class="altColor">
 <td class="colFirst"><code>protected static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#parseUserResult-java.lang.String-org.apache.hadoop.hbase.client.Result-org.apache.hadoop.hbase.quotas.QuotaTableUtil.UserQuotasVisitor-">parseUserResult</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                <a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;result,
                <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.UserQuotasVisitor.html" title="interface in org.apache.hadoop.hbase.quotas">QuotaTableUtil.UserQuotasVisitor</a>&nbsp;visitor)</code>&nbsp;</td>
 </tr>
-<tr id="i60" class="altColor">
+<tr id="i63" class="rowColor">
 <td class="colFirst"><code>protected static org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#quotasFromData-byte:A-">quotasFromData</a></span>(byte[]&nbsp;data)</code>&nbsp;</td>
 </tr>
-<tr id="i61" class="rowColor">
+<tr id="i64" class="altColor">
 <td class="colFirst"><code>protected static org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#quotasFromData-byte:A-int-int-">quotasFromData</a></span>(byte[]&nbsp;data,
               int&nbsp;offset,
               int&nbsp;length)</code>&nbsp;</td>
 </tr>
-<tr id="i62" class="altColor">
+<tr id="i65" class="rowColor">
 <td class="colFirst"><code>protected static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#quotasToData-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">quotasToData</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;data)</code>&nbsp;</td>
 </tr>
@@ -619,7 +633,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.90">LOG</a></pre>
+<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.91">LOG</a></pre>
 </li>
 </ul>
 <a name="QUOTA_TABLE_NAME">
@@ -628,7 +642,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>QUOTA_TABLE_NAME</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.93">QUOTA_TABLE_NAME</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.94">QUOTA_TABLE_NAME</a></pre>
 <div class="block">System table for quotas</div>
 </li>
 </ul>
@@ -638,7 +652,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>QUOTA_FAMILY_INFO</h4>
-<pre>protected static final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.96">QUOTA_FAMILY_INFO</a></pre>
+<pre>protected static final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.97">QUOTA_FAMILY_INFO</a></pre>
 </li>
 </ul>
 <a name="QUOTA_FAMILY_USAGE">
@@ -647,7 +661,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>QUOTA_FAMILY_USAGE</h4>
-<pre>protected static final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.97">QUOTA_FAMILY_USAGE</a></pre>
+<pre>protected static final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.98">QUOTA_FAMILY_USAGE</a></pre>
 </li>
 </ul>
 <a name="QUOTA_QUALIFIER_SETTINGS">
@@ -656,7 +670,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>QUOTA_QUALIFIER_SETTINGS</h4>
-<pre>protected static final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.98">QUOTA_QUALIFIER_SETTINGS</a></pre>
+<pre>protected static final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.99">QUOTA_QUALIFIER_SETTINGS</a></pre>
 </li>
 </ul>
 <a name="QUOTA_QUALIFIER_SETTINGS_PREFIX">
@@ -665,7 +679,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>QUOTA_QUALIFIER_SETTINGS_PREFIX</h4>
-<pre>protected static final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.99">QUOTA_QUALIFIER_SETTINGS_PREFIX</a></pre>
+<pre>protected static final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.100">QUOTA_QUALIFIER_SETTINGS_PREFIX</a></pre>
 </li>
 </ul>
 <a name="QUOTA_QUALIFIER_POLICY">
@@ -674,7 +688,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>QUOTA_QUALIFIER_POLICY</h4>
-<pre>protected static final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.100">QUOTA_QUALIFIER_POLICY</a></pre>
+<pre>protected static final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.101">QUOTA_QUALIFIER_POLICY</a></pre>
 </li>
 </ul>
 <a name="QUOTA_SNAPSHOT_SIZE_QUALIFIER">
@@ -683,7 +697,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>QUOTA_SNAPSHOT_SIZE_QUALIFIER</h4>
-<pre>protected static final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.101">QUOTA_SNAPSHOT_SIZE_QUALIFIER</a></pre>
+<pre>protected static final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.102">QUOTA_SNAPSHOT_SIZE_QUALIFIER</a></pre>
 </li>
 </ul>
 <a name="QUOTA_POLICY_COLUMN">
@@ -692,7 +706,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>QUOTA_POLICY_COLUMN</h4>
-<pre>protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.102">QUOTA_POLICY_COLUMN</a></pre>
+<pre>protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.103">QUOTA_POLICY_COLUMN</a></pre>
 </li>
 </ul>
 <a name="QUOTA_USER_ROW_KEY_PREFIX">
@@ -701,7 +715,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>QUOTA_USER_ROW_KEY_PREFIX</h4>
-<pre>protected static final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.104">QUOTA_USER_ROW_KEY_PREFIX</a></pre>
+<pre>protected static final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.105">QUOTA_USER_ROW_KEY_PREFIX</a></pre>
 </li>
 </ul>
 <a name="QUOTA_TABLE_ROW_KEY_PREFIX">
@@ -710,7 +724,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>QUOTA_TABLE_ROW_KEY_PREFIX</h4>
-<pre>protected static final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.105">QUOTA_TABLE_ROW_KEY_PREFIX</a></pre>
+<pre>protected static final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.106">QUOTA_TABLE_ROW_KEY_PREFIX</a></pre>
 </li>
 </ul>
 <a name="QUOTA_NAMESPACE_ROW_KEY_PREFIX">
@@ -719,7 +733,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>QUOTA_NAMESPACE_ROW_KEY_PREFIX</h4>
-<pre>protected static final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.106">QUOTA_NAMESPACE_ROW_KEY_PREFIX</a></pre>
+<pre>protected static final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.107">QUOTA_NAMESPACE_ROW_KEY_PREFIX</a></pre>
 </li>
 </ul>
 </li>
@@ -736,7 +750,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>QuotaTableUtil</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.89">QuotaTableUtil</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.90">QuotaTableUtil</a>()</pre>
 </li>
 </ul>
 </li>
@@ -753,7 +767,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableQuota</h4>
-<pre>public static&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.111">getTableQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
+<pre>public static&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.112">getTableQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                                                                                                  <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)
                                                                                           throws <a href="http://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>
@@ -768,7 +782,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getNamespaceQuota</h4>
-<pre>public static&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.116">getNamespaceQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
+<pre>public static&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.117">getNamespaceQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                                                                                                      <a href="http://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)
                                                                                               throws <a href="http://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>
@@ -783,7 +797,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getUserQuota</h4>
-<pre>public static&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.121">getUserQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
+<pre>public static&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.122">getUserQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                                                                                                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user)
                                                                                          throws <a href="http://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>
@@ -798,7 +812,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getUserQuota</h4>
-<pre>public static&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.126">getUserQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
+<pre>public static&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.127">getUserQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                                                                                                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
                                                                                                 <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)
                                                                                          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -814,7 +828,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getUserQuota</h4>
-<pre>public static&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.131">getUserQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
+<pre>public static&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.132">getUserQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                                                                                                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
                                                                                                 <a href="http://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)
                                                                                          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -830,7 +844,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getQuotas</h4>
-<pre>private static&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.137">getQuotas</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
+<pre>private static&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.138">getQuotas</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                                                                                               byte[]&nbsp;rowKey)
                                                                                        throws <a href="http://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>
@@ -845,7 +859,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getQuotas</h4>
-<pre>private static&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.142">getQuotas</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
+<pre>private static&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.143">getQuotas</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                                                                                               byte[]&nbsp;rowKey,
                                                                                               byte[]&nbsp;qualifier)
                                                                                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -861,7 +875,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>makeGetForTableQuotas</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.153">makeGetForTableQuotas</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.154">makeGetForTableQuotas</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</pre>
 </li>
 </ul>
 <a name="makeGetForNamespaceQuotas-java.lang.String-">
@@ -870,7 +884,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>makeGetForNamespaceQuotas</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.159">makeGetForNamespaceQuotas</a>(<a href="http://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>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.160">makeGetForNamespaceQuotas</a>(<a href="http://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>
 </li>
 </ul>
 <a name="makeGetForUserQuotas-java.lang.String-java.lang.Iterable-java.lang.Iterable-">
@@ -879,7 +893,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>makeGetForUserQuotas</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.165">makeGetForUserQuotas</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.166">makeGetForUserQuotas</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
                                        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tables,
                                        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;namespaces)</pre>
 </li>
@@ -890,7 +904,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>makeScan</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.178">makeScan</a>(<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaFilter.html" title="class in org.apache.hadoop.hbase.quotas">QuotaFilter</a>&nbsp;filter)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.179">makeScan</a>(<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaFilter.html" title="class in org.apache.hadoop.hbase.quotas">QuotaFilter</a>&nbsp;filter)</pre>
 </li>
 </ul>
 <a name="makeFilter-org.apache.hadoop.hbase.quotas.QuotaFilter-">
@@ -899,7 +913,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>makeFilter</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.190">makeFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaFilter.html" title="class in org.apache.hadoop.hbase.quotas">QuotaFilter</a>&nbsp;filter)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.191">makeFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaFilter.html" title="class in org.apache.hadoop.hbase.quotas">QuotaFilter</a>&nbsp;filter)</pre>
 <div class="block">converts quotafilter to serializeable filterlists.</div>
 </li>
 </ul>
@@ -909,7 +923,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>makeQuotaSnapshotScan</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.235">makeQuotaSnapshotScan</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.236">makeQuotaSnapshotScan</a>()</pre>
 <div class="block">Creates a <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client"><code>Scan</code></a> which returns only quota snapshots from the quota table.</div>
 </li>
 </ul>
@@ -919,7 +933,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getSnapshots</h4>
-<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshot.html" title="class in org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshot</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.245">getSnapshots</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn)
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshot.html" title="class in org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshot</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.246">getSnapshots</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn)
                                                       throws <a href="http://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">Fetches all <a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshot.html" title="class in org.apache.hadoop.hbase.quotas"><code>SpaceQuotaSnapshot</code></a> objects from the <code>hbase:quota</code> table.</div>
 <dl>
@@ -938,7 +952,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>makeQuotaSnapshotScanForTable</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.261">makeQuotaSnapshotScanForTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.262">makeQuotaSnapshotScanForTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn)</pre>
 <div class="block">Creates a <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client"><code>Scan</code></a> which returns only <a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshot.html" title="class in org.apache.hadoop.hbase.quotas"><code>SpaceQuotaSnapshot</code></a> from the quota table for a
  specific table.</div>
 <dl>
@@ -953,7 +967,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>extractQuotaSnapshot</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.284">extractQuotaSnapshot</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;result,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.285">extractQuotaSnapshot</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;result,
                                         <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshot.html" title="class in org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshot</a>&gt;&nbsp;snapshots)</pre>
 <div class="block">Extracts the <a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceViolationPolicy.html" title="enum in org.apache.hadoop.hbase.quotas"><code>SpaceViolationPolicy</code></a> and <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase"><code>TableName</code></a> from the provided
  <a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client"><code>Result</code></a> and adds them to the given <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util"><code>Map</code></a>. If the result does not contain
@@ -972,7 +986,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>parseResult</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.330">parseResult</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;result,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.331">parseResult</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;result,
                                <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.QuotasVisitor.html" title="interface in org.apache.hadoop.hbase.quotas">QuotaTableUtil.QuotasVisitor</a>&nbsp;visitor)
                         throws <a href="http://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>
@@ -987,7 +1001,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>parseResultToCollection</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.344">parseResultToCollection</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;result,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.345">parseResultToCollection</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;result,
                                            <a href="http://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/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&gt;&nbsp;quotaSettings)
                                     throws <a href="http://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>
@@ -1002,7 +1016,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>parseNamespaceResult</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.375">parseNamespaceResult</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;result,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.376">parseNamespaceResult</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;result,
                                         <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.NamespaceQuotasVisitor.html" title="interface in org.apache.hadoop.hbase.quotas">QuotaTableUtil.NamespaceQuotasVisitor</a>&nbsp;visitor)
                                  throws <a href="http://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>
@@ -1017,7 +1031,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>parseNamespaceResult</h4>
-<pre>protected static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.381">parseNamespaceResult</a>(<a href="http://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>protected static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.382">parseNamespaceResult</a>(<a href="http://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="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;result,
                                            <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.NamespaceQuotasVisitor.html" title="interface in org.apache.hadoop.hbase.quotas">QuotaTableUtil.NamespaceQuotasVisitor</a>&nbsp;visitor)
                                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1033,7 +1047,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>parseTableResult</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.390">parseTableResult</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;result,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.391">parseTableResult</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;result,
                                     <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.TableQuotasVisitor.html" title="interface in org.apache.hadoop.hbase.quotas">QuotaTableUtil.TableQuotasVisitor</a>&nbsp;visitor)
                              throws <a href="http://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>
@@ -1048,7 +1062,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>parseTableResult</h4>
-<pre>protected static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.396">parseTableResult</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
+<pre>protected static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.397">parseTableResult</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
                                        <a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;result,
                                        <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.TableQuotasVisitor.html" title="interface in org.apache.hadoop.hbase.quotas">QuotaTableUtil.TableQuotasVisitor</a>&nbsp;visitor)
                                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1064,7 +1078,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>parseUserResult</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.405">parseUserResult</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;result,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.406">parseUserResult</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;result,
                                    <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.UserQuotasVisitor.html" title="interface in org.apache.hadoop.hbase.quotas">QuotaTableUtil.UserQuotasVisitor</a>&nbsp;visitor)
                             throws <a href="http://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>
@@ -1079,7 +1093,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>parseUserResult</h4>
-<pre>protected static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.411">parseUserResult</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+<pre>protected static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.412">parseUserResult</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                                       <a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;result,
                                       <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.UserQuotasVisitor.html" title="interface in org.apache.hadoop.hbase.quotas">QuotaTableUtil.UserQuotasVisitor</a>&nbsp;visitor)
                                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1095,7 +1109,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>createPutForSpaceSnapshot</h4>
-<pre>static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.437">createPutForSpaceSnapshot</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase

<TRUNCATED>

[08/26] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html
index e1e4110..c46e8c5 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html
@@ -458,3282 +458,3297 @@
 <span class="sourceLineNo">450</span>  @InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CONFIG)<a name="line.450"></a>
 <span class="sourceLineNo">451</span>  protected final static String MASTER_HOSTNAME_KEY = "hbase.master.hostname";<a name="line.451"></a>
 <span class="sourceLineNo">452</span><a name="line.452"></a>
-<span class="sourceLineNo">453</span>  /**<a name="line.453"></a>
-<span class="sourceLineNo">454</span>   * This servers startcode.<a name="line.454"></a>
-<span class="sourceLineNo">455</span>   */<a name="line.455"></a>
-<span class="sourceLineNo">456</span>  protected final long startcode;<a name="line.456"></a>
+<span class="sourceLineNo">453</span>  // HBASE-18226: This config and hbase.regionserver.hostname are mutually exclusive.<a name="line.453"></a>
+<span class="sourceLineNo">454</span>  // Exception will be thrown if both are used.<a name="line.454"></a>
+<span class="sourceLineNo">455</span>  final static String RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY =<a name="line.455"></a>
+<span class="sourceLineNo">456</span>    "hbase.regionserver.hostname.disable.master.reversedns";<a name="line.456"></a>
 <span class="sourceLineNo">457</span><a name="line.457"></a>
 <span class="sourceLineNo">458</span>  /**<a name="line.458"></a>
-<span class="sourceLineNo">459</span>   * Unique identifier for the cluster we are a part of.<a name="line.459"></a>
+<span class="sourceLineNo">459</span>   * This servers startcode.<a name="line.459"></a>
 <span class="sourceLineNo">460</span>   */<a name="line.460"></a>
-<span class="sourceLineNo">461</span>  private String clusterId;<a name="line.461"></a>
+<span class="sourceLineNo">461</span>  protected final long startcode;<a name="line.461"></a>
 <span class="sourceLineNo">462</span><a name="line.462"></a>
 <span class="sourceLineNo">463</span>  /**<a name="line.463"></a>
-<span class="sourceLineNo">464</span>   * MX Bean for RegionServerInfo<a name="line.464"></a>
+<span class="sourceLineNo">464</span>   * Unique identifier for the cluster we are a part of.<a name="line.464"></a>
 <span class="sourceLineNo">465</span>   */<a name="line.465"></a>
-<span class="sourceLineNo">466</span>  private ObjectName mxBean = null;<a name="line.466"></a>
+<span class="sourceLineNo">466</span>  private String clusterId;<a name="line.466"></a>
 <span class="sourceLineNo">467</span><a name="line.467"></a>
 <span class="sourceLineNo">468</span>  /**<a name="line.468"></a>
-<span class="sourceLineNo">469</span>   * Chore to clean periodically the moved region list<a name="line.469"></a>
+<span class="sourceLineNo">469</span>   * MX Bean for RegionServerInfo<a name="line.469"></a>
 <span class="sourceLineNo">470</span>   */<a name="line.470"></a>
-<span class="sourceLineNo">471</span>  private MovedRegionsCleaner movedRegionsCleaner;<a name="line.471"></a>
+<span class="sourceLineNo">471</span>  private ObjectName mxBean = null;<a name="line.471"></a>
 <span class="sourceLineNo">472</span><a name="line.472"></a>
-<span class="sourceLineNo">473</span>  // chore for refreshing store files for secondary regions<a name="line.473"></a>
-<span class="sourceLineNo">474</span>  private StorefileRefresherChore storefileRefresher;<a name="line.474"></a>
-<span class="sourceLineNo">475</span><a name="line.475"></a>
-<span class="sourceLineNo">476</span>  private RegionServerCoprocessorHost rsHost;<a name="line.476"></a>
+<span class="sourceLineNo">473</span>  /**<a name="line.473"></a>
+<span class="sourceLineNo">474</span>   * Chore to clean periodically the moved region list<a name="line.474"></a>
+<span class="sourceLineNo">475</span>   */<a name="line.475"></a>
+<span class="sourceLineNo">476</span>  private MovedRegionsCleaner movedRegionsCleaner;<a name="line.476"></a>
 <span class="sourceLineNo">477</span><a name="line.477"></a>
-<span class="sourceLineNo">478</span>  private RegionServerProcedureManagerHost rspmHost;<a name="line.478"></a>
-<span class="sourceLineNo">479</span><a name="line.479"></a>
-<span class="sourceLineNo">480</span>  private RegionServerRpcQuotaManager rsQuotaManager;<a name="line.480"></a>
-<span class="sourceLineNo">481</span>  private RegionServerSpaceQuotaManager rsSpaceQuotaManager;<a name="line.481"></a>
+<span class="sourceLineNo">478</span>  // chore for refreshing store files for secondary regions<a name="line.478"></a>
+<span class="sourceLineNo">479</span>  private StorefileRefresherChore storefileRefresher;<a name="line.479"></a>
+<span class="sourceLineNo">480</span><a name="line.480"></a>
+<span class="sourceLineNo">481</span>  private RegionServerCoprocessorHost rsHost;<a name="line.481"></a>
 <span class="sourceLineNo">482</span><a name="line.482"></a>
-<span class="sourceLineNo">483</span>  /**<a name="line.483"></a>
-<span class="sourceLineNo">484</span>   * Nonce manager. Nonces are used to make operations like increment and append idempotent<a name="line.484"></a>
-<span class="sourceLineNo">485</span>   * in the case where client doesn't receive the response from a successful operation and<a name="line.485"></a>
-<span class="sourceLineNo">486</span>   * retries. We track the successful ops for some time via a nonce sent by client and handle<a name="line.486"></a>
-<span class="sourceLineNo">487</span>   * duplicate operations (currently, by failing them; in future we might use MVCC to return<a name="line.487"></a>
-<span class="sourceLineNo">488</span>   * result). Nonces are also recovered from WAL during, recovery; however, the caveats (from<a name="line.488"></a>
-<span class="sourceLineNo">489</span>   * HBASE-3787) are:<a name="line.489"></a>
-<span class="sourceLineNo">490</span>   * - WAL recovery is optimized, and under high load we won't read nearly nonce-timeout worth<a name="line.490"></a>
-<span class="sourceLineNo">491</span>   *   of past records. If we don't read the records, we don't read and recover the nonces.<a name="line.491"></a>
-<span class="sourceLineNo">492</span>   *   Some WALs within nonce-timeout at recovery may not even be present due to rolling/cleanup.<a name="line.492"></a>
-<span class="sourceLineNo">493</span>   * - There's no WAL recovery during normal region move, so nonces will not be transfered.<a name="line.493"></a>
-<span class="sourceLineNo">494</span>   * We can have separate additional "Nonce WAL". It will just contain bunch of numbers and<a name="line.494"></a>
-<span class="sourceLineNo">495</span>   * won't be flushed on main path - because WAL itself also contains nonces, if we only flush<a name="line.495"></a>
-<span class="sourceLineNo">496</span>   * it before memstore flush, for a given nonce we will either see it in the WAL (if it was<a name="line.496"></a>
-<span class="sourceLineNo">497</span>   * never flushed to disk, it will be part of recovery), or we'll see it as part of the nonce<a name="line.497"></a>
-<span class="sourceLineNo">498</span>   * log (or both occasionally, which doesn't matter). Nonce log file can be deleted after the<a name="line.498"></a>
-<span class="sourceLineNo">499</span>   * latest nonce in it expired. It can also be recovered during move.<a name="line.499"></a>
-<span class="sourceLineNo">500</span>   */<a name="line.500"></a>
-<span class="sourceLineNo">501</span>  final ServerNonceManager nonceManager;<a name="line.501"></a>
-<span class="sourceLineNo">502</span><a name="line.502"></a>
-<span class="sourceLineNo">503</span>  private UserProvider userProvider;<a name="line.503"></a>
-<span class="sourceLineNo">504</span><a name="line.504"></a>
-<span class="sourceLineNo">505</span>  protected final RSRpcServices rpcServices;<a name="line.505"></a>
-<span class="sourceLineNo">506</span><a name="line.506"></a>
-<span class="sourceLineNo">507</span>  protected BaseCoordinatedStateManager csm;<a name="line.507"></a>
-<span class="sourceLineNo">508</span><a name="line.508"></a>
-<span class="sourceLineNo">509</span>  /**<a name="line.509"></a>
-<span class="sourceLineNo">510</span>   * Configuration manager is used to register/deregister and notify the configuration observers<a name="line.510"></a>
-<span class="sourceLineNo">511</span>   * when the regionserver is notified that there was a change in the on disk configs.<a name="line.511"></a>
-<span class="sourceLineNo">512</span>   */<a name="line.512"></a>
-<span class="sourceLineNo">513</span>  protected final ConfigurationManager configurationManager;<a name="line.513"></a>
-<span class="sourceLineNo">514</span><a name="line.514"></a>
-<span class="sourceLineNo">515</span>  @VisibleForTesting<a name="line.515"></a>
-<span class="sourceLineNo">516</span>  CompactedHFilesDischarger compactedFileDischarger;<a name="line.516"></a>
-<span class="sourceLineNo">517</span><a name="line.517"></a>
-<span class="sourceLineNo">518</span>  private volatile ThroughputController flushThroughputController;<a name="line.518"></a>
+<span class="sourceLineNo">483</span>  private RegionServerProcedureManagerHost rspmHost;<a name="line.483"></a>
+<span class="sourceLineNo">484</span><a name="line.484"></a>
+<span class="sourceLineNo">485</span>  private RegionServerRpcQuotaManager rsQuotaManager;<a name="line.485"></a>
+<span class="sourceLineNo">486</span>  private RegionServerSpaceQuotaManager rsSpaceQuotaManager;<a name="line.486"></a>
+<span class="sourceLineNo">487</span><a name="line.487"></a>
+<span class="sourceLineNo">488</span>  /**<a name="line.488"></a>
+<span class="sourceLineNo">489</span>   * Nonce manager. Nonces are used to make operations like increment and append idempotent<a name="line.489"></a>
+<span class="sourceLineNo">490</span>   * in the case where client doesn't receive the response from a successful operation and<a name="line.490"></a>
+<span class="sourceLineNo">491</span>   * retries. We track the successful ops for some time via a nonce sent by client and handle<a name="line.491"></a>
+<span class="sourceLineNo">492</span>   * duplicate operations (currently, by failing them; in future we might use MVCC to return<a name="line.492"></a>
+<span class="sourceLineNo">493</span>   * result). Nonces are also recovered from WAL during, recovery; however, the caveats (from<a name="line.493"></a>
+<span class="sourceLineNo">494</span>   * HBASE-3787) are:<a name="line.494"></a>
+<span class="sourceLineNo">495</span>   * - WAL recovery is optimized, and under high load we won't read nearly nonce-timeout worth<a name="line.495"></a>
+<span class="sourceLineNo">496</span>   *   of past records. If we don't read the records, we don't read and recover the nonces.<a name="line.496"></a>
+<span class="sourceLineNo">497</span>   *   Some WALs within nonce-timeout at recovery may not even be present due to rolling/cleanup.<a name="line.497"></a>
+<span class="sourceLineNo">498</span>   * - There's no WAL recovery during normal region move, so nonces will not be transfered.<a name="line.498"></a>
+<span class="sourceLineNo">499</span>   * We can have separate additional "Nonce WAL". It will just contain bunch of numbers and<a name="line.499"></a>
+<span class="sourceLineNo">500</span>   * won't be flushed on main path - because WAL itself also contains nonces, if we only flush<a name="line.500"></a>
+<span class="sourceLineNo">501</span>   * it before memstore flush, for a given nonce we will either see it in the WAL (if it was<a name="line.501"></a>
+<span class="sourceLineNo">502</span>   * never flushed to disk, it will be part of recovery), or we'll see it as part of the nonce<a name="line.502"></a>
+<span class="sourceLineNo">503</span>   * log (or both occasionally, which doesn't matter). Nonce log file can be deleted after the<a name="line.503"></a>
+<span class="sourceLineNo">504</span>   * latest nonce in it expired. It can also be recovered during move.<a name="line.504"></a>
+<span class="sourceLineNo">505</span>   */<a name="line.505"></a>
+<span class="sourceLineNo">506</span>  final ServerNonceManager nonceManager;<a name="line.506"></a>
+<span class="sourceLineNo">507</span><a name="line.507"></a>
+<span class="sourceLineNo">508</span>  private UserProvider userProvider;<a name="line.508"></a>
+<span class="sourceLineNo">509</span><a name="line.509"></a>
+<span class="sourceLineNo">510</span>  protected final RSRpcServices rpcServices;<a name="line.510"></a>
+<span class="sourceLineNo">511</span><a name="line.511"></a>
+<span class="sourceLineNo">512</span>  protected BaseCoordinatedStateManager csm;<a name="line.512"></a>
+<span class="sourceLineNo">513</span><a name="line.513"></a>
+<span class="sourceLineNo">514</span>  /**<a name="line.514"></a>
+<span class="sourceLineNo">515</span>   * Configuration manager is used to register/deregister and notify the configuration observers<a name="line.515"></a>
+<span class="sourceLineNo">516</span>   * when the regionserver is notified that there was a change in the on disk configs.<a name="line.516"></a>
+<span class="sourceLineNo">517</span>   */<a name="line.517"></a>
+<span class="sourceLineNo">518</span>  protected final ConfigurationManager configurationManager;<a name="line.518"></a>
 <span class="sourceLineNo">519</span><a name="line.519"></a>
-<span class="sourceLineNo">520</span>  protected SecureBulkLoadManager secureBulkLoadManager;<a name="line.520"></a>
-<span class="sourceLineNo">521</span><a name="line.521"></a>
-<span class="sourceLineNo">522</span>  protected FileSystemUtilizationChore fsUtilizationChore;<a name="line.522"></a>
-<span class="sourceLineNo">523</span><a name="line.523"></a>
-<span class="sourceLineNo">524</span>  /**<a name="line.524"></a>
-<span class="sourceLineNo">525</span>   * Starts a HRegionServer at the default location.<a name="line.525"></a>
-<span class="sourceLineNo">526</span>   */<a name="line.526"></a>
-<span class="sourceLineNo">527</span>  public HRegionServer(Configuration conf) throws IOException, InterruptedException {<a name="line.527"></a>
-<span class="sourceLineNo">528</span>    this(conf, CoordinatedStateManagerFactory.getCoordinatedStateManager(conf));<a name="line.528"></a>
-<span class="sourceLineNo">529</span>  }<a name="line.529"></a>
-<span class="sourceLineNo">530</span><a name="line.530"></a>
-<span class="sourceLineNo">531</span>  /**<a name="line.531"></a>
-<span class="sourceLineNo">532</span>   * Starts a HRegionServer at the default location<a name="line.532"></a>
-<span class="sourceLineNo">533</span>   * @param csm implementation of CoordinatedStateManager to be used<a name="line.533"></a>
-<span class="sourceLineNo">534</span>   */<a name="line.534"></a>
-<span class="sourceLineNo">535</span>  public HRegionServer(Configuration conf, CoordinatedStateManager csm) throws IOException {<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    super("RegionServer");  // thread name<a name="line.536"></a>
-<span class="sourceLineNo">537</span>    this.fsOk = true;<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    this.conf = conf;<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    MemorySizeUtil.checkForClusterFreeHeapMemoryLimit(this.conf);<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    HFile.checkHFileVersion(this.conf);<a name="line.540"></a>
-<span class="sourceLineNo">541</span>    checkCodecs(this.conf);<a name="line.541"></a>
-<span class="sourceLineNo">542</span>    this.userProvider = UserProvider.instantiate(conf);<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    FSUtils.setupShortCircuitRead(this.conf);<a name="line.543"></a>
-<span class="sourceLineNo">544</span><a name="line.544"></a>
-<span class="sourceLineNo">545</span>    Replication.decorateRegionServerConfiguration(this.conf);<a name="line.545"></a>
-<span class="sourceLineNo">546</span><a name="line.546"></a>
-<span class="sourceLineNo">547</span>    // Disable usage of meta replicas in the regionserver<a name="line.547"></a>
-<span class="sourceLineNo">548</span>    this.conf.setBoolean(HConstants.USE_META_REPLICAS, false);<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    // Config'ed params<a name="line.549"></a>
-<span class="sourceLineNo">550</span>    this.numRetries = this.conf.getInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER,<a name="line.550"></a>
-<span class="sourceLineNo">551</span>        HConstants.DEFAULT_HBASE_CLIENT_RETRIES_NUMBER);<a name="line.551"></a>
-<span class="sourceLineNo">552</span>    this.threadWakeFrequency = conf.getInt(HConstants.THREAD_WAKE_FREQUENCY, 10 * 1000);<a name="line.552"></a>
-<span class="sourceLineNo">553</span>    this.msgInterval = conf.getInt("hbase.regionserver.msginterval", 3 * 1000);<a name="line.553"></a>
-<span class="sourceLineNo">554</span><a name="line.554"></a>
-<span class="sourceLineNo">555</span>    this.sleeper = new Sleeper(this.msgInterval, this);<a name="line.555"></a>
-<span class="sourceLineNo">556</span><a name="line.556"></a>
-<span class="sourceLineNo">557</span>    boolean isNoncesEnabled = conf.getBoolean(HConstants.HBASE_RS_NONCES_ENABLED, true);<a name="line.557"></a>
-<span class="sourceLineNo">558</span>    this.nonceManager = isNoncesEnabled ? new ServerNonceManager(this.conf) : null;<a name="line.558"></a>
+<span class="sourceLineNo">520</span>  @VisibleForTesting<a name="line.520"></a>
+<span class="sourceLineNo">521</span>  CompactedHFilesDischarger compactedFileDischarger;<a name="line.521"></a>
+<span class="sourceLineNo">522</span><a name="line.522"></a>
+<span class="sourceLineNo">523</span>  private volatile ThroughputController flushThroughputController;<a name="line.523"></a>
+<span class="sourceLineNo">524</span><a name="line.524"></a>
+<span class="sourceLineNo">525</span>  protected SecureBulkLoadManager secureBulkLoadManager;<a name="line.525"></a>
+<span class="sourceLineNo">526</span><a name="line.526"></a>
+<span class="sourceLineNo">527</span>  protected FileSystemUtilizationChore fsUtilizationChore;<a name="line.527"></a>
+<span class="sourceLineNo">528</span><a name="line.528"></a>
+<span class="sourceLineNo">529</span>  /**<a name="line.529"></a>
+<span class="sourceLineNo">530</span>   * Starts a HRegionServer at the default location.<a name="line.530"></a>
+<span class="sourceLineNo">531</span>   */<a name="line.531"></a>
+<span class="sourceLineNo">532</span>  public HRegionServer(Configuration conf) throws IOException, InterruptedException {<a name="line.532"></a>
+<span class="sourceLineNo">533</span>    this(conf, CoordinatedStateManagerFactory.getCoordinatedStateManager(conf));<a name="line.533"></a>
+<span class="sourceLineNo">534</span>  }<a name="line.534"></a>
+<span class="sourceLineNo">535</span><a name="line.535"></a>
+<span class="sourceLineNo">536</span>  /**<a name="line.536"></a>
+<span class="sourceLineNo">537</span>   * Starts a HRegionServer at the default location<a name="line.537"></a>
+<span class="sourceLineNo">538</span>   * @param csm implementation of CoordinatedStateManager to be used<a name="line.538"></a>
+<span class="sourceLineNo">539</span>   */<a name="line.539"></a>
+<span class="sourceLineNo">540</span>  public HRegionServer(Configuration conf, CoordinatedStateManager csm) throws IOException {<a name="line.540"></a>
+<span class="sourceLineNo">541</span>    super("RegionServer");  // thread name<a name="line.541"></a>
+<span class="sourceLineNo">542</span>    this.fsOk = true;<a name="line.542"></a>
+<span class="sourceLineNo">543</span>    this.conf = conf;<a name="line.543"></a>
+<span class="sourceLineNo">544</span>    MemorySizeUtil.checkForClusterFreeHeapMemoryLimit(this.conf);<a name="line.544"></a>
+<span class="sourceLineNo">545</span>    HFile.checkHFileVersion(this.conf);<a name="line.545"></a>
+<span class="sourceLineNo">546</span>    checkCodecs(this.conf);<a name="line.546"></a>
+<span class="sourceLineNo">547</span>    this.userProvider = UserProvider.instantiate(conf);<a name="line.547"></a>
+<span class="sourceLineNo">548</span>    FSUtils.setupShortCircuitRead(this.conf);<a name="line.548"></a>
+<span class="sourceLineNo">549</span><a name="line.549"></a>
+<span class="sourceLineNo">550</span>    Replication.decorateRegionServerConfiguration(this.conf);<a name="line.550"></a>
+<span class="sourceLineNo">551</span><a name="line.551"></a>
+<span class="sourceLineNo">552</span>    // Disable usage of meta replicas in the regionserver<a name="line.552"></a>
+<span class="sourceLineNo">553</span>    this.conf.setBoolean(HConstants.USE_META_REPLICAS, false);<a name="line.553"></a>
+<span class="sourceLineNo">554</span>    // Config'ed params<a name="line.554"></a>
+<span class="sourceLineNo">555</span>    this.numRetries = this.conf.getInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER,<a name="line.555"></a>
+<span class="sourceLineNo">556</span>        HConstants.DEFAULT_HBASE_CLIENT_RETRIES_NUMBER);<a name="line.556"></a>
+<span class="sourceLineNo">557</span>    this.threadWakeFrequency = conf.getInt(HConstants.THREAD_WAKE_FREQUENCY, 10 * 1000);<a name="line.557"></a>
+<span class="sourceLineNo">558</span>    this.msgInterval = conf.getInt("hbase.regionserver.msginterval", 3 * 1000);<a name="line.558"></a>
 <span class="sourceLineNo">559</span><a name="line.559"></a>
-<span class="sourceLineNo">560</span>    this.numRegionsToReport = conf.getInt(<a name="line.560"></a>
-<span class="sourceLineNo">561</span>      "hbase.regionserver.numregionstoreport", 10);<a name="line.561"></a>
-<span class="sourceLineNo">562</span><a name="line.562"></a>
-<span class="sourceLineNo">563</span>    this.operationTimeout = conf.getInt(<a name="line.563"></a>
-<span class="sourceLineNo">564</span>      HConstants.HBASE_CLIENT_OPERATION_TIMEOUT,<a name="line.564"></a>
-<span class="sourceLineNo">565</span>      HConstants.DEFAULT_HBASE_CLIENT_OPERATION_TIMEOUT);<a name="line.565"></a>
-<span class="sourceLineNo">566</span><a name="line.566"></a>
-<span class="sourceLineNo">567</span>    this.shortOperationTimeout = conf.getInt(<a name="line.567"></a>
-<span class="sourceLineNo">568</span>      HConstants.HBASE_RPC_SHORTOPERATION_TIMEOUT_KEY,<a name="line.568"></a>
-<span class="sourceLineNo">569</span>      HConstants.DEFAULT_HBASE_RPC_SHORTOPERATION_TIMEOUT);<a name="line.569"></a>
-<span class="sourceLineNo">570</span><a name="line.570"></a>
-<span class="sourceLineNo">571</span>    this.abortRequested = false;<a name="line.571"></a>
-<span class="sourceLineNo">572</span>    this.stopped = false;<a name="line.572"></a>
-<span class="sourceLineNo">573</span><a name="line.573"></a>
-<span class="sourceLineNo">574</span>    rpcServices = createRpcServices();<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    this.startcode = System.currentTimeMillis();<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    if (this instanceof HMaster) {<a name="line.576"></a>
-<span class="sourceLineNo">577</span>      useThisHostnameInstead = conf.get(MASTER_HOSTNAME_KEY);<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    } else {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>      useThisHostnameInstead = conf.get(RS_HOSTNAME_KEY);<a name="line.579"></a>
-<span class="sourceLineNo">580</span>    }<a name="line.580"></a>
-<span class="sourceLineNo">581</span>    String hostName = shouldUseThisHostnameInstead() ? useThisHostnameInstead :<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      rpcServices.isa.getHostName();<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    serverName = ServerName.valueOf(hostName, rpcServices.isa.getPort(), startcode);<a name="line.583"></a>
-<span class="sourceLineNo">584</span><a name="line.584"></a>
-<span class="sourceLineNo">585</span>    rpcControllerFactory = RpcControllerFactory.instantiate(this.conf);<a name="line.585"></a>
-<span class="sourceLineNo">586</span>    rpcRetryingCallerFactory = RpcRetryingCallerFactory.instantiate(this.conf);<a name="line.586"></a>
-<span class="sourceLineNo">587</span><a name="line.587"></a>
-<span class="sourceLineNo">588</span>    // login the zookeeper client principal (if using security)<a name="line.588"></a>
-<span class="sourceLineNo">589</span>    ZKUtil.loginClient(this.conf, HConstants.ZK_CLIENT_KEYTAB_FILE,<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      HConstants.ZK_CLIENT_KERBEROS_PRINCIPAL, hostName);<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    // login the server principal (if using secure Hadoop)<a name="line.591"></a>
-<span class="sourceLineNo">592</span>    login(userProvider, hostName);<a name="line.592"></a>
-<span class="sourceLineNo">593</span>    // init superusers and add the server principal (if using security)<a name="line.593"></a>
-<span class="sourceLineNo">594</span>    // or process owner as default super user.<a name="line.594"></a>
-<span class="sourceLineNo">595</span>    Superusers.initialize(conf);<a name="line.595"></a>
-<span class="sourceLineNo">596</span><a name="line.596"></a>
-<span class="sourceLineNo">597</span>    regionServerAccounting = new RegionServerAccounting(conf);<a name="line.597"></a>
-<span class="sourceLineNo">598</span>    cacheConfig = new CacheConfig(conf);<a name="line.598"></a>
-<span class="sourceLineNo">599</span>    mobCacheConfig = new MobCacheConfig(conf);<a name="line.599"></a>
-<span class="sourceLineNo">600</span>    uncaughtExceptionHandler = new UncaughtExceptionHandler() {<a name="line.600"></a>
-<span class="sourceLineNo">601</span>      @Override<a name="line.601"></a>
-<span class="sourceLineNo">602</span>      public void uncaughtException(Thread t, Throwable e) {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>        abort("Uncaught exception in service thread " + t.getName(), e);<a name="line.603"></a>
-<span class="sourceLineNo">604</span>      }<a name="line.604"></a>
-<span class="sourceLineNo">605</span>    };<a name="line.605"></a>
-<span class="sourceLineNo">606</span><a name="line.606"></a>
-<span class="sourceLineNo">607</span>    initializeFileSystem();<a name="line.607"></a>
-<span class="sourceLineNo">608</span><a name="line.608"></a>
-<span class="sourceLineNo">609</span>    service = new ExecutorService(getServerName().toShortString());<a name="line.609"></a>
-<span class="sourceLineNo">610</span>    spanReceiverHost = SpanReceiverHost.getInstance(getConfiguration());<a name="line.610"></a>
+<span class="sourceLineNo">560</span>    this.sleeper = new Sleeper(this.msgInterval, this);<a name="line.560"></a>
+<span class="sourceLineNo">561</span><a name="line.561"></a>
+<span class="sourceLineNo">562</span>    boolean isNoncesEnabled = conf.getBoolean(HConstants.HBASE_RS_NONCES_ENABLED, true);<a name="line.562"></a>
+<span class="sourceLineNo">563</span>    this.nonceManager = isNoncesEnabled ? new ServerNonceManager(this.conf) : null;<a name="line.563"></a>
+<span class="sourceLineNo">564</span><a name="line.564"></a>
+<span class="sourceLineNo">565</span>    this.numRegionsToReport = conf.getInt(<a name="line.565"></a>
+<span class="sourceLineNo">566</span>      "hbase.regionserver.numregionstoreport", 10);<a name="line.566"></a>
+<span class="sourceLineNo">567</span><a name="line.567"></a>
+<span class="sourceLineNo">568</span>    this.operationTimeout = conf.getInt(<a name="line.568"></a>
+<span class="sourceLineNo">569</span>      HConstants.HBASE_CLIENT_OPERATION_TIMEOUT,<a name="line.569"></a>
+<span class="sourceLineNo">570</span>      HConstants.DEFAULT_HBASE_CLIENT_OPERATION_TIMEOUT);<a name="line.570"></a>
+<span class="sourceLineNo">571</span><a name="line.571"></a>
+<span class="sourceLineNo">572</span>    this.shortOperationTimeout = conf.getInt(<a name="line.572"></a>
+<span class="sourceLineNo">573</span>      HConstants.HBASE_RPC_SHORTOPERATION_TIMEOUT_KEY,<a name="line.573"></a>
+<span class="sourceLineNo">574</span>      HConstants.DEFAULT_HBASE_RPC_SHORTOPERATION_TIMEOUT);<a name="line.574"></a>
+<span class="sourceLineNo">575</span><a name="line.575"></a>
+<span class="sourceLineNo">576</span>    this.abortRequested = false;<a name="line.576"></a>
+<span class="sourceLineNo">577</span>    this.stopped = false;<a name="line.577"></a>
+<span class="sourceLineNo">578</span><a name="line.578"></a>
+<span class="sourceLineNo">579</span>    rpcServices = createRpcServices();<a name="line.579"></a>
+<span class="sourceLineNo">580</span>    this.startcode = System.currentTimeMillis();<a name="line.580"></a>
+<span class="sourceLineNo">581</span>    if (this instanceof HMaster) {<a name="line.581"></a>
+<span class="sourceLineNo">582</span>      useThisHostnameInstead = conf.get(MASTER_HOSTNAME_KEY);<a name="line.582"></a>
+<span class="sourceLineNo">583</span>    } else {<a name="line.583"></a>
+<span class="sourceLineNo">584</span>      useThisHostnameInstead = conf.get(RS_HOSTNAME_KEY);<a name="line.584"></a>
+<span class="sourceLineNo">585</span>      if (conf.getBoolean(RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY, false)) {<a name="line.585"></a>
+<span class="sourceLineNo">586</span>        if (shouldUseThisHostnameInstead()) {<a name="line.586"></a>
+<span class="sourceLineNo">587</span>          String msg = RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY + " and " + RS_HOSTNAME_KEY +<a name="line.587"></a>
+<span class="sourceLineNo">588</span>            " are mutually exclusive. Do not set " + RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY +<a name="line.588"></a>
+<span class="sourceLineNo">589</span>            " to true while " + RS_HOSTNAME_KEY + " is used";<a name="line.589"></a>
+<span class="sourceLineNo">590</span>          throw new IOException(msg);<a name="line.590"></a>
+<span class="sourceLineNo">591</span>        } else {<a name="line.591"></a>
+<span class="sourceLineNo">592</span>          useThisHostnameInstead = rpcServices.isa.getHostName();<a name="line.592"></a>
+<span class="sourceLineNo">593</span>        }<a name="line.593"></a>
+<span class="sourceLineNo">594</span>      }<a name="line.594"></a>
+<span class="sourceLineNo">595</span>    }<a name="line.595"></a>
+<span class="sourceLineNo">596</span>    String hostName = shouldUseThisHostnameInstead() ? useThisHostnameInstead :<a name="line.596"></a>
+<span class="sourceLineNo">597</span>      rpcServices.isa.getHostName();<a name="line.597"></a>
+<span class="sourceLineNo">598</span>    serverName = ServerName.valueOf(hostName, rpcServices.isa.getPort(), startcode);<a name="line.598"></a>
+<span class="sourceLineNo">599</span><a name="line.599"></a>
+<span class="sourceLineNo">600</span>    rpcControllerFactory = RpcControllerFactory.instantiate(this.conf);<a name="line.600"></a>
+<span class="sourceLineNo">601</span>    rpcRetryingCallerFactory = RpcRetryingCallerFactory.instantiate(this.conf);<a name="line.601"></a>
+<span class="sourceLineNo">602</span><a name="line.602"></a>
+<span class="sourceLineNo">603</span>    // login the zookeeper client principal (if using security)<a name="line.603"></a>
+<span class="sourceLineNo">604</span>    ZKUtil.loginClient(this.conf, HConstants.ZK_CLIENT_KEYTAB_FILE,<a name="line.604"></a>
+<span class="sourceLineNo">605</span>      HConstants.ZK_CLIENT_KERBEROS_PRINCIPAL, hostName);<a name="line.605"></a>
+<span class="sourceLineNo">606</span>    // login the server principal (if using secure Hadoop)<a name="line.606"></a>
+<span class="sourceLineNo">607</span>    login(userProvider, hostName);<a name="line.607"></a>
+<span class="sourceLineNo">608</span>    // init superusers and add the server principal (if using security)<a name="line.608"></a>
+<span class="sourceLineNo">609</span>    // or process owner as default super user.<a name="line.609"></a>
+<span class="sourceLineNo">610</span>    Superusers.initialize(conf);<a name="line.610"></a>
 <span class="sourceLineNo">611</span><a name="line.611"></a>
-<span class="sourceLineNo">612</span>    // Some unit tests don't need a cluster, so no zookeeper at all<a name="line.612"></a>
-<span class="sourceLineNo">613</span>    if (!conf.getBoolean("hbase.testing.nocluster", false)) {<a name="line.613"></a>
-<span class="sourceLineNo">614</span>      // Open connection to zookeeper and set primary watcher<a name="line.614"></a>
-<span class="sourceLineNo">615</span>      zooKeeper = new ZooKeeperWatcher(conf, getProcessName() + ":" +<a name="line.615"></a>
-<span class="sourceLineNo">616</span>        rpcServices.isa.getPort(), this, canCreateBaseZNode());<a name="line.616"></a>
-<span class="sourceLineNo">617</span><a name="line.617"></a>
-<span class="sourceLineNo">618</span>      this.csm = (BaseCoordinatedStateManager) csm;<a name="line.618"></a>
-<span class="sourceLineNo">619</span>      this.csm.initialize(this);<a name="line.619"></a>
-<span class="sourceLineNo">620</span>      this.csm.start();<a name="line.620"></a>
+<span class="sourceLineNo">612</span>    regionServerAccounting = new RegionServerAccounting(conf);<a name="line.612"></a>
+<span class="sourceLineNo">613</span>    cacheConfig = new CacheConfig(conf);<a name="line.613"></a>
+<span class="sourceLineNo">614</span>    mobCacheConfig = new MobCacheConfig(conf);<a name="line.614"></a>
+<span class="sourceLineNo">615</span>    uncaughtExceptionHandler = new UncaughtExceptionHandler() {<a name="line.615"></a>
+<span class="sourceLineNo">616</span>      @Override<a name="line.616"></a>
+<span class="sourceLineNo">617</span>      public void uncaughtException(Thread t, Throwable e) {<a name="line.617"></a>
+<span class="sourceLineNo">618</span>        abort("Uncaught exception in service thread " + t.getName(), e);<a name="line.618"></a>
+<span class="sourceLineNo">619</span>      }<a name="line.619"></a>
+<span class="sourceLineNo">620</span>    };<a name="line.620"></a>
 <span class="sourceLineNo">621</span><a name="line.621"></a>
-<span class="sourceLineNo">622</span>      masterAddressTracker = new MasterAddressTracker(getZooKeeper(), this);<a name="line.622"></a>
-<span class="sourceLineNo">623</span>      masterAddressTracker.start();<a name="line.623"></a>
-<span class="sourceLineNo">624</span><a name="line.624"></a>
-<span class="sourceLineNo">625</span>      clusterStatusTracker = new ClusterStatusTracker(zooKeeper, this);<a name="line.625"></a>
-<span class="sourceLineNo">626</span>      clusterStatusTracker.start();<a name="line.626"></a>
-<span class="sourceLineNo">627</span>    }<a name="line.627"></a>
-<span class="sourceLineNo">628</span>    this.configurationManager = new ConfigurationManager();<a name="line.628"></a>
-<span class="sourceLineNo">629</span><a name="line.629"></a>
-<span class="sourceLineNo">630</span>    rpcServices.start();<a name="line.630"></a>
-<span class="sourceLineNo">631</span>    putUpWebUI();<a name="line.631"></a>
-<span class="sourceLineNo">632</span>    this.walRoller = new LogRoller(this, this);<a name="line.632"></a>
-<span class="sourceLineNo">633</span>    this.choreService = new ChoreService(getServerName().toString(), true);<a name="line.633"></a>
-<span class="sourceLineNo">634</span>    this.flushThroughputController = FlushThroughputControllerFactory.create(this, conf);<a name="line.634"></a>
-<span class="sourceLineNo">635</span><a name="line.635"></a>
-<span class="sourceLineNo">636</span>    if (!SystemUtils.IS_OS_WINDOWS) {<a name="line.636"></a>
-<span class="sourceLineNo">637</span>      Signal.handle(new Signal("HUP"), new SignalHandler() {<a name="line.637"></a>
-<span class="sourceLineNo">638</span>        @Override<a name="line.638"></a>
-<span class="sourceLineNo">639</span>        public void handle(Signal signal) {<a name="line.639"></a>
-<span class="sourceLineNo">640</span>          getConfiguration().reloadConfiguration();<a name="line.640"></a>
-<span class="sourceLineNo">641</span>          configurationManager.notifyAllObservers(getConfiguration());<a name="line.641"></a>
-<span class="sourceLineNo">642</span>        }<a name="line.642"></a>
-<span class="sourceLineNo">643</span>      });<a name="line.643"></a>
-<span class="sourceLineNo">644</span>    }<a name="line.644"></a>
-<span class="sourceLineNo">645</span>    // Create the CompactedFileDischarger chore service. This chore helps to<a name="line.645"></a>
-<span class="sourceLineNo">646</span>    // remove the compacted files<a name="line.646"></a>
-<span class="sourceLineNo">647</span>    // that will no longer be used in reads.<a name="line.647"></a>
-<span class="sourceLineNo">648</span>    // Default is 2 mins. The default value for TTLCleaner is 5 mins so we set this to<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    // 2 mins so that compacted files can be archived before the TTLCleaner runs<a name="line.649"></a>
-<span class="sourceLineNo">650</span>    int cleanerInterval =<a name="line.650"></a>
-<span class="sourceLineNo">651</span>        conf.getInt("hbase.hfile.compaction.discharger.interval", 2 * 60 * 1000);<a name="line.651"></a>
-<span class="sourceLineNo">652</span>    this.compactedFileDischarger =<a name="line.652"></a>
-<span class="sourceLineNo">653</span>        new CompactedHFilesDischarger(cleanerInterval, this, this);<a name="line.653"></a>
-<span class="sourceLineNo">654</span>    choreService.scheduleChore(compactedFileDischarger);<a name="line.654"></a>
-<span class="sourceLineNo">655</span>  }<a name="line.655"></a>
-<span class="sourceLineNo">656</span><a name="line.656"></a>
-<span class="sourceLineNo">657</span>  private void initializeFileSystem() throws IOException {<a name="line.657"></a>
-<span class="sourceLineNo">658</span>    // Get fs instance used by this RS.  Do we use checksum verification in the hbase? If hbase<a name="line.658"></a>
-<span class="sourceLineNo">659</span>    // checksum verification enabled, then automatically switch off hdfs checksum verification.<a name="line.659"></a>
-<span class="sourceLineNo">660</span>    boolean useHBaseChecksum = conf.getBoolean(HConstants.HBASE_CHECKSUM_VERIFICATION, true);<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    FSUtils.setFsDefault(this.conf, FSUtils.getWALRootDir(this.conf));<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    this.walFs = new HFileSystem(this.conf, useHBaseChecksum);<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    this.walRootDir = FSUtils.getWALRootDir(this.conf);<a name="line.663"></a>
-<span class="sourceLineNo">664</span>    // Set 'fs.defaultFS' to match the filesystem on hbase.rootdir else<a name="line.664"></a>
-<span class="sourceLineNo">665</span>    // underlying hadoop hdfs accessors will be going against wrong filesystem<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    // (unless all is set to defaults).<a name="line.666"></a>
-<span class="sourceLineNo">667</span>    FSUtils.setFsDefault(this.conf, FSUtils.getRootDir(this.conf));<a name="line.667"></a>
-<span class="sourceLineNo">668</span>    this.fs = new HFileSystem(this.conf, useHBaseChecksum);<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    this.rootDir = FSUtils.getRootDir(this.conf);<a name="line.669"></a>
-<span class="sourceLineNo">670</span>    this.tableDescriptors = getFsTableDescriptors();<a name="line.670"></a>
-<span class="sourceLineNo">671</span>  }<a name="line.671"></a>
-<span class="sourceLineNo">672</span><a name="line.672"></a>
-<span class="sourceLineNo">673</span>  protected TableDescriptors getFsTableDescriptors() throws IOException {<a name="line.673"></a>
-<span class="sourceLineNo">674</span>    return new FSTableDescriptors(this.conf,<a name="line.674"></a>
-<span class="sourceLineNo">675</span>      this.fs, this.rootDir, !canUpdateTableDescriptor(), false);<a name="line.675"></a>
-<span class="sourceLineNo">676</span>  }<a name="line.676"></a>
-<span class="sourceLineNo">677</span><a name="line.677"></a>
-<span class="sourceLineNo">678</span>  protected void setInitLatch(CountDownLatch latch) {<a name="line.678"></a>
-<span class="sourceLineNo">679</span>    this.initLatch = latch;<a name="line.679"></a>
-<span class="sourceLineNo">680</span>  }<a name="line.680"></a>
-<span class="sourceLineNo">681</span><a name="line.681"></a>
-<span class="sourceLineNo">682</span>  /*<a name="line.682"></a>
-<span class="sourceLineNo">683</span>   * Returns true if configured hostname should be used<a name="line.683"></a>
-<span class="sourceLineNo">684</span>   */<a name="line.684"></a>
-<span class="sourceLineNo">685</span>  protected boolean shouldUseThisHostnameInstead() {<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    return useThisHostnameInstead != null &amp;&amp; !useThisHostnameInstead.isEmpty();<a name="line.686"></a>
-<span class="sourceLineNo">687</span>  }<a name="line.687"></a>
-<span class="sourceLineNo">688</span><a name="line.688"></a>
-<span class="sourceLineNo">689</span>  protected void login(UserProvider user, String host) throws IOException {<a name="line.689"></a>
-<span class="sourceLineNo">690</span>    user.login("hbase.regionserver.keytab.file",<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      "hbase.regionserver.kerberos.principal", host);<a name="line.691"></a>
-<span class="sourceLineNo">692</span>  }<a name="line.692"></a>
-<span class="sourceLineNo">693</span><a name="line.693"></a>
-<span class="sourceLineNo">694</span>  protected void waitForMasterActive(){<a name="line.694"></a>
+<span class="sourceLineNo">622</span>    initializeFileSystem();<a name="line.622"></a>
+<span class="sourceLineNo">623</span><a name="line.623"></a>
+<span class="sourceLineNo">624</span>    service = new ExecutorService(getServerName().toShortString());<a name="line.624"></a>
+<span class="sourceLineNo">625</span>    spanReceiverHost = SpanReceiverHost.getInstance(getConfiguration());<a name="line.625"></a>
+<span class="sourceLineNo">626</span><a name="line.626"></a>
+<span class="sourceLineNo">627</span>    // Some unit tests don't need a cluster, so no zookeeper at all<a name="line.627"></a>
+<span class="sourceLineNo">628</span>    if (!conf.getBoolean("hbase.testing.nocluster", false)) {<a name="line.628"></a>
+<span class="sourceLineNo">629</span>      // Open connection to zookeeper and set primary watcher<a name="line.629"></a>
+<span class="sourceLineNo">630</span>      zooKeeper = new ZooKeeperWatcher(conf, getProcessName() + ":" +<a name="line.630"></a>
+<span class="sourceLineNo">631</span>        rpcServices.isa.getPort(), this, canCreateBaseZNode());<a name="line.631"></a>
+<span class="sourceLineNo">632</span><a name="line.632"></a>
+<span class="sourceLineNo">633</span>      this.csm = (BaseCoordinatedStateManager) csm;<a name="line.633"></a>
+<span class="sourceLineNo">634</span>      this.csm.initialize(this);<a name="line.634"></a>
+<span class="sourceLineNo">635</span>      this.csm.start();<a name="line.635"></a>
+<span class="sourceLineNo">636</span><a name="line.636"></a>
+<span class="sourceLineNo">637</span>      masterAddressTracker = new MasterAddressTracker(getZooKeeper(), this);<a name="line.637"></a>
+<span class="sourceLineNo">638</span>      masterAddressTracker.start();<a name="line.638"></a>
+<span class="sourceLineNo">639</span><a name="line.639"></a>
+<span class="sourceLineNo">640</span>      clusterStatusTracker = new ClusterStatusTracker(zooKeeper, this);<a name="line.640"></a>
+<span class="sourceLineNo">641</span>      clusterStatusTracker.start();<a name="line.641"></a>
+<span class="sourceLineNo">642</span>    }<a name="line.642"></a>
+<span class="sourceLineNo">643</span>    this.configurationManager = new ConfigurationManager();<a name="line.643"></a>
+<span class="sourceLineNo">644</span><a name="line.644"></a>
+<span class="sourceLineNo">645</span>    rpcServices.start();<a name="line.645"></a>
+<span class="sourceLineNo">646</span>    putUpWebUI();<a name="line.646"></a>
+<span class="sourceLineNo">647</span>    this.walRoller = new LogRoller(this, this);<a name="line.647"></a>
+<span class="sourceLineNo">648</span>    this.choreService = new ChoreService(getServerName().toString(), true);<a name="line.648"></a>
+<span class="sourceLineNo">649</span>    this.flushThroughputController = FlushThroughputControllerFactory.create(this, conf);<a name="line.649"></a>
+<span class="sourceLineNo">650</span><a name="line.650"></a>
+<span class="sourceLineNo">651</span>    if (!SystemUtils.IS_OS_WINDOWS) {<a name="line.651"></a>
+<span class="sourceLineNo">652</span>      Signal.handle(new Signal("HUP"), new SignalHandler() {<a name="line.652"></a>
+<span class="sourceLineNo">653</span>        @Override<a name="line.653"></a>
+<span class="sourceLineNo">654</span>        public void handle(Signal signal) {<a name="line.654"></a>
+<span class="sourceLineNo">655</span>          getConfiguration().reloadConfiguration();<a name="line.655"></a>
+<span class="sourceLineNo">656</span>          configurationManager.notifyAllObservers(getConfiguration());<a name="line.656"></a>
+<span class="sourceLineNo">657</span>        }<a name="line.657"></a>
+<span class="sourceLineNo">658</span>      });<a name="line.658"></a>
+<span class="sourceLineNo">659</span>    }<a name="line.659"></a>
+<span class="sourceLineNo">660</span>    // Create the CompactedFileDischarger chore service. This chore helps to<a name="line.660"></a>
+<span class="sourceLineNo">661</span>    // remove the compacted files<a name="line.661"></a>
+<span class="sourceLineNo">662</span>    // that will no longer be used in reads.<a name="line.662"></a>
+<span class="sourceLineNo">663</span>    // Default is 2 mins. The default value for TTLCleaner is 5 mins so we set this to<a name="line.663"></a>
+<span class="sourceLineNo">664</span>    // 2 mins so that compacted files can be archived before the TTLCleaner runs<a name="line.664"></a>
+<span class="sourceLineNo">665</span>    int cleanerInterval =<a name="line.665"></a>
+<span class="sourceLineNo">666</span>        conf.getInt("hbase.hfile.compaction.discharger.interval", 2 * 60 * 1000);<a name="line.666"></a>
+<span class="sourceLineNo">667</span>    this.compactedFileDischarger =<a name="line.667"></a>
+<span class="sourceLineNo">668</span>        new CompactedHFilesDischarger(cleanerInterval, this, this);<a name="line.668"></a>
+<span class="sourceLineNo">669</span>    choreService.scheduleChore(compactedFileDischarger);<a name="line.669"></a>
+<span class="sourceLineNo">670</span>  }<a name="line.670"></a>
+<span class="sourceLineNo">671</span><a name="line.671"></a>
+<span class="sourceLineNo">672</span>  private void initializeFileSystem() throws IOException {<a name="line.672"></a>
+<span class="sourceLineNo">673</span>    // Get fs instance used by this RS.  Do we use checksum verification in the hbase? If hbase<a name="line.673"></a>
+<span class="sourceLineNo">674</span>    // checksum verification enabled, then automatically switch off hdfs checksum verification.<a name="line.674"></a>
+<span class="sourceLineNo">675</span>    boolean useHBaseChecksum = conf.getBoolean(HConstants.HBASE_CHECKSUM_VERIFICATION, true);<a name="line.675"></a>
+<span class="sourceLineNo">676</span>    FSUtils.setFsDefault(this.conf, FSUtils.getWALRootDir(this.conf));<a name="line.676"></a>
+<span class="sourceLineNo">677</span>    this.walFs = new HFileSystem(this.conf, useHBaseChecksum);<a name="line.677"></a>
+<span class="sourceLineNo">678</span>    this.walRootDir = FSUtils.getWALRootDir(this.conf);<a name="line.678"></a>
+<span class="sourceLineNo">679</span>    // Set 'fs.defaultFS' to match the filesystem on hbase.rootdir else<a name="line.679"></a>
+<span class="sourceLineNo">680</span>    // underlying hadoop hdfs accessors will be going against wrong filesystem<a name="line.680"></a>
+<span class="sourceLineNo">681</span>    // (unless all is set to defaults).<a name="line.681"></a>
+<span class="sourceLineNo">682</span>    FSUtils.setFsDefault(this.conf, FSUtils.getRootDir(this.conf));<a name="line.682"></a>
+<span class="sourceLineNo">683</span>    this.fs = new HFileSystem(this.conf, useHBaseChecksum);<a name="line.683"></a>
+<span class="sourceLineNo">684</span>    this.rootDir = FSUtils.getRootDir(this.conf);<a name="line.684"></a>
+<span class="sourceLineNo">685</span>    this.tableDescriptors = getFsTableDescriptors();<a name="line.685"></a>
+<span class="sourceLineNo">686</span>  }<a name="line.686"></a>
+<span class="sourceLineNo">687</span><a name="line.687"></a>
+<span class="sourceLineNo">688</span>  protected TableDescriptors getFsTableDescriptors() throws IOException {<a name="line.688"></a>
+<span class="sourceLineNo">689</span>    return new FSTableDescriptors(this.conf,<a name="line.689"></a>
+<span class="sourceLineNo">690</span>      this.fs, this.rootDir, !canUpdateTableDescriptor(), false);<a name="line.690"></a>
+<span class="sourceLineNo">691</span>  }<a name="line.691"></a>
+<span class="sourceLineNo">692</span><a name="line.692"></a>
+<span class="sourceLineNo">693</span>  protected void setInitLatch(CountDownLatch latch) {<a name="line.693"></a>
+<span class="sourceLineNo">694</span>    this.initLatch = latch;<a name="line.694"></a>
 <span class="sourceLineNo">695</span>  }<a name="line.695"></a>
 <span class="sourceLineNo">696</span><a name="line.696"></a>
-<span class="sourceLineNo">697</span>  protected String getProcessName() {<a name="line.697"></a>
-<span class="sourceLineNo">698</span>    return REGIONSERVER;<a name="line.698"></a>
-<span class="sourceLineNo">699</span>  }<a name="line.699"></a>
-<span class="sourceLineNo">700</span><a name="line.700"></a>
-<span class="sourceLineNo">701</span>  protected boolean canCreateBaseZNode() {<a name="line.701"></a>
-<span class="sourceLineNo">702</span>    return false;<a name="line.702"></a>
-<span class="sourceLineNo">703</span>  }<a name="line.703"></a>
-<span class="sourceLineNo">704</span><a name="line.704"></a>
-<span class="sourceLineNo">705</span>  protected boolean canUpdateTableDescriptor() {<a name="line.705"></a>
-<span class="sourceLineNo">706</span>    return false;<a name="line.706"></a>
+<span class="sourceLineNo">697</span>  /*<a name="line.697"></a>
+<span class="sourceLineNo">698</span>   * Returns true if configured hostname should be used<a name="line.698"></a>
+<span class="sourceLineNo">699</span>   */<a name="line.699"></a>
+<span class="sourceLineNo">700</span>  protected boolean shouldUseThisHostnameInstead() {<a name="line.700"></a>
+<span class="sourceLineNo">701</span>    return useThisHostnameInstead != null &amp;&amp; !useThisHostnameInstead.isEmpty();<a name="line.701"></a>
+<span class="sourceLineNo">702</span>  }<a name="line.702"></a>
+<span class="sourceLineNo">703</span><a name="line.703"></a>
+<span class="sourceLineNo">704</span>  protected void login(UserProvider user, String host) throws IOException {<a name="line.704"></a>
+<span class="sourceLineNo">705</span>    user.login("hbase.regionserver.keytab.file",<a name="line.705"></a>
+<span class="sourceLineNo">706</span>      "hbase.regionserver.kerberos.principal", host);<a name="line.706"></a>
 <span class="sourceLineNo">707</span>  }<a name="line.707"></a>
 <span class="sourceLineNo">708</span><a name="line.708"></a>
-<span class="sourceLineNo">709</span>  protected RSRpcServices createRpcServices() throws IOException {<a name="line.709"></a>
-<span class="sourceLineNo">710</span>    return new RSRpcServices(this);<a name="line.710"></a>
-<span class="sourceLineNo">711</span>  }<a name="line.711"></a>
-<span class="sourceLineNo">712</span><a name="line.712"></a>
-<span class="sourceLineNo">713</span>  protected void configureInfoServer() {<a name="line.713"></a>
-<span class="sourceLineNo">714</span>    infoServer.addServlet("rs-status", "/rs-status", RSStatusServlet.class);<a name="line.714"></a>
-<span class="sourceLineNo">715</span>    infoServer.setAttribute(REGIONSERVER, this);<a name="line.715"></a>
-<span class="sourceLineNo">716</span>  }<a name="line.716"></a>
-<span class="sourceLineNo">717</span><a name="line.717"></a>
-<span class="sourceLineNo">718</span>  protected Class&lt;? extends HttpServlet&gt; getDumpServlet() {<a name="line.718"></a>
-<span class="sourceLineNo">719</span>    return RSDumpServlet.class;<a name="line.719"></a>
-<span class="sourceLineNo">720</span>  }<a name="line.720"></a>
-<span class="sourceLineNo">721</span><a name="line.721"></a>
-<span class="sourceLineNo">722</span>  @Override<a name="line.722"></a>
-<span class="sourceLineNo">723</span>  public boolean registerService(com.google.protobuf.Service instance) {<a name="line.723"></a>
-<span class="sourceLineNo">724</span>    /*<a name="line.724"></a>
-<span class="sourceLineNo">725</span>     * No stacking of instances is allowed for a single service name<a name="line.725"></a>
-<span class="sourceLineNo">726</span>     */<a name="line.726"></a>
-<span class="sourceLineNo">727</span>    com.google.protobuf.Descriptors.ServiceDescriptor serviceDesc =<a name="line.727"></a>
-<span class="sourceLineNo">728</span>        instance.getDescriptorForType();<a name="line.728"></a>
-<span class="sourceLineNo">729</span>    String serviceName = CoprocessorRpcUtils.getServiceName(serviceDesc);<a name="line.729"></a>
-<span class="sourceLineNo">730</span>    if (coprocessorServiceHandlers.containsKey(serviceName)) {<a name="line.730"></a>
-<span class="sourceLineNo">731</span>      LOG.error("Coprocessor service " + serviceName<a name="line.731"></a>
-<span class="sourceLineNo">732</span>          + " already registered, rejecting request from " + instance);<a name="line.732"></a>
-<span class="sourceLineNo">733</span>      return false;<a name="line.733"></a>
-<span class="sourceLineNo">734</span>    }<a name="line.734"></a>
-<span class="sourceLineNo">735</span><a name="line.735"></a>
-<span class="sourceLineNo">736</span>    coprocessorServiceHandlers.put(serviceName, instance);<a name="line.736"></a>
-<span class="sourceLineNo">737</span>    if (LOG.isDebugEnabled()) {<a name="line.737"></a>
-<span class="sourceLineNo">738</span>      LOG.debug("Registered regionserver coprocessor service: service=" + serviceName);<a name="line.738"></a>
-<span class="sourceLineNo">739</span>    }<a name="line.739"></a>
-<span class="sourceLineNo">740</span>    return true;<a name="line.740"></a>
-<span class="sourceLineNo">741</span>  }<a name="line.741"></a>
-<span class="sourceLineNo">742</span><a name="line.742"></a>
-<span class="sourceLineNo">743</span>  /**<a name="line.743"></a>
-<span class="sourceLineNo">744</span>   * Create a 'smarter' Connection, one that is capable of by-passing RPC if the request is to<a name="line.744"></a>
-<span class="sourceLineNo">745</span>   * the local server. Safe to use going to local or remote server.<a name="line.745"></a>
-<span class="sourceLineNo">746</span>   * Create this instance in a method can be intercepted and mocked in tests.<a name="line.746"></a>
-<span class="sourceLineNo">747</span>   * @throws IOException<a name="line.747"></a>
-<span class="sourceLineNo">748</span>   */<a name="line.748"></a>
-<span class="sourceLineNo">749</span>  @VisibleForTesting<a name="line.749"></a>
-<span class="sourceLineNo">750</span>  protected ClusterConnection createClusterConnection() throws IOException {<a name="line.750"></a>
-<span class="sourceLineNo">751</span>    // Create a cluster connection that when appropriate, can short-circuit and go directly to the<a name="line.751"></a>
-<span class="sourceLineNo">752</span>    // local server if the request is to the local server bypassing RPC. Can be used for both local<a name="line.752"></a>
-<span class="sourceLineNo">753</span>    // and remote invocations.<a name="line.753"></a>
-<span class="sourceLineNo">754</span>    return ConnectionUtils.createShortCircuitConnection(conf, null, userProvider.getCurrent(),<a name="line.754"></a>
-<span class="sourceLineNo">755</span>      serverName, rpcServices, rpcServices);<a name="line.755"></a>
+<span class="sourceLineNo">709</span>  protected void waitForMasterActive(){<a name="line.709"></a>
+<span class="sourceLineNo">710</span>  }<a name="line.710"></a>
+<span class="sourceLineNo">711</span><a name="line.711"></a>
+<span class="sourceLineNo">712</span>  protected String getProcessName() {<a name="line.712"></a>
+<span class="sourceLineNo">713</span>    return REGIONSERVER;<a name="line.713"></a>
+<span class="sourceLineNo">714</span>  }<a name="line.714"></a>
+<span class="sourceLineNo">715</span><a name="line.715"></a>
+<span class="sourceLineNo">716</span>  protected boolean canCreateBaseZNode() {<a name="line.716"></a>
+<span class="sourceLineNo">717</span>    return false;<a name="line.717"></a>
+<span class="sourceLineNo">718</span>  }<a name="line.718"></a>
+<span class="sourceLineNo">719</span><a name="line.719"></a>
+<span class="sourceLineNo">720</span>  protected boolean canUpdateTableDescriptor() {<a name="line.720"></a>
+<span class="sourceLineNo">721</span>    return false;<a name="line.721"></a>
+<span class="sourceLineNo">722</span>  }<a name="line.722"></a>
+<span class="sourceLineNo">723</span><a name="line.723"></a>
+<span class="sourceLineNo">724</span>  protected RSRpcServices createRpcServices() throws IOException {<a name="line.724"></a>
+<span class="sourceLineNo">725</span>    return new RSRpcServices(this);<a name="line.725"></a>
+<span class="sourceLineNo">726</span>  }<a name="line.726"></a>
+<span class="sourceLineNo">727</span><a name="line.727"></a>
+<span class="sourceLineNo">728</span>  protected void configureInfoServer() {<a name="line.728"></a>
+<span class="sourceLineNo">729</span>    infoServer.addServlet("rs-status", "/rs-status", RSStatusServlet.class);<a name="line.729"></a>
+<span class="sourceLineNo">730</span>    infoServer.setAttribute(REGIONSERVER, this);<a name="line.730"></a>
+<span class="sourceLineNo">731</span>  }<a name="line.731"></a>
+<span class="sourceLineNo">732</span><a name="line.732"></a>
+<span class="sourceLineNo">733</span>  protected Class&lt;? extends HttpServlet&gt; getDumpServlet() {<a name="line.733"></a>
+<span class="sourceLineNo">734</span>    return RSDumpServlet.class;<a name="line.734"></a>
+<span class="sourceLineNo">735</span>  }<a name="line.735"></a>
+<span class="sourceLineNo">736</span><a name="line.736"></a>
+<span class="sourceLineNo">737</span>  @Override<a name="line.737"></a>
+<span class="sourceLineNo">738</span>  public boolean registerService(com.google.protobuf.Service instance) {<a name="line.738"></a>
+<span class="sourceLineNo">739</span>    /*<a name="line.739"></a>
+<span class="sourceLineNo">740</span>     * No stacking of instances is allowed for a single service name<a name="line.740"></a>
+<span class="sourceLineNo">741</span>     */<a name="line.741"></a>
+<span class="sourceLineNo">742</span>    com.google.protobuf.Descriptors.ServiceDescriptor serviceDesc =<a name="line.742"></a>
+<span class="sourceLineNo">743</span>        instance.getDescriptorForType();<a name="line.743"></a>
+<span class="sourceLineNo">744</span>    String serviceName = CoprocessorRpcUtils.getServiceName(serviceDesc);<a name="line.744"></a>
+<span class="sourceLineNo">745</span>    if (coprocessorServiceHandlers.containsKey(serviceName)) {<a name="line.745"></a>
+<span class="sourceLineNo">746</span>      LOG.error("Coprocessor service " + serviceName<a name="line.746"></a>
+<span class="sourceLineNo">747</span>          + " already registered, rejecting request from " + instance);<a name="line.747"></a>
+<span class="sourceLineNo">748</span>      return false;<a name="line.748"></a>
+<span class="sourceLineNo">749</span>    }<a name="line.749"></a>
+<span class="sourceLineNo">750</span><a name="line.750"></a>
+<span class="sourceLineNo">751</span>    coprocessorServiceHandlers.put(serviceName, instance);<a name="line.751"></a>
+<span class="sourceLineNo">752</span>    if (LOG.isDebugEnabled()) {<a name="line.752"></a>
+<span class="sourceLineNo">753</span>      LOG.debug("Registered regionserver coprocessor service: service=" + serviceName);<a name="line.753"></a>
+<span class="sourceLineNo">754</span>    }<a name="line.754"></a>
+<span class="sourceLineNo">755</span>    return true;<a name="line.755"></a>
 <span class="sourceLineNo">756</span>  }<a name="line.756"></a>
 <span class="sourceLineNo">757</span><a name="line.757"></a>
 <span class="sourceLineNo">758</span>  /**<a name="line.758"></a>
-<span class="sourceLineNo">759</span>   * Run test on configured codecs to make sure supporting libs are in place.<a name="line.759"></a>
-<span class="sourceLineNo">760</span>   * @param c<a name="line.760"></a>
-<span class="sourceLineNo">761</span>   * @throws IOException<a name="line.761"></a>
-<span class="sourceLineNo">762</span>   */<a name="line.762"></a>
-<span class="sourceLineNo">763</span>  private static void checkCodecs(final Configuration c) throws IOException {<a name="line.763"></a>
-<span class="sourceLineNo">764</span>    // check to see if the codec list is available:<a name="line.764"></a>
-<span class="sourceLineNo">765</span>    String [] codecs = c.getStrings("hbase.regionserver.codecs", (String[])null);<a name="line.765"></a>
-<span class="sourceLineNo">766</span>    if (codecs == null) return;<a name="line.766"></a>
-<span class="sourceLineNo">767</span>    for (String codec : codecs) {<a name="line.767"></a>
-<span class="sourceLineNo">768</span>      if (!CompressionTest.testCompression(codec)) {<a name="line.768"></a>
-<span class="sourceLineNo">769</span>        throw new IOException("Compression codec " + codec +<a name="line.769"></a>
-<span class="sourceLineNo">770</span>          " not supported, aborting RS construction");<a name="line.770"></a>
-<span class="sourceLineNo">771</span>      }<a name="line.771"></a>
-<span class="sourceLineNo">772</span>    }<a name="line.772"></a>
-<span class="sourceLineNo">773</span>  }<a name="line.773"></a>
-<span class="sourceLineNo">774</span><a name="line.774"></a>
-<span class="sourceLineNo">775</span>  public String getClusterId() {<a name="line.775"></a>
-<span class="sourceLineNo">776</span>    return this.clusterId;<a name="line.776"></a>
-<span class="sourceLineNo">777</span>  }<a name="line.777"></a>
-<span class="sourceLineNo">778</span><a name="line.778"></a>
-<span class="sourceLineNo">779</span>  /**<a name="line.779"></a>
-<span class="sourceLineNo">780</span>   * Setup our cluster connection if not already initialized.<a name="line.780"></a>
-<span class="sourceLineNo">781</span>   * @throws IOException<a name="line.781"></a>
-<span class="sourceLineNo">782</span>   */<a name="line.782"></a>
-<span class="sourceLineNo">783</span>  protected synchronized void setupClusterConnection() throws IOException {<a name="line.783"></a>
-<span class="sourceLineNo">784</span>    if (clusterConnection == null) {<a name="line.784"></a>
-<span class="sourceLineNo">785</span>      clusterConnection = createClusterConnection();<a name="line.785"></a>
-<span class="sourceLineNo">786</span>      metaTableLocator = new MetaTableLocator();<a name="line.786"></a>
+<span class="sourceLineNo">759</span>   * Create a 'smarter' Connection, one that is capable of by-passing RPC if the request is to<a name="line.759"></a>
+<span class="sourceLineNo">760</span>   * the local server. Safe to use going to local or remote server.<a name="line.760"></a>
+<span class="sourceLineNo">761</span>   * Create this instance in a method can be intercepted and mocked in tests.<a name="line.761"></a>
+<span class="sourceLineNo">762</span>   * @throws IOException<a name="line.762"></a>
+<span class="sourceLineNo">763</span>   */<a name="line.763"></a>
+<span class="sourceLineNo">764</span>  @VisibleForTesting<a name="line.764"></a>
+<span class="sourceLineNo">765</span>  protected ClusterConnection createClusterConnection() throws IOException {<a name="line.765"></a>
+<span class="sourceLineNo">766</span>    // Create a cluster connection that when appropriate, can short-circuit and go directly to the<a name="line.766"></a>
+<span class="sourceLineNo">767</span>    // local server if the request is to the local server bypassing RPC. Can be used for both local<a name="line.767"></a>
+<span class="sourceLineNo">768</span>    // and remote invocations.<a name="line.768"></a>
+<span class="sourceLineNo">769</span>    return ConnectionUtils.createShortCircuitConnection(conf, null, userProvider.getCurrent(),<a name="line.769"></a>
+<span class="sourceLineNo">770</span>      serverName, rpcServices, rpcServices);<a name="line.770"></a>
+<span class="sourceLineNo">771</span>  }<a name="line.771"></a>
+<span class="sourceLineNo">772</span><a name="line.772"></a>
+<span class="sourceLineNo">773</span>  /**<a name="line.773"></a>
+<span class="sourceLineNo">774</span>   * Run test on configured codecs to make sure supporting libs are in place.<a name="line.774"></a>
+<span class="sourceLineNo">775</span>   * @param c<a name="line.775"></a>
+<span class="sourceLineNo">776</span>   * @throws IOException<a name="line.776"></a>
+<span class="sourceLineNo">777</span>   */<a name="line.777"></a>
+<span class="sourceLineNo">778</span>  private static void checkCodecs(final Configuration c) throws IOException {<a name="line.778"></a>
+<span class="sourceLineNo">779</span>    // check to see if the codec list is available:<a name="line.779"></a>
+<span class="sourceLineNo">780</span>    String [] codecs = c.getStrings("hbase.regionserver.codecs", (String[])null);<a name="line.780"></a>
+<span class="sourceLineNo">781</span>    if (codecs == null) return;<a name="line.781"></a>
+<span class="sourceLineNo">782</span>    for (String codec : codecs) {<a name="line.782"></a>
+<span class="sourceLineNo">783</span>      if (!CompressionTest.testCompression(codec)) {<a name="line.783"></a>
+<span class="sourceLineNo">784</span>        throw new IOException("Compression codec " + codec +<a name="line.784"></a>
+<span class="sourceLineNo">785</span>          " not supported, aborting RS construction");<a name="line.785"></a>
+<span class="sourceLineNo">786</span>      }<a name="line.786"></a>
 <span class="sourceLineNo">787</span>    }<a name="line.787"></a>
 <span class="sourceLineNo">788</span>  }<a name="line.788"></a>
 <span class="sourceLineNo">789</span><a name="line.789"></a>
-<span class="sourceLineNo">790</span>  /**<a name="line.790"></a>
-<span class="sourceLineNo">791</span>   * All initialization needed before we go register with Master.<a name="line.791"></a>
-<span class="sourceLineNo">792</span>   *<a name="line.792"></a>
-<span class="sourceLineNo">793</span>   * @throws IOException<a name="line.793"></a>
-<span class="sourceLineNo">794</span>   * @throws InterruptedException<a name="line.794"></a>
-<span class="sourceLineNo">795</span>   */<a name="line.795"></a>
-<span class="sourceLineNo">796</span>  private void preRegistrationInitialization(){<a name="line.796"></a>
-<span class="sourceLineNo">797</span>    try {<a name="line.797"></a>
-<span class="sourceLineNo">798</span>      setupClusterConnection();<a name="line.798"></a>
-<span class="sourceLineNo">799</span><a name="line.799"></a>
-<span class="sourceLineNo">800</span>      this.secureBulkLoadManager = new SecureBulkLoadManager(this.conf, clusterConnection);<a name="line.800"></a>
-<span class="sourceLineNo">801</span>      this.secureBulkLoadManager.start();<a name="line.801"></a>
-<span class="sourceLineNo">802</span><a name="line.802"></a>
-<span class="sourceLineNo">803</span>      // Health checker thread.<a name="line.803"></a>
-<span class="sourceLineNo">804</span>      if (isHealthCheckerConfigured()) {<a name="line.804"></a>
-<span class="sourceLineNo">805</span>        int sleepTime = this.conf.getInt(HConstants.HEALTH_CHORE_WAKE_FREQ,<a name="line.805"></a>
-<span class="sourceLineNo">806</span>          HConstants.DEFAULT_THREAD_WAKE_FREQUENCY);<a name="line.806"></a>
-<span class="sourceLineNo">807</span>        healthCheckChore = new HealthCheckChore(sleepTime, this, getConfiguration());<a name="line.807"></a>
-<span class="sourceLineNo">808</span>      }<a name="line.808"></a>
-<span class="sourceLineNo">809</span><a name="line.809"></a>
-<span class="sourceLineNo">810</span>      initializeZooKeeper();<a name="line.810"></a>
-<span class="sourceLineNo">811</span>      if (!isStopped() &amp;&amp; !isAborted()) {<a name="line.811"></a>
-<span class="sourceLineNo">812</span>        initializeThreads();<a name="line.812"></a>
-<span class="sourceLineNo">813</span>      }<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    } catch (Throwable t) {<a name="line.814"></a>
-<span class="sourceLineNo">815</span>      // Call stop if error or process will stick around for ever since server<a name="line.815"></a>
-<span class="sourceLineNo">816</span>      // puts up non-daemon threads.<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      this.rpcServices.stop();<a name="line.817"></a>
-<span class="sourceLineNo">818</span>      abort("Initialization of RS failed.  Hence aborting RS.", t);<a name="line.818"></a>
-<span class="sourceLineNo">819</span>    }<a name="line.819"></a>
-<span class="sourceLineNo">820</span>  }<a name="line.820"></a>
-<span class="sourceLineNo">821</span><a name="line.821"></a>
-<span class="sourceLineNo">822</span>  /**<a name="line.822"></a>
-<span class="sourceLineNo">823</span>   * Bring up connection to zk ensemble and then wait until a master for this<a name="line.823"></a>
-<span class="sourceLineNo">824</span>   * cluster and then after that, wait until cluster 'up' flag has been set.<a name="line.824"></a>
-<span class="sourceLineNo">825</span>   * This is the order in which master does things.<a name="line.825"></a>
-<span class="sourceLineNo">826</span>   * Finally open long-living server short-circuit connection.<a name="line.826"></a>
-<span class="sourceLineNo">827</span>   * @throws IOException<a name="line.827"></a>
-<span class="sourceLineNo">828</span>   * @throws InterruptedException<a name="line.828"></a>
-<span class="sourceLineNo">829</span>   */<a name="line.829"></a>
-<span class="sourceLineNo">830</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="RV_RETURN_VALUE_IGNORED_BAD_PRACTICE",<a name="line.830"></a>
-<span class="sourceLineNo">831</span>    justification="cluster Id znode read would give us correct response")<a name="line.831"></a>
-<span class="sourceLineNo">832</span>  private void initializeZooKeeper() throws IOException, InterruptedException {<a name="line.832"></a>
-<span class="sourceLineNo">833</span>    // Create the master address tracker, register with zk, and start it.  Then<a name="line.833"></a>
-<span class="sourceLineNo">834</span>    // block until a master is available.  No point in starting up if no master<a name="line.834"></a>
-<span class="sourceLineNo">835</span>    // running.<a name="line.835"></a>
-<span class="sourceLineNo">836</span>    blockAndCheckIfStopped(this.masterAddressTracker);<a name="line.836"></a>
-<span class="sourceLineNo">837</span><a name="line.837"></a>
-<span class="sourceLineNo">838</span>    // Wait on cluster being up.  Master will set this flag up in zookeeper<a name="line.838"></a>
-<span class="sourceLineNo">839</span>    // when ready.<a name="line.839"></a>
-<span class="sourceLineNo">840</span>    blockAndCheckIfStopped(this.clusterStatusTracker);<a name="line.840"></a>
-<span class="sourceLineNo">841</span><a name="line.841"></a>
-<span class="sourceLineNo">842</span>    doLatch(this.initLatch);<a name="line.842"></a>
-<span class="sourceLineNo">843</span><a name="line.843"></a>
-<span class="sourceLineNo">844</span>    // Retrieve clusterId<a name="line.844"></a>
-<span class="sourceLineNo">845</span>    // Since cluster status is now up<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    // ID should have already been set by HMaster<a name="line.846"></a>
-<span class="sourceLineNo">847</span>    try {<a name="line.847"></a>
-<span class="sourceLineNo">848</span>      clusterId = ZKClusterId.readClusterIdZNode(this.zooKeeper);<a name="line.848"></a>
-<span class="sourceLineNo">849</span>      if (clusterId == null) {<a name="line.849"></a>
-<span class="sourceLineNo">850</span>        this.abort("Cluster ID has not been set");<a name="line.850"></a>
-<span class="sourceLineNo">851</span>      }<a name="line.851"></a>
-<span class="sourceLineNo">852</span>      LOG.info("ClusterId : "+clusterId);<a name="line.852"></a>
-<span class="sourceLineNo">853</span>    } catch (KeeperException e) {<a name="line.853"></a>
-<span class="sourceLineNo">854</span>      this.abort("Failed to retrieve Cluster ID",e);<a name="line.854"></a>
-<span class="sourceLineNo">855</span>    }<a name="line.855"></a>
+<span class="sourceLineNo">790</span>  public String getClusterId() {<a name="line.790"></a>
+<span class="sourceLineNo">791</span>    return this.clusterId;<a name="line.791"></a>
+<span class="sourceLineNo">792</span>  }<a name="line.792"></a>
+<span class="sourceLineNo">793</span><a name="line.793"></a>
+<span class="sourceLineNo">794</span>  /**<a name="line.794"></a>
+<span class="sourceLineNo">795</span>   * Setup our cluster connection if not already initialized.<a name="line.795"></a>
+<span class="sourceLineNo">796</span>   * @throws IOException<a name="line.796"></a>
+<span class="sourceLineNo">797</span>   */<a name="line.797"></a>
+<span class="sourceLineNo">798</span>  protected synchronized void setupClusterConnection() throws IOException {<a name="line.798"></a>
+<span class="sourceLineNo">799</span>    if (clusterConnection == null) {<a name="line.799"></a>
+<span class="sourceLineNo">800</span>      clusterConnection = createClusterConnection();<a name="line.800"></a>
+<span class="sourceLineNo">801</span>      metaTableLocator = new MetaTableLocator();<a name="line.801"></a>
+<span class="sourceLineNo">802</span>    }<a name="line.802"></a>
+<span class="sourceLineNo">803</span>  }<a name="line.803"></a>
+<span class="sourceLineNo">804</span><a name="line.804"></a>
+<span class="sourceLineNo">805</span>  /**<a name="line.805"></a>
+<span class="sourceLineNo">806</span>   * All initialization needed before we go register with Master.<a name="line.806"></a>
+<span class="sourceLineNo">807</span>   *<a name="line.807"></a>
+<span class="sourceLineNo">808</span>   * @throws IOException<a name="line.808"></a>
+<span class="sourceLineNo">809</span>   * @throws InterruptedException<a name="line.809"></a>
+<span class="sourceLineNo">810</span>   */<a name="line.810"></a>
+<span class="sourceLineNo">811</span>  private void preRegistrationInitialization(){<a name="line.811"></a>
+<span class="sourceLineNo">812</span>    try {<a name="line.812"></a>
+<span class="sourceLineNo">813</span>      setupClusterConnection();<a name="line.813"></a>
+<span class="sourceLineNo">814</span><a name="line.814"></a>
+<span class="sourceLineNo">815</span>      this.secureBulkLoadManager = new SecureBulkLoadManager(this.conf, clusterConnection);<a name="line.815"></a>
+<span class="sourceLineNo">816</span>      this.secureBulkLoadManager.start();<a name="line.816"></a>
+<span class="sourceLineNo">817</span><a name="line.817"></a>
+<span class="sourceLineNo">818</span>      // Health checker thread.<a name="line.818"></a>
+<span class="sourceLineNo">819</span>      if (isHealthCheckerConfigured()) {<a name="line.819"></a>
+<span class="sourceLineNo">820</span>        int sleepTime = this.conf.getInt(HConstants.HEALTH_CHORE_WAKE_FREQ,<a name="line.820"></a>
+<span class="sourceLineNo">821</span>          HConstants.DEFAULT_THREAD_WAKE_FREQUENCY);<a name="line.821"></a>
+<span class="sourceLineNo">822</span>        healthCheckChore = new HealthCheckChore(sleepTime, this, getConfiguration());<a name="line.822"></a>
+<span class="sourceLineNo">823</span>      }<a name="line.823"></a>
+<span class="sourceLineNo">824</span><a name="line.824"></a>
+<span class="sourceLineNo">825</span>      initializeZooKeeper();<a name="line.825"></a>
+<span class="sourceLineNo">826</span>      if (!isStopped() &amp;&amp; !isAborted()) {<a name="line.826"></a>
+<span class="sourceLineNo">827</span>        initializeThreads();<a name="line.827"></a>
+<span class="sourceLineNo">828</span>      }<a name="line.828"></a>
+<span class="sourceLineNo">829</span>    } catch (Throwable t) {<a name="line.829"></a>
+<span class="sourceLineNo">830</span>      // Call stop if error or process will stick around for ever since server<a name="line.830"></a>
+<span class="sourceLineNo">831</span>      // puts up non-daemon threads.<a name="line.831"></a>
+<span class="sourceLineNo">832</span>      this.rpcServices.stop();<a name="line.832"></a>
+<span class="sourceLineNo">833</span>      abort("Initialization of RS failed.  Hence aborting RS.", t);<a name="line.833"></a>
+<span class="sourceLineNo">834</span>    }<a name="line.834"></a>
+<span class="sourceLineNo">835</span>  }<a name="line.835"></a>
+<span class="sourceLineNo">836</span><a name="line.836"></a>
+<span class="sourceLineNo">837</span>  /**<a name="line.837"></a>
+<span class="sourceLineNo">838</span>   * Bring up connection to zk ensemble and then wait until a master for this<a name="line.838"></a>
+<span class="sourceLineNo">839</span>   * cluster and then after that, wait until cluster 'up' flag has been set.<a name="line.839"></a>
+<span class="sourceLineNo">840</span>   * This is the order in which master does things.<a name="line.840"></a>
+<span class="sourceLineNo">841</span>   * Finally open long-living server short-circuit connection.<a name="line.841"></a>
+<span class="sourceLineNo">842</span>   * @throws IOException<a name="line.842"></a>
+<span class="sourceLineNo">843</span>   * @throws InterruptedException<a name="line.843"></a>
+<span class="sourceLineNo">844</span>   */<a name="line.844"></a>
+<span class="sourceLineNo">845</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="RV_RETURN_VALUE_IGNORED_BAD_PRACTICE",<a name="line.845"></a>
+<span class="sourceLineNo">846</span>    justification="cluster Id znode read would give us correct response")<a name="line.846"></a>
+<span class="sourceLineNo">847</span>  private void initializeZooKeeper() throws IOException, InterruptedException {<a name="line.847"></a>
+<span class="sourceLineNo">848</span>    // Create the master address tracker, register with zk, and start it.  Then<a name="line.848"></a>
+<span class="sourceLineNo">849</span>    // block until a master is available.  No point in starting up if no master<a name="line.849"></a>
+<span class="sourceLineNo">850</span>    // running.<a name="line.850"></a>
+<span class="sourceLineNo">851</span>    blockAndCheckIfStopped(this.masterAddressTracker);<a name="line.851"></a>
+<span class="sourceLineNo">852</span><a name="line.852"></a>
+<span class="sourceLineNo">853</span>    // Wait on cluster being up.  Master will set this flag up in zookeeper<a name="line.853"></a>
+<span class="sourceLineNo">854</span>    // when ready.<a name="line.854"></a>
+<span class="sourceLineNo">855</span>    blockAndCheckIfStopped(this.clusterStatusTracker);<a name="line.855"></a>
 <span class="sourceLineNo">856</span><a name="line.856"></a>
-<span class="sourceLineNo">857</span>    // In case colocated master, wait here till it's active.<a name="line.857"></a>
-<span class="sourceLineNo">858</span>    // So backup masters won't start as regionservers.<a name="line.858"></a>
-<span class="sourceLineNo">859</span>    // This is to avoid showing backup masters as regionservers<a name="line.859"></a>
-<span class="sourceLineNo">860</span>    // in master web UI, or assigning any region to them.<a name="line.860"></a>
-<span class="sourceLineNo">861</span>    waitForMasterActive();<a name="line.861"></a>
-<span class="sourceLineNo">862</span>    if (isStopped() || isAborted()) {<a name="line.862"></a>
-<span class="sourceLineNo">863</span>      return; // No need for further initialization<a name="line.863"></a>
-<span class="sourceLineNo">864</span>    }<a name="line.864"></a>
-<span class="sourceLineNo">865</span><a name="line.865"></a>
-<span class="sourceLineNo">866</span>    // watch for snapshots and other procedures<a name="line.866"></a>
-<span class="sourceLineNo">867</span>    try {<a name="line.867"></a>
-<span class="sourceLineNo">868</span>      rspmHost = new RegionServerProcedureManagerHost();<a name="line.868"></a>
-<span class="sourceLineNo">869</span>      rspmHost.loadProcedures(conf);<a name="line.869"></a>
-<span class="sourceLineNo">870</span>      rspmHost.initialize(this);<a name="line.870"></a>
-<span class="sourceLineNo">871</span>    } catch (KeeperException e) {<a name="line.871"></a>
-<span class="sourceLineNo">872</span>      this.abort("Failed to reach coordination cluster when creating procedure handler.", e);<a name="line.872"></a>
-<span class="sourceLineNo">873</span>    }<a name="line.873"></a>
-<span class="sourceLineNo">874</span>    // register watcher for recovering regions<a name="line.874"></a>
-<span class="sourceLineNo">875</span>    this.recoveringRegionWatcher = new RecoveringRegionWatcher(this.zooKeeper, this);<a name="line.875"></a>
-<span class="sourceLineNo">876</span>  }<a name="line.876"></a>
-<span class="sourceLineNo">877</span><a name="line.877"></a>
-<span class="sourceLineNo">878</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="RV_RETURN_VALUE_IGNORED",<a name="line.878"></a>
-<span class="sourceLineNo">879</span>      justification="We don't care about the return")<a name="line.879"></a>
-<span class="sourceLineNo">880</span>  private void doLatch(final CountDownLatch latch) throws InterruptedException {<a name="line.880"></a>
-<span class="sourceLineNo">881</span>    if (latch != null) {<a name="line.881"></a>
-<span class="sourceLineNo">882</span>      // Result is ignored intentionally but if I remove the below, findbugs complains (the<a name="line.882"></a>
-<span class="sourceLineNo">883</span>      // above justification on this method doesn't seem to suppress it).<a name="line.883"></a>
-<span class="sourceLineNo">884</span>      boolean result = latch.await(20, TimeUnit.SECONDS);<a name="line.884"></a>
-<span class="sourceLineNo">885</span>    }<a name="line.885"></a>
-<span class="sourceLineNo">886</span>  }<a name="line.886"></a>
-<span class="sourceLineNo">887</span><a name="line.887"></a>
-<span class="sourceLineNo">888</span>  /**<a name="line.888"></a>
-<span class="sourceLineNo">889</span>   * Utilty method to wait indefinitely on a znode availability while checking<a name="line.889"></a>
-<span class="sourceLineNo">890</span>   * if the region server is shut down<a name="line.890"></a>
-<span class="sourceLineNo">891</span>   * @param tracker znode tracker to use<a name="line.891"></a>
-<span class="sourceLineNo">892</span>   * @throws IOException any IO exception, plus if the RS is stopped<a name="line.892"></a>
-<span class="sourceLineNo">893</span>   * @throws InterruptedException<a name="line.893"></a>
-<span class="sourceLineNo">894</span>   */<a name="line.894"></a>
-<span class="sourceLineNo">895</span>  private void blockAndCheckIfStopped(ZooKeeperNodeTracker tracker)<a name="line.895"></a>
-<span class="sourceLineNo">896</span>      throws IOException, InterruptedException {<a name="line.896"></a>
-<span class="sourceLineNo">897</span>    while (tracker.blockUntilAvailable(this.msgInterval, false) == null) {<a name="line.897"></a>
-<span class="sourceLineNo">898</span>      if (this.stopped) {<a name="line.898"></a>
-<span class="sourceLineNo">899</span>        throw new IOException("Received the shutdown message while waiting.");<a name="line.899"></a>
-<span class="sourceLineNo">900</span>      }<a name="line.900"></a>
-<span class="sourceLineNo">901</span>    }<a name="line.901"></a>
-<span class="sourceLineNo">902</span>  }<a name="line.902"></a>
-<span class="sourceLineNo">903</span><a name="line.903"></a>
-<span class="sourceLineNo">904</span>  /**<a name="line.904"></a>
-<span class="sourceLineNo">905</span>   * @return False if cluster shutdown in progress<a name="line.905"></a>
-<span class="sourceLineNo">906</span>   */<a name="line.906"></a>
-<span class="sourceLineNo">907</span>  private boolean isClusterUp() {<a name="line.907"></a>
-<span class="sourceLineNo">908</span>    return clusterStatusTracker != null &amp;&amp; clusterStatusTracker.isClusterUp();<a name="line.908"></a>
-<span class="sourceLineNo">909</span>  }<a name="line.909"></a>
-<span class="sourceLineNo">910</span><a name="line.910"></a>
-<span class="sourceLineNo">911</span>  private void initializeThreads() throws IOException {<a name="line.911"></a>
-<span class="sourceLineNo">912</span>    // Cache flushing thread.<a name="line.912"></a>
-<span class="sourceLineNo">913</span>    this.cacheFlusher = new MemStoreFlusher(conf, this);<a name="line.913"></a>
-<span class="sourceLineNo">914</span><a name="line.914"></a>
-<span class="sourceLineNo">915</span>    // Compaction thread<a name="line.915"></a>
-<span class="sourceLineNo">916</span>    this.compactSplitThread = new CompactSplit(this);<a name="line.916"></a>
-<span class="sourceLineNo">917</span><a name="line.917"></a>
-<span class="sourceLineNo">918</span>    // Background thread to check for compactions; needed if region has not gotten updates<a name="line.918"></a>
-<span class="sourceLineNo">919</span>    // in a while. It will take care of not checking too frequently on store-by-store basis.<a name="line.919"></a>
-<span class="sourceLineNo">920</span>    this.compactionChecker = new CompactionChecker(this, this.threadWakeFrequency, this);<a name="line.920"></a>
-<span class="sourceLineNo">921</span>    this.periodicFlusher = new PeriodicMemstoreFlusher(this.threadWakeFrequency, this);<a name="line.921"></a>
-<span class="sourceLineNo">922</span>    this.leases = new Leases(this.threadWakeFrequency);<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>    // Create the thread to clean the moved regions list<a name="line.924"></a>
-<span class="sourceLineNo">925</span>    movedRegionsCleaner = MovedRegionsCleaner.create(this);<a name="line.925"></a>
-<span class="sourceLineNo">926</span><a name="line.926"></a>
-<span class="sourceLineNo">927</span>    if (this.nonceManager != null) {<a name="line.927"></a>
-<span class="sourceLineNo">928</span>      // Create the scheduled chore that cleans up nonces.<a name="line.928"></a>
-<span class="sourceLineNo">929</span>      nonceManagerChore = this.nonceManager.createCleanupScheduledChore(this);<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>    // Setup the Quota Manager<a name="line.932"></a>
-<span class="sourceLineNo">933</span>    rsQuotaManager = new RegionServerRpcQuotaManager(this);<a name="line.933"></a>
-<span class="sourceLineNo">934</span>    rsSpaceQuotaManager = new RegionServerSpaceQuotaManager(this);<a name="line.934"></a>
-<span class="sourceLineNo">935</span><a name="line.935"></a>
-<span class="sourceLineNo">936</span>    if (QuotaUtil.isQuotaEnabled(conf)) {<a name="line.936"></a>
-<span class="sourceLineNo">937</span>      this.fsUtilizationChore = new FileSystemUtilizationChore(this);<a name="line.937"></a>
-<span class="sourceLineNo">938</span>    }<a name="line.938"></a>
-<span class="sourceLineNo">939</span><a name="line.939"></a>
-<span class="sourceLineNo">940</span>    // Setup RPC client for master communication<a name="line.940"></a>
-<span class="sourceLineNo">941</span>    rpcClient = RpcClientFactory.createClient(conf, clusterId, new InetSocketAddress(<a name="line.941"></a>
-<span class="sourceLineNo">942</span>        rpcServices.isa.getAddress(), 0), clusterConnection.getConnectionMetrics());<a name="line.942"></a>
-<span class="sourceLineNo">943</span><a name="line.943"></a>
-<span class="sourceLineNo">944</span>    boolean onlyMetaRefresh = false;<a name="line.944"></a>
-<span class="sourceLineNo">945</span>    int storefileRefreshPeriod = conf.getInt(<a name="line.945"></a>
-<span class="sourceLineNo">946</span>        StorefileRefresherChore.REGIONSERVER_STOREFILE_REFRESH_PERIOD<a name="line.946"></a>
-<span class="sourceLineNo">947</span>      , StorefileRefresherChore.DEFAULT_REGIONSERVER_STOREFILE_REFRESH_PERIOD);<a name="line.947"></a>
-<span class="sourceLineNo">948</span>    if (storefileRefreshPeriod == 0) {<a name="line.948"></a>
-<span class="sourceLineNo">949</span>    

<TRUNCATED>

[12/26] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/src-html/org/apache/hadoop/hbase/quotas/TableQuotaSnapshotStore.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/TableQuotaSnapshotStore.html b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/TableQuotaSnapshotStore.html
index 12f3d31..310dc64 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/TableQuotaSnapshotStore.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/TableQuotaSnapshotStore.html
@@ -122,7 +122,7 @@
 <span class="sourceLineNo">114</span>   */<a name="line.114"></a>
 <span class="sourceLineNo">115</span>  long getSnapshotSizesForTable(TableName tn) throws IOException {<a name="line.115"></a>
 <span class="sourceLineNo">116</span>    try (Table quotaTable = conn.getTable(QuotaTableUtil.QUOTA_TABLE_NAME)) {<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      Scan s = QuotaTableUtil.createScanForSnapshotSizes(tn);<a name="line.117"></a>
+<span class="sourceLineNo">117</span>      Scan s = QuotaTableUtil.createScanForSpaceSnapshotSizes(tn);<a name="line.117"></a>
 <span class="sourceLineNo">118</span>      ResultScanner rs = quotaTable.getScanner(s);<a name="line.118"></a>
 <span class="sourceLineNo">119</span>      try {<a name="line.119"></a>
 <span class="sourceLineNo">120</span>        long size = 0L;<a name="line.120"></a>


[07/26] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html
index e1e4110..c46e8c5 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html
@@ -458,3282 +458,3297 @@
 <span class="sourceLineNo">450</span>  @InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CONFIG)<a name="line.450"></a>
 <span class="sourceLineNo">451</span>  protected final static String MASTER_HOSTNAME_KEY = "hbase.master.hostname";<a name="line.451"></a>
 <span class="sourceLineNo">452</span><a name="line.452"></a>
-<span class="sourceLineNo">453</span>  /**<a name="line.453"></a>
-<span class="sourceLineNo">454</span>   * This servers startcode.<a name="line.454"></a>
-<span class="sourceLineNo">455</span>   */<a name="line.455"></a>
-<span class="sourceLineNo">456</span>  protected final long startcode;<a name="line.456"></a>
+<span class="sourceLineNo">453</span>  // HBASE-18226: This config and hbase.regionserver.hostname are mutually exclusive.<a name="line.453"></a>
+<span class="sourceLineNo">454</span>  // Exception will be thrown if both are used.<a name="line.454"></a>
+<span class="sourceLineNo">455</span>  final static String RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY =<a name="line.455"></a>
+<span class="sourceLineNo">456</span>    "hbase.regionserver.hostname.disable.master.reversedns";<a name="line.456"></a>
 <span class="sourceLineNo">457</span><a name="line.457"></a>
 <span class="sourceLineNo">458</span>  /**<a name="line.458"></a>
-<span class="sourceLineNo">459</span>   * Unique identifier for the cluster we are a part of.<a name="line.459"></a>
+<span class="sourceLineNo">459</span>   * This servers startcode.<a name="line.459"></a>
 <span class="sourceLineNo">460</span>   */<a name="line.460"></a>
-<span class="sourceLineNo">461</span>  private String clusterId;<a name="line.461"></a>
+<span class="sourceLineNo">461</span>  protected final long startcode;<a name="line.461"></a>
 <span class="sourceLineNo">462</span><a name="line.462"></a>
 <span class="sourceLineNo">463</span>  /**<a name="line.463"></a>
-<span class="sourceLineNo">464</span>   * MX Bean for RegionServerInfo<a name="line.464"></a>
+<span class="sourceLineNo">464</span>   * Unique identifier for the cluster we are a part of.<a name="line.464"></a>
 <span class="sourceLineNo">465</span>   */<a name="line.465"></a>
-<span class="sourceLineNo">466</span>  private ObjectName mxBean = null;<a name="line.466"></a>
+<span class="sourceLineNo">466</span>  private String clusterId;<a name="line.466"></a>
 <span class="sourceLineNo">467</span><a name="line.467"></a>
 <span class="sourceLineNo">468</span>  /**<a name="line.468"></a>
-<span class="sourceLineNo">469</span>   * Chore to clean periodically the moved region list<a name="line.469"></a>
+<span class="sourceLineNo">469</span>   * MX Bean for RegionServerInfo<a name="line.469"></a>
 <span class="sourceLineNo">470</span>   */<a name="line.470"></a>
-<span class="sourceLineNo">471</span>  private MovedRegionsCleaner movedRegionsCleaner;<a name="line.471"></a>
+<span class="sourceLineNo">471</span>  private ObjectName mxBean = null;<a name="line.471"></a>
 <span class="sourceLineNo">472</span><a name="line.472"></a>
-<span class="sourceLineNo">473</span>  // chore for refreshing store files for secondary regions<a name="line.473"></a>
-<span class="sourceLineNo">474</span>  private StorefileRefresherChore storefileRefresher;<a name="line.474"></a>
-<span class="sourceLineNo">475</span><a name="line.475"></a>
-<span class="sourceLineNo">476</span>  private RegionServerCoprocessorHost rsHost;<a name="line.476"></a>
+<span class="sourceLineNo">473</span>  /**<a name="line.473"></a>
+<span class="sourceLineNo">474</span>   * Chore to clean periodically the moved region list<a name="line.474"></a>
+<span class="sourceLineNo">475</span>   */<a name="line.475"></a>
+<span class="sourceLineNo">476</span>  private MovedRegionsCleaner movedRegionsCleaner;<a name="line.476"></a>
 <span class="sourceLineNo">477</span><a name="line.477"></a>
-<span class="sourceLineNo">478</span>  private RegionServerProcedureManagerHost rspmHost;<a name="line.478"></a>
-<span class="sourceLineNo">479</span><a name="line.479"></a>
-<span class="sourceLineNo">480</span>  private RegionServerRpcQuotaManager rsQuotaManager;<a name="line.480"></a>
-<span class="sourceLineNo">481</span>  private RegionServerSpaceQuotaManager rsSpaceQuotaManager;<a name="line.481"></a>
+<span class="sourceLineNo">478</span>  // chore for refreshing store files for secondary regions<a name="line.478"></a>
+<span class="sourceLineNo">479</span>  private StorefileRefresherChore storefileRefresher;<a name="line.479"></a>
+<span class="sourceLineNo">480</span><a name="line.480"></a>
+<span class="sourceLineNo">481</span>  private RegionServerCoprocessorHost rsHost;<a name="line.481"></a>
 <span class="sourceLineNo">482</span><a name="line.482"></a>
-<span class="sourceLineNo">483</span>  /**<a name="line.483"></a>
-<span class="sourceLineNo">484</span>   * Nonce manager. Nonces are used to make operations like increment and append idempotent<a name="line.484"></a>
-<span class="sourceLineNo">485</span>   * in the case where client doesn't receive the response from a successful operation and<a name="line.485"></a>
-<span class="sourceLineNo">486</span>   * retries. We track the successful ops for some time via a nonce sent by client and handle<a name="line.486"></a>
-<span class="sourceLineNo">487</span>   * duplicate operations (currently, by failing them; in future we might use MVCC to return<a name="line.487"></a>
-<span class="sourceLineNo">488</span>   * result). Nonces are also recovered from WAL during, recovery; however, the caveats (from<a name="line.488"></a>
-<span class="sourceLineNo">489</span>   * HBASE-3787) are:<a name="line.489"></a>
-<span class="sourceLineNo">490</span>   * - WAL recovery is optimized, and under high load we won't read nearly nonce-timeout worth<a name="line.490"></a>
-<span class="sourceLineNo">491</span>   *   of past records. If we don't read the records, we don't read and recover the nonces.<a name="line.491"></a>
-<span class="sourceLineNo">492</span>   *   Some WALs within nonce-timeout at recovery may not even be present due to rolling/cleanup.<a name="line.492"></a>
-<span class="sourceLineNo">493</span>   * - There's no WAL recovery during normal region move, so nonces will not be transfered.<a name="line.493"></a>
-<span class="sourceLineNo">494</span>   * We can have separate additional "Nonce WAL". It will just contain bunch of numbers and<a name="line.494"></a>
-<span class="sourceLineNo">495</span>   * won't be flushed on main path - because WAL itself also contains nonces, if we only flush<a name="line.495"></a>
-<span class="sourceLineNo">496</span>   * it before memstore flush, for a given nonce we will either see it in the WAL (if it was<a name="line.496"></a>
-<span class="sourceLineNo">497</span>   * never flushed to disk, it will be part of recovery), or we'll see it as part of the nonce<a name="line.497"></a>
-<span class="sourceLineNo">498</span>   * log (or both occasionally, which doesn't matter). Nonce log file can be deleted after the<a name="line.498"></a>
-<span class="sourceLineNo">499</span>   * latest nonce in it expired. It can also be recovered during move.<a name="line.499"></a>
-<span class="sourceLineNo">500</span>   */<a name="line.500"></a>
-<span class="sourceLineNo">501</span>  final ServerNonceManager nonceManager;<a name="line.501"></a>
-<span class="sourceLineNo">502</span><a name="line.502"></a>
-<span class="sourceLineNo">503</span>  private UserProvider userProvider;<a name="line.503"></a>
-<span class="sourceLineNo">504</span><a name="line.504"></a>
-<span class="sourceLineNo">505</span>  protected final RSRpcServices rpcServices;<a name="line.505"></a>
-<span class="sourceLineNo">506</span><a name="line.506"></a>
-<span class="sourceLineNo">507</span>  protected BaseCoordinatedStateManager csm;<a name="line.507"></a>
-<span class="sourceLineNo">508</span><a name="line.508"></a>
-<span class="sourceLineNo">509</span>  /**<a name="line.509"></a>
-<span class="sourceLineNo">510</span>   * Configuration manager is used to register/deregister and notify the configuration observers<a name="line.510"></a>
-<span class="sourceLineNo">511</span>   * when the regionserver is notified that there was a change in the on disk configs.<a name="line.511"></a>
-<span class="sourceLineNo">512</span>   */<a name="line.512"></a>
-<span class="sourceLineNo">513</span>  protected final ConfigurationManager configurationManager;<a name="line.513"></a>
-<span class="sourceLineNo">514</span><a name="line.514"></a>
-<span class="sourceLineNo">515</span>  @VisibleForTesting<a name="line.515"></a>
-<span class="sourceLineNo">516</span>  CompactedHFilesDischarger compactedFileDischarger;<a name="line.516"></a>
-<span class="sourceLineNo">517</span><a name="line.517"></a>
-<span class="sourceLineNo">518</span>  private volatile ThroughputController flushThroughputController;<a name="line.518"></a>
+<span class="sourceLineNo">483</span>  private RegionServerProcedureManagerHost rspmHost;<a name="line.483"></a>
+<span class="sourceLineNo">484</span><a name="line.484"></a>
+<span class="sourceLineNo">485</span>  private RegionServerRpcQuotaManager rsQuotaManager;<a name="line.485"></a>
+<span class="sourceLineNo">486</span>  private RegionServerSpaceQuotaManager rsSpaceQuotaManager;<a name="line.486"></a>
+<span class="sourceLineNo">487</span><a name="line.487"></a>
+<span class="sourceLineNo">488</span>  /**<a name="line.488"></a>
+<span class="sourceLineNo">489</span>   * Nonce manager. Nonces are used to make operations like increment and append idempotent<a name="line.489"></a>
+<span class="sourceLineNo">490</span>   * in the case where client doesn't receive the response from a successful operation and<a name="line.490"></a>
+<span class="sourceLineNo">491</span>   * retries. We track the successful ops for some time via a nonce sent by client and handle<a name="line.491"></a>
+<span class="sourceLineNo">492</span>   * duplicate operations (currently, by failing them; in future we might use MVCC to return<a name="line.492"></a>
+<span class="sourceLineNo">493</span>   * result). Nonces are also recovered from WAL during, recovery; however, the caveats (from<a name="line.493"></a>
+<span class="sourceLineNo">494</span>   * HBASE-3787) are:<a name="line.494"></a>
+<span class="sourceLineNo">495</span>   * - WAL recovery is optimized, and under high load we won't read nearly nonce-timeout worth<a name="line.495"></a>
+<span class="sourceLineNo">496</span>   *   of past records. If we don't read the records, we don't read and recover the nonces.<a name="line.496"></a>
+<span class="sourceLineNo">497</span>   *   Some WALs within nonce-timeout at recovery may not even be present due to rolling/cleanup.<a name="line.497"></a>
+<span class="sourceLineNo">498</span>   * - There's no WAL recovery during normal region move, so nonces will not be transfered.<a name="line.498"></a>
+<span class="sourceLineNo">499</span>   * We can have separate additional "Nonce WAL". It will just contain bunch of numbers and<a name="line.499"></a>
+<span class="sourceLineNo">500</span>   * won't be flushed on main path - because WAL itself also contains nonces, if we only flush<a name="line.500"></a>
+<span class="sourceLineNo">501</span>   * it before memstore flush, for a given nonce we will either see it in the WAL (if it was<a name="line.501"></a>
+<span class="sourceLineNo">502</span>   * never flushed to disk, it will be part of recovery), or we'll see it as part of the nonce<a name="line.502"></a>
+<span class="sourceLineNo">503</span>   * log (or both occasionally, which doesn't matter). Nonce log file can be deleted after the<a name="line.503"></a>
+<span class="sourceLineNo">504</span>   * latest nonce in it expired. It can also be recovered during move.<a name="line.504"></a>
+<span class="sourceLineNo">505</span>   */<a name="line.505"></a>
+<span class="sourceLineNo">506</span>  final ServerNonceManager nonceManager;<a name="line.506"></a>
+<span class="sourceLineNo">507</span><a name="line.507"></a>
+<span class="sourceLineNo">508</span>  private UserProvider userProvider;<a name="line.508"></a>
+<span class="sourceLineNo">509</span><a name="line.509"></a>
+<span class="sourceLineNo">510</span>  protected final RSRpcServices rpcServices;<a name="line.510"></a>
+<span class="sourceLineNo">511</span><a name="line.511"></a>
+<span class="sourceLineNo">512</span>  protected BaseCoordinatedStateManager csm;<a name="line.512"></a>
+<span class="sourceLineNo">513</span><a name="line.513"></a>
+<span class="sourceLineNo">514</span>  /**<a name="line.514"></a>
+<span class="sourceLineNo">515</span>   * Configuration manager is used to register/deregister and notify the configuration observers<a name="line.515"></a>
+<span class="sourceLineNo">516</span>   * when the regionserver is notified that there was a change in the on disk configs.<a name="line.516"></a>
+<span class="sourceLineNo">517</span>   */<a name="line.517"></a>
+<span class="sourceLineNo">518</span>  protected final ConfigurationManager configurationManager;<a name="line.518"></a>
 <span class="sourceLineNo">519</span><a name="line.519"></a>
-<span class="sourceLineNo">520</span>  protected SecureBulkLoadManager secureBulkLoadManager;<a name="line.520"></a>
-<span class="sourceLineNo">521</span><a name="line.521"></a>
-<span class="sourceLineNo">522</span>  protected FileSystemUtilizationChore fsUtilizationChore;<a name="line.522"></a>
-<span class="sourceLineNo">523</span><a name="line.523"></a>
-<span class="sourceLineNo">524</span>  /**<a name="line.524"></a>
-<span class="sourceLineNo">525</span>   * Starts a HRegionServer at the default location.<a name="line.525"></a>
-<span class="sourceLineNo">526</span>   */<a name="line.526"></a>
-<span class="sourceLineNo">527</span>  public HRegionServer(Configuration conf) throws IOException, InterruptedException {<a name="line.527"></a>
-<span class="sourceLineNo">528</span>    this(conf, CoordinatedStateManagerFactory.getCoordinatedStateManager(conf));<a name="line.528"></a>
-<span class="sourceLineNo">529</span>  }<a name="line.529"></a>
-<span class="sourceLineNo">530</span><a name="line.530"></a>
-<span class="sourceLineNo">531</span>  /**<a name="line.531"></a>
-<span class="sourceLineNo">532</span>   * Starts a HRegionServer at the default location<a name="line.532"></a>
-<span class="sourceLineNo">533</span>   * @param csm implementation of CoordinatedStateManager to be used<a name="line.533"></a>
-<span class="sourceLineNo">534</span>   */<a name="line.534"></a>
-<span class="sourceLineNo">535</span>  public HRegionServer(Configuration conf, CoordinatedStateManager csm) throws IOException {<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    super("RegionServer");  // thread name<a name="line.536"></a>
-<span class="sourceLineNo">537</span>    this.fsOk = true;<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    this.conf = conf;<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    MemorySizeUtil.checkForClusterFreeHeapMemoryLimit(this.conf);<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    HFile.checkHFileVersion(this.conf);<a name="line.540"></a>
-<span class="sourceLineNo">541</span>    checkCodecs(this.conf);<a name="line.541"></a>
-<span class="sourceLineNo">542</span>    this.userProvider = UserProvider.instantiate(conf);<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    FSUtils.setupShortCircuitRead(this.conf);<a name="line.543"></a>
-<span class="sourceLineNo">544</span><a name="line.544"></a>
-<span class="sourceLineNo">545</span>    Replication.decorateRegionServerConfiguration(this.conf);<a name="line.545"></a>
-<span class="sourceLineNo">546</span><a name="line.546"></a>
-<span class="sourceLineNo">547</span>    // Disable usage of meta replicas in the regionserver<a name="line.547"></a>
-<span class="sourceLineNo">548</span>    this.conf.setBoolean(HConstants.USE_META_REPLICAS, false);<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    // Config'ed params<a name="line.549"></a>
-<span class="sourceLineNo">550</span>    this.numRetries = this.conf.getInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER,<a name="line.550"></a>
-<span class="sourceLineNo">551</span>        HConstants.DEFAULT_HBASE_CLIENT_RETRIES_NUMBER);<a name="line.551"></a>
-<span class="sourceLineNo">552</span>    this.threadWakeFrequency = conf.getInt(HConstants.THREAD_WAKE_FREQUENCY, 10 * 1000);<a name="line.552"></a>
-<span class="sourceLineNo">553</span>    this.msgInterval = conf.getInt("hbase.regionserver.msginterval", 3 * 1000);<a name="line.553"></a>
-<span class="sourceLineNo">554</span><a name="line.554"></a>
-<span class="sourceLineNo">555</span>    this.sleeper = new Sleeper(this.msgInterval, this);<a name="line.555"></a>
-<span class="sourceLineNo">556</span><a name="line.556"></a>
-<span class="sourceLineNo">557</span>    boolean isNoncesEnabled = conf.getBoolean(HConstants.HBASE_RS_NONCES_ENABLED, true);<a name="line.557"></a>
-<span class="sourceLineNo">558</span>    this.nonceManager = isNoncesEnabled ? new ServerNonceManager(this.conf) : null;<a name="line.558"></a>
+<span class="sourceLineNo">520</span>  @VisibleForTesting<a name="line.520"></a>
+<span class="sourceLineNo">521</span>  CompactedHFilesDischarger compactedFileDischarger;<a name="line.521"></a>
+<span class="sourceLineNo">522</span><a name="line.522"></a>
+<span class="sourceLineNo">523</span>  private volatile ThroughputController flushThroughputController;<a name="line.523"></a>
+<span class="sourceLineNo">524</span><a name="line.524"></a>
+<span class="sourceLineNo">525</span>  protected SecureBulkLoadManager secureBulkLoadManager;<a name="line.525"></a>
+<span class="sourceLineNo">526</span><a name="line.526"></a>
+<span class="sourceLineNo">527</span>  protected FileSystemUtilizationChore fsUtilizationChore;<a name="line.527"></a>
+<span class="sourceLineNo">528</span><a name="line.528"></a>
+<span class="sourceLineNo">529</span>  /**<a name="line.529"></a>
+<span class="sourceLineNo">530</span>   * Starts a HRegionServer at the default location.<a name="line.530"></a>
+<span class="sourceLineNo">531</span>   */<a name="line.531"></a>
+<span class="sourceLineNo">532</span>  public HRegionServer(Configuration conf) throws IOException, InterruptedException {<a name="line.532"></a>
+<span class="sourceLineNo">533</span>    this(conf, CoordinatedStateManagerFactory.getCoordinatedStateManager(conf));<a name="line.533"></a>
+<span class="sourceLineNo">534</span>  }<a name="line.534"></a>
+<span class="sourceLineNo">535</span><a name="line.535"></a>
+<span class="sourceLineNo">536</span>  /**<a name="line.536"></a>
+<span class="sourceLineNo">537</span>   * Starts a HRegionServer at the default location<a name="line.537"></a>
+<span class="sourceLineNo">538</span>   * @param csm implementation of CoordinatedStateManager to be used<a name="line.538"></a>
+<span class="sourceLineNo">539</span>   */<a name="line.539"></a>
+<span class="sourceLineNo">540</span>  public HRegionServer(Configuration conf, CoordinatedStateManager csm) throws IOException {<a name="line.540"></a>
+<span class="sourceLineNo">541</span>    super("RegionServer");  // thread name<a name="line.541"></a>
+<span class="sourceLineNo">542</span>    this.fsOk = true;<a name="line.542"></a>
+<span class="sourceLineNo">543</span>    this.conf = conf;<a name="line.543"></a>
+<span class="sourceLineNo">544</span>    MemorySizeUtil.checkForClusterFreeHeapMemoryLimit(this.conf);<a name="line.544"></a>
+<span class="sourceLineNo">545</span>    HFile.checkHFileVersion(this.conf);<a name="line.545"></a>
+<span class="sourceLineNo">546</span>    checkCodecs(this.conf);<a name="line.546"></a>
+<span class="sourceLineNo">547</span>    this.userProvider = UserProvider.instantiate(conf);<a name="line.547"></a>
+<span class="sourceLineNo">548</span>    FSUtils.setupShortCircuitRead(this.conf);<a name="line.548"></a>
+<span class="sourceLineNo">549</span><a name="line.549"></a>
+<span class="sourceLineNo">550</span>    Replication.decorateRegionServerConfiguration(this.conf);<a name="line.550"></a>
+<span class="sourceLineNo">551</span><a name="line.551"></a>
+<span class="sourceLineNo">552</span>    // Disable usage of meta replicas in the regionserver<a name="line.552"></a>
+<span class="sourceLineNo">553</span>    this.conf.setBoolean(HConstants.USE_META_REPLICAS, false);<a name="line.553"></a>
+<span class="sourceLineNo">554</span>    // Config'ed params<a name="line.554"></a>
+<span class="sourceLineNo">555</span>    this.numRetries = this.conf.getInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER,<a name="line.555"></a>
+<span class="sourceLineNo">556</span>        HConstants.DEFAULT_HBASE_CLIENT_RETRIES_NUMBER);<a name="line.556"></a>
+<span class="sourceLineNo">557</span>    this.threadWakeFrequency = conf.getInt(HConstants.THREAD_WAKE_FREQUENCY, 10 * 1000);<a name="line.557"></a>
+<span class="sourceLineNo">558</span>    this.msgInterval = conf.getInt("hbase.regionserver.msginterval", 3 * 1000);<a name="line.558"></a>
 <span class="sourceLineNo">559</span><a name="line.559"></a>
-<span class="sourceLineNo">560</span>    this.numRegionsToReport = conf.getInt(<a name="line.560"></a>
-<span class="sourceLineNo">561</span>      "hbase.regionserver.numregionstoreport", 10);<a name="line.561"></a>
-<span class="sourceLineNo">562</span><a name="line.562"></a>
-<span class="sourceLineNo">563</span>    this.operationTimeout = conf.getInt(<a name="line.563"></a>
-<span class="sourceLineNo">564</span>      HConstants.HBASE_CLIENT_OPERATION_TIMEOUT,<a name="line.564"></a>
-<span class="sourceLineNo">565</span>      HConstants.DEFAULT_HBASE_CLIENT_OPERATION_TIMEOUT);<a name="line.565"></a>
-<span class="sourceLineNo">566</span><a name="line.566"></a>
-<span class="sourceLineNo">567</span>    this.shortOperationTimeout = conf.getInt(<a name="line.567"></a>
-<span class="sourceLineNo">568</span>      HConstants.HBASE_RPC_SHORTOPERATION_TIMEOUT_KEY,<a name="line.568"></a>
-<span class="sourceLineNo">569</span>      HConstants.DEFAULT_HBASE_RPC_SHORTOPERATION_TIMEOUT);<a name="line.569"></a>
-<span class="sourceLineNo">570</span><a name="line.570"></a>
-<span class="sourceLineNo">571</span>    this.abortRequested = false;<a name="line.571"></a>
-<span class="sourceLineNo">572</span>    this.stopped = false;<a name="line.572"></a>
-<span class="sourceLineNo">573</span><a name="line.573"></a>
-<span class="sourceLineNo">574</span>    rpcServices = createRpcServices();<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    this.startcode = System.currentTimeMillis();<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    if (this instanceof HMaster) {<a name="line.576"></a>
-<span class="sourceLineNo">577</span>      useThisHostnameInstead = conf.get(MASTER_HOSTNAME_KEY);<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    } else {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>      useThisHostnameInstead = conf.get(RS_HOSTNAME_KEY);<a name="line.579"></a>
-<span class="sourceLineNo">580</span>    }<a name="line.580"></a>
-<span class="sourceLineNo">581</span>    String hostName = shouldUseThisHostnameInstead() ? useThisHostnameInstead :<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      rpcServices.isa.getHostName();<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    serverName = ServerName.valueOf(hostName, rpcServices.isa.getPort(), startcode);<a name="line.583"></a>
-<span class="sourceLineNo">584</span><a name="line.584"></a>
-<span class="sourceLineNo">585</span>    rpcControllerFactory = RpcControllerFactory.instantiate(this.conf);<a name="line.585"></a>
-<span class="sourceLineNo">586</span>    rpcRetryingCallerFactory = RpcRetryingCallerFactory.instantiate(this.conf);<a name="line.586"></a>
-<span class="sourceLineNo">587</span><a name="line.587"></a>
-<span class="sourceLineNo">588</span>    // login the zookeeper client principal (if using security)<a name="line.588"></a>
-<span class="sourceLineNo">589</span>    ZKUtil.loginClient(this.conf, HConstants.ZK_CLIENT_KEYTAB_FILE,<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      HConstants.ZK_CLIENT_KERBEROS_PRINCIPAL, hostName);<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    // login the server principal (if using secure Hadoop)<a name="line.591"></a>
-<span class="sourceLineNo">592</span>    login(userProvider, hostName);<a name="line.592"></a>
-<span class="sourceLineNo">593</span>    // init superusers and add the server principal (if using security)<a name="line.593"></a>
-<span class="sourceLineNo">594</span>    // or process owner as default super user.<a name="line.594"></a>
-<span class="sourceLineNo">595</span>    Superusers.initialize(conf);<a name="line.595"></a>
-<span class="sourceLineNo">596</span><a name="line.596"></a>
-<span class="sourceLineNo">597</span>    regionServerAccounting = new RegionServerAccounting(conf);<a name="line.597"></a>
-<span class="sourceLineNo">598</span>    cacheConfig = new CacheConfig(conf);<a name="line.598"></a>
-<span class="sourceLineNo">599</span>    mobCacheConfig = new MobCacheConfig(conf);<a name="line.599"></a>
-<span class="sourceLineNo">600</span>    uncaughtExceptionHandler = new UncaughtExceptionHandler() {<a name="line.600"></a>
-<span class="sourceLineNo">601</span>      @Override<a name="line.601"></a>
-<span class="sourceLineNo">602</span>      public void uncaughtException(Thread t, Throwable e) {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>        abort("Uncaught exception in service thread " + t.getName(), e);<a name="line.603"></a>
-<span class="sourceLineNo">604</span>      }<a name="line.604"></a>
-<span class="sourceLineNo">605</span>    };<a name="line.605"></a>
-<span class="sourceLineNo">606</span><a name="line.606"></a>
-<span class="sourceLineNo">607</span>    initializeFileSystem();<a name="line.607"></a>
-<span class="sourceLineNo">608</span><a name="line.608"></a>
-<span class="sourceLineNo">609</span>    service = new ExecutorService(getServerName().toShortString());<a name="line.609"></a>
-<span class="sourceLineNo">610</span>    spanReceiverHost = SpanReceiverHost.getInstance(getConfiguration());<a name="line.610"></a>
+<span class="sourceLineNo">560</span>    this.sleeper = new Sleeper(this.msgInterval, this);<a name="line.560"></a>
+<span class="sourceLineNo">561</span><a name="line.561"></a>
+<span class="sourceLineNo">562</span>    boolean isNoncesEnabled = conf.getBoolean(HConstants.HBASE_RS_NONCES_ENABLED, true);<a name="line.562"></a>
+<span class="sourceLineNo">563</span>    this.nonceManager = isNoncesEnabled ? new ServerNonceManager(this.conf) : null;<a name="line.563"></a>
+<span class="sourceLineNo">564</span><a name="line.564"></a>
+<span class="sourceLineNo">565</span>    this.numRegionsToReport = conf.getInt(<a name="line.565"></a>
+<span class="sourceLineNo">566</span>      "hbase.regionserver.numregionstoreport", 10);<a name="line.566"></a>
+<span class="sourceLineNo">567</span><a name="line.567"></a>
+<span class="sourceLineNo">568</span>    this.operationTimeout = conf.getInt(<a name="line.568"></a>
+<span class="sourceLineNo">569</span>      HConstants.HBASE_CLIENT_OPERATION_TIMEOUT,<a name="line.569"></a>
+<span class="sourceLineNo">570</span>      HConstants.DEFAULT_HBASE_CLIENT_OPERATION_TIMEOUT);<a name="line.570"></a>
+<span class="sourceLineNo">571</span><a name="line.571"></a>
+<span class="sourceLineNo">572</span>    this.shortOperationTimeout = conf.getInt(<a name="line.572"></a>
+<span class="sourceLineNo">573</span>      HConstants.HBASE_RPC_SHORTOPERATION_TIMEOUT_KEY,<a name="line.573"></a>
+<span class="sourceLineNo">574</span>      HConstants.DEFAULT_HBASE_RPC_SHORTOPERATION_TIMEOUT);<a name="line.574"></a>
+<span class="sourceLineNo">575</span><a name="line.575"></a>
+<span class="sourceLineNo">576</span>    this.abortRequested = false;<a name="line.576"></a>
+<span class="sourceLineNo">577</span>    this.stopped = false;<a name="line.577"></a>
+<span class="sourceLineNo">578</span><a name="line.578"></a>
+<span class="sourceLineNo">579</span>    rpcServices = createRpcServices();<a name="line.579"></a>
+<span class="sourceLineNo">580</span>    this.startcode = System.currentTimeMillis();<a name="line.580"></a>
+<span class="sourceLineNo">581</span>    if (this instanceof HMaster) {<a name="line.581"></a>
+<span class="sourceLineNo">582</span>      useThisHostnameInstead = conf.get(MASTER_HOSTNAME_KEY);<a name="line.582"></a>
+<span class="sourceLineNo">583</span>    } else {<a name="line.583"></a>
+<span class="sourceLineNo">584</span>      useThisHostnameInstead = conf.get(RS_HOSTNAME_KEY);<a name="line.584"></a>
+<span class="sourceLineNo">585</span>      if (conf.getBoolean(RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY, false)) {<a name="line.585"></a>
+<span class="sourceLineNo">586</span>        if (shouldUseThisHostnameInstead()) {<a name="line.586"></a>
+<span class="sourceLineNo">587</span>          String msg = RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY + " and " + RS_HOSTNAME_KEY +<a name="line.587"></a>
+<span class="sourceLineNo">588</span>            " are mutually exclusive. Do not set " + RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY +<a name="line.588"></a>
+<span class="sourceLineNo">589</span>            " to true while " + RS_HOSTNAME_KEY + " is used";<a name="line.589"></a>
+<span class="sourceLineNo">590</span>          throw new IOException(msg);<a name="line.590"></a>
+<span class="sourceLineNo">591</span>        } else {<a name="line.591"></a>
+<span class="sourceLineNo">592</span>          useThisHostnameInstead = rpcServices.isa.getHostName();<a name="line.592"></a>
+<span class="sourceLineNo">593</span>        }<a name="line.593"></a>
+<span class="sourceLineNo">594</span>      }<a name="line.594"></a>
+<span class="sourceLineNo">595</span>    }<a name="line.595"></a>
+<span class="sourceLineNo">596</span>    String hostName = shouldUseThisHostnameInstead() ? useThisHostnameInstead :<a name="line.596"></a>
+<span class="sourceLineNo">597</span>      rpcServices.isa.getHostName();<a name="line.597"></a>
+<span class="sourceLineNo">598</span>    serverName = ServerName.valueOf(hostName, rpcServices.isa.getPort(), startcode);<a name="line.598"></a>
+<span class="sourceLineNo">599</span><a name="line.599"></a>
+<span class="sourceLineNo">600</span>    rpcControllerFactory = RpcControllerFactory.instantiate(this.conf);<a name="line.600"></a>
+<span class="sourceLineNo">601</span>    rpcRetryingCallerFactory = RpcRetryingCallerFactory.instantiate(this.conf);<a name="line.601"></a>
+<span class="sourceLineNo">602</span><a name="line.602"></a>
+<span class="sourceLineNo">603</span>    // login the zookeeper client principal (if using security)<a name="line.603"></a>
+<span class="sourceLineNo">604</span>    ZKUtil.loginClient(this.conf, HConstants.ZK_CLIENT_KEYTAB_FILE,<a name="line.604"></a>
+<span class="sourceLineNo">605</span>      HConstants.ZK_CLIENT_KERBEROS_PRINCIPAL, hostName);<a name="line.605"></a>
+<span class="sourceLineNo">606</span>    // login the server principal (if using secure Hadoop)<a name="line.606"></a>
+<span class="sourceLineNo">607</span>    login(userProvider, hostName);<a name="line.607"></a>
+<span class="sourceLineNo">608</span>    // init superusers and add the server principal (if using security)<a name="line.608"></a>
+<span class="sourceLineNo">609</span>    // or process owner as default super user.<a name="line.609"></a>
+<span class="sourceLineNo">610</span>    Superusers.initialize(conf);<a name="line.610"></a>
 <span class="sourceLineNo">611</span><a name="line.611"></a>
-<span class="sourceLineNo">612</span>    // Some unit tests don't need a cluster, so no zookeeper at all<a name="line.612"></a>
-<span class="sourceLineNo">613</span>    if (!conf.getBoolean("hbase.testing.nocluster", false)) {<a name="line.613"></a>
-<span class="sourceLineNo">614</span>      // Open connection to zookeeper and set primary watcher<a name="line.614"></a>
-<span class="sourceLineNo">615</span>      zooKeeper = new ZooKeeperWatcher(conf, getProcessName() + ":" +<a name="line.615"></a>
-<span class="sourceLineNo">616</span>        rpcServices.isa.getPort(), this, canCreateBaseZNode());<a name="line.616"></a>
-<span class="sourceLineNo">617</span><a name="line.617"></a>
-<span class="sourceLineNo">618</span>      this.csm = (BaseCoordinatedStateManager) csm;<a name="line.618"></a>
-<span class="sourceLineNo">619</span>      this.csm.initialize(this);<a name="line.619"></a>
-<span class="sourceLineNo">620</span>      this.csm.start();<a name="line.620"></a>
+<span class="sourceLineNo">612</span>    regionServerAccounting = new RegionServerAccounting(conf);<a name="line.612"></a>
+<span class="sourceLineNo">613</span>    cacheConfig = new CacheConfig(conf);<a name="line.613"></a>
+<span class="sourceLineNo">614</span>    mobCacheConfig = new MobCacheConfig(conf);<a name="line.614"></a>
+<span class="sourceLineNo">615</span>    uncaughtExceptionHandler = new UncaughtExceptionHandler() {<a name="line.615"></a>
+<span class="sourceLineNo">616</span>      @Override<a name="line.616"></a>
+<span class="sourceLineNo">617</span>      public void uncaughtException(Thread t, Throwable e) {<a name="line.617"></a>
+<span class="sourceLineNo">618</span>        abort("Uncaught exception in service thread " + t.getName(), e);<a name="line.618"></a>
+<span class="sourceLineNo">619</span>      }<a name="line.619"></a>
+<span class="sourceLineNo">620</span>    };<a name="line.620"></a>
 <span class="sourceLineNo">621</span><a name="line.621"></a>
-<span class="sourceLineNo">622</span>      masterAddressTracker = new MasterAddressTracker(getZooKeeper(), this);<a name="line.622"></a>
-<span class="sourceLineNo">623</span>      masterAddressTracker.start();<a name="line.623"></a>
-<span class="sourceLineNo">624</span><a name="line.624"></a>
-<span class="sourceLineNo">625</span>      clusterStatusTracker = new ClusterStatusTracker(zooKeeper, this);<a name="line.625"></a>
-<span class="sourceLineNo">626</span>      clusterStatusTracker.start();<a name="line.626"></a>
-<span class="sourceLineNo">627</span>    }<a name="line.627"></a>
-<span class="sourceLineNo">628</span>    this.configurationManager = new ConfigurationManager();<a name="line.628"></a>
-<span class="sourceLineNo">629</span><a name="line.629"></a>
-<span class="sourceLineNo">630</span>    rpcServices.start();<a name="line.630"></a>
-<span class="sourceLineNo">631</span>    putUpWebUI();<a name="line.631"></a>
-<span class="sourceLineNo">632</span>    this.walRoller = new LogRoller(this, this);<a name="line.632"></a>
-<span class="sourceLineNo">633</span>    this.choreService = new ChoreService(getServerName().toString(), true);<a name="line.633"></a>
-<span class="sourceLineNo">634</span>    this.flushThroughputController = FlushThroughputControllerFactory.create(this, conf);<a name="line.634"></a>
-<span class="sourceLineNo">635</span><a name="line.635"></a>
-<span class="sourceLineNo">636</span>    if (!SystemUtils.IS_OS_WINDOWS) {<a name="line.636"></a>
-<span class="sourceLineNo">637</span>      Signal.handle(new Signal("HUP"), new SignalHandler() {<a name="line.637"></a>
-<span class="sourceLineNo">638</span>        @Override<a name="line.638"></a>
-<span class="sourceLineNo">639</span>        public void handle(Signal signal) {<a name="line.639"></a>
-<span class="sourceLineNo">640</span>          getConfiguration().reloadConfiguration();<a name="line.640"></a>
-<span class="sourceLineNo">641</span>          configurationManager.notifyAllObservers(getConfiguration());<a name="line.641"></a>
-<span class="sourceLineNo">642</span>        }<a name="line.642"></a>
-<span class="sourceLineNo">643</span>      });<a name="line.643"></a>
-<span class="sourceLineNo">644</span>    }<a name="line.644"></a>
-<span class="sourceLineNo">645</span>    // Create the CompactedFileDischarger chore service. This chore helps to<a name="line.645"></a>
-<span class="sourceLineNo">646</span>    // remove the compacted files<a name="line.646"></a>
-<span class="sourceLineNo">647</span>    // that will no longer be used in reads.<a name="line.647"></a>
-<span class="sourceLineNo">648</span>    // Default is 2 mins. The default value for TTLCleaner is 5 mins so we set this to<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    // 2 mins so that compacted files can be archived before the TTLCleaner runs<a name="line.649"></a>
-<span class="sourceLineNo">650</span>    int cleanerInterval =<a name="line.650"></a>
-<span class="sourceLineNo">651</span>        conf.getInt("hbase.hfile.compaction.discharger.interval", 2 * 60 * 1000);<a name="line.651"></a>
-<span class="sourceLineNo">652</span>    this.compactedFileDischarger =<a name="line.652"></a>
-<span class="sourceLineNo">653</span>        new CompactedHFilesDischarger(cleanerInterval, this, this);<a name="line.653"></a>
-<span class="sourceLineNo">654</span>    choreService.scheduleChore(compactedFileDischarger);<a name="line.654"></a>
-<span class="sourceLineNo">655</span>  }<a name="line.655"></a>
-<span class="sourceLineNo">656</span><a name="line.656"></a>
-<span class="sourceLineNo">657</span>  private void initializeFileSystem() throws IOException {<a name="line.657"></a>
-<span class="sourceLineNo">658</span>    // Get fs instance used by this RS.  Do we use checksum verification in the hbase? If hbase<a name="line.658"></a>
-<span class="sourceLineNo">659</span>    // checksum verification enabled, then automatically switch off hdfs checksum verification.<a name="line.659"></a>
-<span class="sourceLineNo">660</span>    boolean useHBaseChecksum = conf.getBoolean(HConstants.HBASE_CHECKSUM_VERIFICATION, true);<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    FSUtils.setFsDefault(this.conf, FSUtils.getWALRootDir(this.conf));<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    this.walFs = new HFileSystem(this.conf, useHBaseChecksum);<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    this.walRootDir = FSUtils.getWALRootDir(this.conf);<a name="line.663"></a>
-<span class="sourceLineNo">664</span>    // Set 'fs.defaultFS' to match the filesystem on hbase.rootdir else<a name="line.664"></a>
-<span class="sourceLineNo">665</span>    // underlying hadoop hdfs accessors will be going against wrong filesystem<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    // (unless all is set to defaults).<a name="line.666"></a>
-<span class="sourceLineNo">667</span>    FSUtils.setFsDefault(this.conf, FSUtils.getRootDir(this.conf));<a name="line.667"></a>
-<span class="sourceLineNo">668</span>    this.fs = new HFileSystem(this.conf, useHBaseChecksum);<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    this.rootDir = FSUtils.getRootDir(this.conf);<a name="line.669"></a>
-<span class="sourceLineNo">670</span>    this.tableDescriptors = getFsTableDescriptors();<a name="line.670"></a>
-<span class="sourceLineNo">671</span>  }<a name="line.671"></a>
-<span class="sourceLineNo">672</span><a name="line.672"></a>
-<span class="sourceLineNo">673</span>  protected TableDescriptors getFsTableDescriptors() throws IOException {<a name="line.673"></a>
-<span class="sourceLineNo">674</span>    return new FSTableDescriptors(this.conf,<a name="line.674"></a>
-<span class="sourceLineNo">675</span>      this.fs, this.rootDir, !canUpdateTableDescriptor(), false);<a name="line.675"></a>
-<span class="sourceLineNo">676</span>  }<a name="line.676"></a>
-<span class="sourceLineNo">677</span><a name="line.677"></a>
-<span class="sourceLineNo">678</span>  protected void setInitLatch(CountDownLatch latch) {<a name="line.678"></a>
-<span class="sourceLineNo">679</span>    this.initLatch = latch;<a name="line.679"></a>
-<span class="sourceLineNo">680</span>  }<a name="line.680"></a>
-<span class="sourceLineNo">681</span><a name="line.681"></a>
-<span class="sourceLineNo">682</span>  /*<a name="line.682"></a>
-<span class="sourceLineNo">683</span>   * Returns true if configured hostname should be used<a name="line.683"></a>
-<span class="sourceLineNo">684</span>   */<a name="line.684"></a>
-<span class="sourceLineNo">685</span>  protected boolean shouldUseThisHostnameInstead() {<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    return useThisHostnameInstead != null &amp;&amp; !useThisHostnameInstead.isEmpty();<a name="line.686"></a>
-<span class="sourceLineNo">687</span>  }<a name="line.687"></a>
-<span class="sourceLineNo">688</span><a name="line.688"></a>
-<span class="sourceLineNo">689</span>  protected void login(UserProvider user, String host) throws IOException {<a name="line.689"></a>
-<span class="sourceLineNo">690</span>    user.login("hbase.regionserver.keytab.file",<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      "hbase.regionserver.kerberos.principal", host);<a name="line.691"></a>
-<span class="sourceLineNo">692</span>  }<a name="line.692"></a>
-<span class="sourceLineNo">693</span><a name="line.693"></a>
-<span class="sourceLineNo">694</span>  protected void waitForMasterActive(){<a name="line.694"></a>
+<span class="sourceLineNo">622</span>    initializeFileSystem();<a name="line.622"></a>
+<span class="sourceLineNo">623</span><a name="line.623"></a>
+<span class="sourceLineNo">624</span>    service = new ExecutorService(getServerName().toShortString());<a name="line.624"></a>
+<span class="sourceLineNo">625</span>    spanReceiverHost = SpanReceiverHost.getInstance(getConfiguration());<a name="line.625"></a>
+<span class="sourceLineNo">626</span><a name="line.626"></a>
+<span class="sourceLineNo">627</span>    // Some unit tests don't need a cluster, so no zookeeper at all<a name="line.627"></a>
+<span class="sourceLineNo">628</span>    if (!conf.getBoolean("hbase.testing.nocluster", false)) {<a name="line.628"></a>
+<span class="sourceLineNo">629</span>      // Open connection to zookeeper and set primary watcher<a name="line.629"></a>
+<span class="sourceLineNo">630</span>      zooKeeper = new ZooKeeperWatcher(conf, getProcessName() + ":" +<a name="line.630"></a>
+<span class="sourceLineNo">631</span>        rpcServices.isa.getPort(), this, canCreateBaseZNode());<a name="line.631"></a>
+<span class="sourceLineNo">632</span><a name="line.632"></a>
+<span class="sourceLineNo">633</span>      this.csm = (BaseCoordinatedStateManager) csm;<a name="line.633"></a>
+<span class="sourceLineNo">634</span>      this.csm.initialize(this);<a name="line.634"></a>
+<span class="sourceLineNo">635</span>      this.csm.start();<a name="line.635"></a>
+<span class="sourceLineNo">636</span><a name="line.636"></a>
+<span class="sourceLineNo">637</span>      masterAddressTracker = new MasterAddressTracker(getZooKeeper(), this);<a name="line.637"></a>
+<span class="sourceLineNo">638</span>      masterAddressTracker.start();<a name="line.638"></a>
+<span class="sourceLineNo">639</span><a name="line.639"></a>
+<span class="sourceLineNo">640</span>      clusterStatusTracker = new ClusterStatusTracker(zooKeeper, this);<a name="line.640"></a>
+<span class="sourceLineNo">641</span>      clusterStatusTracker.start();<a name="line.641"></a>
+<span class="sourceLineNo">642</span>    }<a name="line.642"></a>
+<span class="sourceLineNo">643</span>    this.configurationManager = new ConfigurationManager();<a name="line.643"></a>
+<span class="sourceLineNo">644</span><a name="line.644"></a>
+<span class="sourceLineNo">645</span>    rpcServices.start();<a name="line.645"></a>
+<span class="sourceLineNo">646</span>    putUpWebUI();<a name="line.646"></a>
+<span class="sourceLineNo">647</span>    this.walRoller = new LogRoller(this, this);<a name="line.647"></a>
+<span class="sourceLineNo">648</span>    this.choreService = new ChoreService(getServerName().toString(), true);<a name="line.648"></a>
+<span class="sourceLineNo">649</span>    this.flushThroughputController = FlushThroughputControllerFactory.create(this, conf);<a name="line.649"></a>
+<span class="sourceLineNo">650</span><a name="line.650"></a>
+<span class="sourceLineNo">651</span>    if (!SystemUtils.IS_OS_WINDOWS) {<a name="line.651"></a>
+<span class="sourceLineNo">652</span>      Signal.handle(new Signal("HUP"), new SignalHandler() {<a name="line.652"></a>
+<span class="sourceLineNo">653</span>        @Override<a name="line.653"></a>
+<span class="sourceLineNo">654</span>        public void handle(Signal signal) {<a name="line.654"></a>
+<span class="sourceLineNo">655</span>          getConfiguration().reloadConfiguration();<a name="line.655"></a>
+<span class="sourceLineNo">656</span>          configurationManager.notifyAllObservers(getConfiguration());<a name="line.656"></a>
+<span class="sourceLineNo">657</span>        }<a name="line.657"></a>
+<span class="sourceLineNo">658</span>      });<a name="line.658"></a>
+<span class="sourceLineNo">659</span>    }<a name="line.659"></a>
+<span class="sourceLineNo">660</span>    // Create the CompactedFileDischarger chore service. This chore helps to<a name="line.660"></a>
+<span class="sourceLineNo">661</span>    // remove the compacted files<a name="line.661"></a>
+<span class="sourceLineNo">662</span>    // that will no longer be used in reads.<a name="line.662"></a>
+<span class="sourceLineNo">663</span>    // Default is 2 mins. The default value for TTLCleaner is 5 mins so we set this to<a name="line.663"></a>
+<span class="sourceLineNo">664</span>    // 2 mins so that compacted files can be archived before the TTLCleaner runs<a name="line.664"></a>
+<span class="sourceLineNo">665</span>    int cleanerInterval =<a name="line.665"></a>
+<span class="sourceLineNo">666</span>        conf.getInt("hbase.hfile.compaction.discharger.interval", 2 * 60 * 1000);<a name="line.666"></a>
+<span class="sourceLineNo">667</span>    this.compactedFileDischarger =<a name="line.667"></a>
+<span class="sourceLineNo">668</span>        new CompactedHFilesDischarger(cleanerInterval, this, this);<a name="line.668"></a>
+<span class="sourceLineNo">669</span>    choreService.scheduleChore(compactedFileDischarger);<a name="line.669"></a>
+<span class="sourceLineNo">670</span>  }<a name="line.670"></a>
+<span class="sourceLineNo">671</span><a name="line.671"></a>
+<span class="sourceLineNo">672</span>  private void initializeFileSystem() throws IOException {<a name="line.672"></a>
+<span class="sourceLineNo">673</span>    // Get fs instance used by this RS.  Do we use checksum verification in the hbase? If hbase<a name="line.673"></a>
+<span class="sourceLineNo">674</span>    // checksum verification enabled, then automatically switch off hdfs checksum verification.<a name="line.674"></a>
+<span class="sourceLineNo">675</span>    boolean useHBaseChecksum = conf.getBoolean(HConstants.HBASE_CHECKSUM_VERIFICATION, true);<a name="line.675"></a>
+<span class="sourceLineNo">676</span>    FSUtils.setFsDefault(this.conf, FSUtils.getWALRootDir(this.conf));<a name="line.676"></a>
+<span class="sourceLineNo">677</span>    this.walFs = new HFileSystem(this.conf, useHBaseChecksum);<a name="line.677"></a>
+<span class="sourceLineNo">678</span>    this.walRootDir = FSUtils.getWALRootDir(this.conf);<a name="line.678"></a>
+<span class="sourceLineNo">679</span>    // Set 'fs.defaultFS' to match the filesystem on hbase.rootdir else<a name="line.679"></a>
+<span class="sourceLineNo">680</span>    // underlying hadoop hdfs accessors will be going against wrong filesystem<a name="line.680"></a>
+<span class="sourceLineNo">681</span>    // (unless all is set to defaults).<a name="line.681"></a>
+<span class="sourceLineNo">682</span>    FSUtils.setFsDefault(this.conf, FSUtils.getRootDir(this.conf));<a name="line.682"></a>
+<span class="sourceLineNo">683</span>    this.fs = new HFileSystem(this.conf, useHBaseChecksum);<a name="line.683"></a>
+<span class="sourceLineNo">684</span>    this.rootDir = FSUtils.getRootDir(this.conf);<a name="line.684"></a>
+<span class="sourceLineNo">685</span>    this.tableDescriptors = getFsTableDescriptors();<a name="line.685"></a>
+<span class="sourceLineNo">686</span>  }<a name="line.686"></a>
+<span class="sourceLineNo">687</span><a name="line.687"></a>
+<span class="sourceLineNo">688</span>  protected TableDescriptors getFsTableDescriptors() throws IOException {<a name="line.688"></a>
+<span class="sourceLineNo">689</span>    return new FSTableDescriptors(this.conf,<a name="line.689"></a>
+<span class="sourceLineNo">690</span>      this.fs, this.rootDir, !canUpdateTableDescriptor(), false);<a name="line.690"></a>
+<span class="sourceLineNo">691</span>  }<a name="line.691"></a>
+<span class="sourceLineNo">692</span><a name="line.692"></a>
+<span class="sourceLineNo">693</span>  protected void setInitLatch(CountDownLatch latch) {<a name="line.693"></a>
+<span class="sourceLineNo">694</span>    this.initLatch = latch;<a name="line.694"></a>
 <span class="sourceLineNo">695</span>  }<a name="line.695"></a>
 <span class="sourceLineNo">696</span><a name="line.696"></a>
-<span class="sourceLineNo">697</span>  protected String getProcessName() {<a name="line.697"></a>
-<span class="sourceLineNo">698</span>    return REGIONSERVER;<a name="line.698"></a>
-<span class="sourceLineNo">699</span>  }<a name="line.699"></a>
-<span class="sourceLineNo">700</span><a name="line.700"></a>
-<span class="sourceLineNo">701</span>  protected boolean canCreateBaseZNode() {<a name="line.701"></a>
-<span class="sourceLineNo">702</span>    return false;<a name="line.702"></a>
-<span class="sourceLineNo">703</span>  }<a name="line.703"></a>
-<span class="sourceLineNo">704</span><a name="line.704"></a>
-<span class="sourceLineNo">705</span>  protected boolean canUpdateTableDescriptor() {<a name="line.705"></a>
-<span class="sourceLineNo">706</span>    return false;<a name="line.706"></a>
+<span class="sourceLineNo">697</span>  /*<a name="line.697"></a>
+<span class="sourceLineNo">698</span>   * Returns true if configured hostname should be used<a name="line.698"></a>
+<span class="sourceLineNo">699</span>   */<a name="line.699"></a>
+<span class="sourceLineNo">700</span>  protected boolean shouldUseThisHostnameInstead() {<a name="line.700"></a>
+<span class="sourceLineNo">701</span>    return useThisHostnameInstead != null &amp;&amp; !useThisHostnameInstead.isEmpty();<a name="line.701"></a>
+<span class="sourceLineNo">702</span>  }<a name="line.702"></a>
+<span class="sourceLineNo">703</span><a name="line.703"></a>
+<span class="sourceLineNo">704</span>  protected void login(UserProvider user, String host) throws IOException {<a name="line.704"></a>
+<span class="sourceLineNo">705</span>    user.login("hbase.regionserver.keytab.file",<a name="line.705"></a>
+<span class="sourceLineNo">706</span>      "hbase.regionserver.kerberos.principal", host);<a name="line.706"></a>
 <span class="sourceLineNo">707</span>  }<a name="line.707"></a>
 <span class="sourceLineNo">708</span><a name="line.708"></a>
-<span class="sourceLineNo">709</span>  protected RSRpcServices createRpcServices() throws IOException {<a name="line.709"></a>
-<span class="sourceLineNo">710</span>    return new RSRpcServices(this);<a name="line.710"></a>
-<span class="sourceLineNo">711</span>  }<a name="line.711"></a>
-<span class="sourceLineNo">712</span><a name="line.712"></a>
-<span class="sourceLineNo">713</span>  protected void configureInfoServer() {<a name="line.713"></a>
-<span class="sourceLineNo">714</span>    infoServer.addServlet("rs-status", "/rs-status", RSStatusServlet.class);<a name="line.714"></a>
-<span class="sourceLineNo">715</span>    infoServer.setAttribute(REGIONSERVER, this);<a name="line.715"></a>
-<span class="sourceLineNo">716</span>  }<a name="line.716"></a>
-<span class="sourceLineNo">717</span><a name="line.717"></a>
-<span class="sourceLineNo">718</span>  protected Class&lt;? extends HttpServlet&gt; getDumpServlet() {<a name="line.718"></a>
-<span class="sourceLineNo">719</span>    return RSDumpServlet.class;<a name="line.719"></a>
-<span class="sourceLineNo">720</span>  }<a name="line.720"></a>
-<span class="sourceLineNo">721</span><a name="line.721"></a>
-<span class="sourceLineNo">722</span>  @Override<a name="line.722"></a>
-<span class="sourceLineNo">723</span>  public boolean registerService(com.google.protobuf.Service instance) {<a name="line.723"></a>
-<span class="sourceLineNo">724</span>    /*<a name="line.724"></a>
-<span class="sourceLineNo">725</span>     * No stacking of instances is allowed for a single service name<a name="line.725"></a>
-<span class="sourceLineNo">726</span>     */<a name="line.726"></a>
-<span class="sourceLineNo">727</span>    com.google.protobuf.Descriptors.ServiceDescriptor serviceDesc =<a name="line.727"></a>
-<span class="sourceLineNo">728</span>        instance.getDescriptorForType();<a name="line.728"></a>
-<span class="sourceLineNo">729</span>    String serviceName = CoprocessorRpcUtils.getServiceName(serviceDesc);<a name="line.729"></a>
-<span class="sourceLineNo">730</span>    if (coprocessorServiceHandlers.containsKey(serviceName)) {<a name="line.730"></a>
-<span class="sourceLineNo">731</span>      LOG.error("Coprocessor service " + serviceName<a name="line.731"></a>
-<span class="sourceLineNo">732</span>          + " already registered, rejecting request from " + instance);<a name="line.732"></a>
-<span class="sourceLineNo">733</span>      return false;<a name="line.733"></a>
-<span class="sourceLineNo">734</span>    }<a name="line.734"></a>
-<span class="sourceLineNo">735</span><a name="line.735"></a>
-<span class="sourceLineNo">736</span>    coprocessorServiceHandlers.put(serviceName, instance);<a name="line.736"></a>
-<span class="sourceLineNo">737</span>    if (LOG.isDebugEnabled()) {<a name="line.737"></a>
-<span class="sourceLineNo">738</span>      LOG.debug("Registered regionserver coprocessor service: service=" + serviceName);<a name="line.738"></a>
-<span class="sourceLineNo">739</span>    }<a name="line.739"></a>
-<span class="sourceLineNo">740</span>    return true;<a name="line.740"></a>
-<span class="sourceLineNo">741</span>  }<a name="line.741"></a>
-<span class="sourceLineNo">742</span><a name="line.742"></a>
-<span class="sourceLineNo">743</span>  /**<a name="line.743"></a>
-<span class="sourceLineNo">744</span>   * Create a 'smarter' Connection, one that is capable of by-passing RPC if the request is to<a name="line.744"></a>
-<span class="sourceLineNo">745</span>   * the local server. Safe to use going to local or remote server.<a name="line.745"></a>
-<span class="sourceLineNo">746</span>   * Create this instance in a method can be intercepted and mocked in tests.<a name="line.746"></a>
-<span class="sourceLineNo">747</span>   * @throws IOException<a name="line.747"></a>
-<span class="sourceLineNo">748</span>   */<a name="line.748"></a>
-<span class="sourceLineNo">749</span>  @VisibleForTesting<a name="line.749"></a>
-<span class="sourceLineNo">750</span>  protected ClusterConnection createClusterConnection() throws IOException {<a name="line.750"></a>
-<span class="sourceLineNo">751</span>    // Create a cluster connection that when appropriate, can short-circuit and go directly to the<a name="line.751"></a>
-<span class="sourceLineNo">752</span>    // local server if the request is to the local server bypassing RPC. Can be used for both local<a name="line.752"></a>
-<span class="sourceLineNo">753</span>    // and remote invocations.<a name="line.753"></a>
-<span class="sourceLineNo">754</span>    return ConnectionUtils.createShortCircuitConnection(conf, null, userProvider.getCurrent(),<a name="line.754"></a>
-<span class="sourceLineNo">755</span>      serverName, rpcServices, rpcServices);<a name="line.755"></a>
+<span class="sourceLineNo">709</span>  protected void waitForMasterActive(){<a name="line.709"></a>
+<span class="sourceLineNo">710</span>  }<a name="line.710"></a>
+<span class="sourceLineNo">711</span><a name="line.711"></a>
+<span class="sourceLineNo">712</span>  protected String getProcessName() {<a name="line.712"></a>
+<span class="sourceLineNo">713</span>    return REGIONSERVER;<a name="line.713"></a>
+<span class="sourceLineNo">714</span>  }<a name="line.714"></a>
+<span class="sourceLineNo">715</span><a name="line.715"></a>
+<span class="sourceLineNo">716</span>  protected boolean canCreateBaseZNode() {<a name="line.716"></a>
+<span class="sourceLineNo">717</span>    return false;<a name="line.717"></a>
+<span class="sourceLineNo">718</span>  }<a name="line.718"></a>
+<span class="sourceLineNo">719</span><a name="line.719"></a>
+<span class="sourceLineNo">720</span>  protected boolean canUpdateTableDescriptor() {<a name="line.720"></a>
+<span class="sourceLineNo">721</span>    return false;<a name="line.721"></a>
+<span class="sourceLineNo">722</span>  }<a name="line.722"></a>
+<span class="sourceLineNo">723</span><a name="line.723"></a>
+<span class="sourceLineNo">724</span>  protected RSRpcServices createRpcServices() throws IOException {<a name="line.724"></a>
+<span class="sourceLineNo">725</span>    return new RSRpcServices(this);<a name="line.725"></a>
+<span class="sourceLineNo">726</span>  }<a name="line.726"></a>
+<span class="sourceLineNo">727</span><a name="line.727"></a>
+<span class="sourceLineNo">728</span>  protected void configureInfoServer() {<a name="line.728"></a>
+<span class="sourceLineNo">729</span>    infoServer.addServlet("rs-status", "/rs-status", RSStatusServlet.class);<a name="line.729"></a>
+<span class="sourceLineNo">730</span>    infoServer.setAttribute(REGIONSERVER, this);<a name="line.730"></a>
+<span class="sourceLineNo">731</span>  }<a name="line.731"></a>
+<span class="sourceLineNo">732</span><a name="line.732"></a>
+<span class="sourceLineNo">733</span>  protected Class&lt;? extends HttpServlet&gt; getDumpServlet() {<a name="line.733"></a>
+<span class="sourceLineNo">734</span>    return RSDumpServlet.class;<a name="line.734"></a>
+<span class="sourceLineNo">735</span>  }<a name="line.735"></a>
+<span class="sourceLineNo">736</span><a name="line.736"></a>
+<span class="sourceLineNo">737</span>  @Override<a name="line.737"></a>
+<span class="sourceLineNo">738</span>  public boolean registerService(com.google.protobuf.Service instance) {<a name="line.738"></a>
+<span class="sourceLineNo">739</span>    /*<a name="line.739"></a>
+<span class="sourceLineNo">740</span>     * No stacking of instances is allowed for a single service name<a name="line.740"></a>
+<span class="sourceLineNo">741</span>     */<a name="line.741"></a>
+<span class="sourceLineNo">742</span>    com.google.protobuf.Descriptors.ServiceDescriptor serviceDesc =<a name="line.742"></a>
+<span class="sourceLineNo">743</span>        instance.getDescriptorForType();<a name="line.743"></a>
+<span class="sourceLineNo">744</span>    String serviceName = CoprocessorRpcUtils.getServiceName(serviceDesc);<a name="line.744"></a>
+<span class="sourceLineNo">745</span>    if (coprocessorServiceHandlers.containsKey(serviceName)) {<a name="line.745"></a>
+<span class="sourceLineNo">746</span>      LOG.error("Coprocessor service " + serviceName<a name="line.746"></a>
+<span class="sourceLineNo">747</span>          + " already registered, rejecting request from " + instance);<a name="line.747"></a>
+<span class="sourceLineNo">748</span>      return false;<a name="line.748"></a>
+<span class="sourceLineNo">749</span>    }<a name="line.749"></a>
+<span class="sourceLineNo">750</span><a name="line.750"></a>
+<span class="sourceLineNo">751</span>    coprocessorServiceHandlers.put(serviceName, instance);<a name="line.751"></a>
+<span class="sourceLineNo">752</span>    if (LOG.isDebugEnabled()) {<a name="line.752"></a>
+<span class="sourceLineNo">753</span>      LOG.debug("Registered regionserver coprocessor service: service=" + serviceName);<a name="line.753"></a>
+<span class="sourceLineNo">754</span>    }<a name="line.754"></a>
+<span class="sourceLineNo">755</span>    return true;<a name="line.755"></a>
 <span class="sourceLineNo">756</span>  }<a name="line.756"></a>
 <span class="sourceLineNo">757</span><a name="line.757"></a>
 <span class="sourceLineNo">758</span>  /**<a name="line.758"></a>
-<span class="sourceLineNo">759</span>   * Run test on configured codecs to make sure supporting libs are in place.<a name="line.759"></a>
-<span class="sourceLineNo">760</span>   * @param c<a name="line.760"></a>
-<span class="sourceLineNo">761</span>   * @throws IOException<a name="line.761"></a>
-<span class="sourceLineNo">762</span>   */<a name="line.762"></a>
-<span class="sourceLineNo">763</span>  private static void checkCodecs(final Configuration c) throws IOException {<a name="line.763"></a>
-<span class="sourceLineNo">764</span>    // check to see if the codec list is available:<a name="line.764"></a>
-<span class="sourceLineNo">765</span>    String [] codecs = c.getStrings("hbase.regionserver.codecs", (String[])null);<a name="line.765"></a>
-<span class="sourceLineNo">766</span>    if (codecs == null) return;<a name="line.766"></a>
-<span class="sourceLineNo">767</span>    for (String codec : codecs) {<a name="line.767"></a>
-<span class="sourceLineNo">768</span>      if (!CompressionTest.testCompression(codec)) {<a name="line.768"></a>
-<span class="sourceLineNo">769</span>        throw new IOException("Compression codec " + codec +<a name="line.769"></a>
-<span class="sourceLineNo">770</span>          " not supported, aborting RS construction");<a name="line.770"></a>
-<span class="sourceLineNo">771</span>      }<a name="line.771"></a>
-<span class="sourceLineNo">772</span>    }<a name="line.772"></a>
-<span class="sourceLineNo">773</span>  }<a name="line.773"></a>
-<span class="sourceLineNo">774</span><a name="line.774"></a>
-<span class="sourceLineNo">775</span>  public String getClusterId() {<a name="line.775"></a>
-<span class="sourceLineNo">776</span>    return this.clusterId;<a name="line.776"></a>
-<span class="sourceLineNo">777</span>  }<a name="line.777"></a>
-<span class="sourceLineNo">778</span><a name="line.778"></a>
-<span class="sourceLineNo">779</span>  /**<a name="line.779"></a>
-<span class="sourceLineNo">780</span>   * Setup our cluster connection if not already initialized.<a name="line.780"></a>
-<span class="sourceLineNo">781</span>   * @throws IOException<a name="line.781"></a>
-<span class="sourceLineNo">782</span>   */<a name="line.782"></a>
-<span class="sourceLineNo">783</span>  protected synchronized void setupClusterConnection() throws IOException {<a name="line.783"></a>
-<span class="sourceLineNo">784</span>    if (clusterConnection == null) {<a name="line.784"></a>
-<span class="sourceLineNo">785</span>      clusterConnection = createClusterConnection();<a name="line.785"></a>
-<span class="sourceLineNo">786</span>      metaTableLocator = new MetaTableLocator();<a name="line.786"></a>
+<span class="sourceLineNo">759</span>   * Create a 'smarter' Connection, one that is capable of by-passing RPC if the request is to<a name="line.759"></a>
+<span class="sourceLineNo">760</span>   * the local server. Safe to use going to local or remote server.<a name="line.760"></a>
+<span class="sourceLineNo">761</span>   * Create this instance in a method can be intercepted and mocked in tests.<a name="line.761"></a>
+<span class="sourceLineNo">762</span>   * @throws IOException<a name="line.762"></a>
+<span class="sourceLineNo">763</span>   */<a name="line.763"></a>
+<span class="sourceLineNo">764</span>  @VisibleForTesting<a name="line.764"></a>
+<span class="sourceLineNo">765</span>  protected ClusterConnection createClusterConnection() throws IOException {<a name="line.765"></a>
+<span class="sourceLineNo">766</span>    // Create a cluster connection that when appropriate, can short-circuit and go directly to the<a name="line.766"></a>
+<span class="sourceLineNo">767</span>    // local server if the request is to the local server bypassing RPC. Can be used for both local<a name="line.767"></a>
+<span class="sourceLineNo">768</span>    // and remote invocations.<a name="line.768"></a>
+<span class="sourceLineNo">769</span>    return ConnectionUtils.createShortCircuitConnection(conf, null, userProvider.getCurrent(),<a name="line.769"></a>
+<span class="sourceLineNo">770</span>      serverName, rpcServices, rpcServices);<a name="line.770"></a>
+<span class="sourceLineNo">771</span>  }<a name="line.771"></a>
+<span class="sourceLineNo">772</span><a name="line.772"></a>
+<span class="sourceLineNo">773</span>  /**<a name="line.773"></a>
+<span class="sourceLineNo">774</span>   * Run test on configured codecs to make sure supporting libs are in place.<a name="line.774"></a>
+<span class="sourceLineNo">775</span>   * @param c<a name="line.775"></a>
+<span class="sourceLineNo">776</span>   * @throws IOException<a name="line.776"></a>
+<span class="sourceLineNo">777</span>   */<a name="line.777"></a>
+<span class="sourceLineNo">778</span>  private static void checkCodecs(final Configuration c) throws IOException {<a name="line.778"></a>
+<span class="sourceLineNo">779</span>    // check to see if the codec list is available:<a name="line.779"></a>
+<span class="sourceLineNo">780</span>    String [] codecs = c.getStrings("hbase.regionserver.codecs", (String[])null);<a name="line.780"></a>
+<span class="sourceLineNo">781</span>    if (codecs == null) return;<a name="line.781"></a>
+<span class="sourceLineNo">782</span>    for (String codec : codecs) {<a name="line.782"></a>
+<span class="sourceLineNo">783</span>      if (!CompressionTest.testCompression(codec)) {<a name="line.783"></a>
+<span class="sourceLineNo">784</span>        throw new IOException("Compression codec " + codec +<a name="line.784"></a>
+<span class="sourceLineNo">785</span>          " not supported, aborting RS construction");<a name="line.785"></a>
+<span class="sourceLineNo">786</span>      }<a name="line.786"></a>
 <span class="sourceLineNo">787</span>    }<a name="line.787"></a>
 <span class="sourceLineNo">788</span>  }<a name="line.788"></a>
 <span class="sourceLineNo">789</span><a name="line.789"></a>
-<span class="sourceLineNo">790</span>  /**<a name="line.790"></a>
-<span class="sourceLineNo">791</span>   * All initialization needed before we go register with Master.<a name="line.791"></a>
-<span class="sourceLineNo">792</span>   *<a name="line.792"></a>
-<span class="sourceLineNo">793</span>   * @throws IOException<a name="line.793"></a>
-<span class="sourceLineNo">794</span>   * @throws InterruptedException<a name="line.794"></a>
-<span class="sourceLineNo">795</span>   */<a name="line.795"></a>
-<span class="sourceLineNo">796</span>  private void preRegistrationInitialization(){<a name="line.796"></a>
-<span class="sourceLineNo">797</span>    try {<a name="line.797"></a>
-<span class="sourceLineNo">798</span>      setupClusterConnection();<a name="line.798"></a>
-<span class="sourceLineNo">799</span><a name="line.799"></a>
-<span class="sourceLineNo">800</span>      this.secureBulkLoadManager = new SecureBulkLoadManager(this.conf, clusterConnection);<a name="line.800"></a>
-<span class="sourceLineNo">801</span>      this.secureBulkLoadManager.start();<a name="line.801"></a>
-<span class="sourceLineNo">802</span><a name="line.802"></a>
-<span class="sourceLineNo">803</span>      // Health checker thread.<a name="line.803"></a>
-<span class="sourceLineNo">804</span>      if (isHealthCheckerConfigured()) {<a name="line.804"></a>
-<span class="sourceLineNo">805</span>        int sleepTime = this.conf.getInt(HConstants.HEALTH_CHORE_WAKE_FREQ,<a name="line.805"></a>
-<span class="sourceLineNo">806</span>          HConstants.DEFAULT_THREAD_WAKE_FREQUENCY);<a name="line.806"></a>
-<span class="sourceLineNo">807</span>        healthCheckChore = new HealthCheckChore(sleepTime, this, getConfiguration());<a name="line.807"></a>
-<span class="sourceLineNo">808</span>      }<a name="line.808"></a>
-<span class="sourceLineNo">809</span><a name="line.809"></a>
-<span class="sourceLineNo">810</span>      initializeZooKeeper();<a name="line.810"></a>
-<span class="sourceLineNo">811</span>      if (!isStopped() &amp;&amp; !isAborted()) {<a name="line.811"></a>
-<span class="sourceLineNo">812</span>        initializeThreads();<a name="line.812"></a>
-<span class="sourceLineNo">813</span>      }<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    } catch (Throwable t) {<a name="line.814"></a>
-<span class="sourceLineNo">815</span>      // Call stop if error or process will stick around for ever since server<a name="line.815"></a>
-<span class="sourceLineNo">816</span>      // puts up non-daemon threads.<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      this.rpcServices.stop();<a name="line.817"></a>
-<span class="sourceLineNo">818</span>      abort("Initialization of RS failed.  Hence aborting RS.", t);<a name="line.818"></a>
-<span class="sourceLineNo">819</span>    }<a name="line.819"></a>
-<span class="sourceLineNo">820</span>  }<a name="line.820"></a>
-<span class="sourceLineNo">821</span><a name="line.821"></a>
-<span class="sourceLineNo">822</span>  /**<a name="line.822"></a>
-<span class="sourceLineNo">823</span>   * Bring up connection to zk ensemble and then wait until a master for this<a name="line.823"></a>
-<span class="sourceLineNo">824</span>   * cluster and then after that, wait until cluster 'up' flag has been set.<a name="line.824"></a>
-<span class="sourceLineNo">825</span>   * This is the order in which master does things.<a name="line.825"></a>
-<span class="sourceLineNo">826</span>   * Finally open long-living server short-circuit connection.<a name="line.826"></a>
-<span class="sourceLineNo">827</span>   * @throws IOException<a name="line.827"></a>
-<span class="sourceLineNo">828</span>   * @throws InterruptedException<a name="line.828"></a>
-<span class="sourceLineNo">829</span>   */<a name="line.829"></a>
-<span class="sourceLineNo">830</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="RV_RETURN_VALUE_IGNORED_BAD_PRACTICE",<a name="line.830"></a>
-<span class="sourceLineNo">831</span>    justification="cluster Id znode read would give us correct response")<a name="line.831"></a>
-<span class="sourceLineNo">832</span>  private void initializeZooKeeper() throws IOException, InterruptedException {<a name="line.832"></a>
-<span class="sourceLineNo">833</span>    // Create the master address tracker, register with zk, and start it.  Then<a name="line.833"></a>
-<span class="sourceLineNo">834</span>    // block until a master is available.  No point in starting up if no master<a name="line.834"></a>
-<span class="sourceLineNo">835</span>    // running.<a name="line.835"></a>
-<span class="sourceLineNo">836</span>    blockAndCheckIfStopped(this.masterAddressTracker);<a name="line.836"></a>
-<span class="sourceLineNo">837</span><a name="line.837"></a>
-<span class="sourceLineNo">838</span>    // Wait on cluster being up.  Master will set this flag up in zookeeper<a name="line.838"></a>
-<span class="sourceLineNo">839</span>    // when ready.<a name="line.839"></a>
-<span class="sourceLineNo">840</span>    blockAndCheckIfStopped(this.clusterStatusTracker);<a name="line.840"></a>
-<span class="sourceLineNo">841</span><a name="line.841"></a>
-<span class="sourceLineNo">842</span>    doLatch(this.initLatch);<a name="line.842"></a>
-<span class="sourceLineNo">843</span><a name="line.843"></a>
-<span class="sourceLineNo">844</span>    // Retrieve clusterId<a name="line.844"></a>
-<span class="sourceLineNo">845</span>    // Since cluster status is now up<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    // ID should have already been set by HMaster<a name="line.846"></a>
-<span class="sourceLineNo">847</span>    try {<a name="line.847"></a>
-<span class="sourceLineNo">848</span>      clusterId = ZKClusterId.readClusterIdZNode(this.zooKeeper);<a name="line.848"></a>
-<span class="sourceLineNo">849</span>      if (clusterId == null) {<a name="line.849"></a>
-<span class="sourceLineNo">850</span>        this.abort("Cluster ID has not been set");<a name="line.850"></a>
-<span class="sourceLineNo">851</span>      }<a name="line.851"></a>
-<span class="sourceLineNo">852</span>      LOG.info("ClusterId : "+clusterId);<a name="line.852"></a>
-<span class="sourceLineNo">853</span>    } catch (KeeperException e) {<a name="line.853"></a>
-<span class="sourceLineNo">854</span>      this.abort("Failed to retrieve Cluster ID",e);<a name="line.854"></a>
-<span class="sourceLineNo">855</span>    }<a name="line.855"></a>
+<span class="sourceLineNo">790</span>  public String getClusterId() {<a name="line.790"></a>
+<span class="sourceLineNo">791</span>    return this.clusterId;<a name="line.791"></a>
+<span class="sourceLineNo">792</span>  }<a name="line.792"></a>
+<span class="sourceLineNo">793</span><a name="line.793"></a>
+<span class="sourceLineNo">794</span>  /**<a name="line.794"></a>
+<span class="sourceLineNo">795</span>   * Setup our cluster connection if not already initialized.<a name="line.795"></a>
+<span class="sourceLineNo">796</span>   * @throws IOException<a name="line.796"></a>
+<span class="sourceLineNo">797</span>   */<a name="line.797"></a>
+<span class="sourceLineNo">798</span>  protected synchronized void setupClusterConnection() throws IOException {<a name="line.798"></a>
+<span class="sourceLineNo">799</span>    if (clusterConnection == null) {<a name="line.799"></a>
+<span class="sourceLineNo">800</span>      clusterConnection = createClusterConnection();<a name="line.800"></a>
+<span class="sourceLineNo">801</span>      metaTableLocator = new MetaTableLocator();<a name="line.801"></a>
+<span class="sourceLineNo">802</span>    }<a name="line.802"></a>
+<span class="sourceLineNo">803</span>  }<a name="line.803"></a>
+<span class="sourceLineNo">804</span><a name="line.804"></a>
+<span class="sourceLineNo">805</span>  /**<a name="line.805"></a>
+<span class="sourceLineNo">806</span>   * All initialization needed before we go register with Master.<a name="line.806"></a>
+<span class="sourceLineNo">807</span>   *<a name="line.807"></a>
+<span class="sourceLineNo">808</span>   * @throws IOException<a name="line.808"></a>
+<span class="sourceLineNo">809</span>   * @throws InterruptedException<a name="line.809"></a>
+<span class="sourceLineNo">810</span>   */<a name="line.810"></a>
+<span class="sourceLineNo">811</span>  private void preRegistrationInitialization(){<a name="line.811"></a>
+<span class="sourceLineNo">812</span>    try {<a name="line.812"></a>
+<span class="sourceLineNo">813</span>      setupClusterConnection();<a name="line.813"></a>
+<span class="sourceLineNo">814</span><a name="line.814"></a>
+<span class="sourceLineNo">815</span>      this.secureBulkLoadManager = new SecureBulkLoadManager(this.conf, clusterConnection);<a name="line.815"></a>
+<span class="sourceLineNo">816</span>      this.secureBulkLoadManager.start();<a name="line.816"></a>
+<span class="sourceLineNo">817</span><a name="line.817"></a>
+<span class="sourceLineNo">818</span>      // Health checker thread.<a name="line.818"></a>
+<span class="sourceLineNo">819</span>      if (isHealthCheckerConfigured()) {<a name="line.819"></a>
+<span class="sourceLineNo">820</span>        int sleepTime = this.conf.getInt(HConstants.HEALTH_CHORE_WAKE_FREQ,<a name="line.820"></a>
+<span class="sourceLineNo">821</span>          HConstants.DEFAULT_THREAD_WAKE_FREQUENCY);<a name="line.821"></a>
+<span class="sourceLineNo">822</span>        healthCheckChore = new HealthCheckChore(sleepTime, this, getConfiguration());<a name="line.822"></a>
+<span class="sourceLineNo">823</span>      }<a name="line.823"></a>
+<span class="sourceLineNo">824</span><a name="line.824"></a>
+<span class="sourceLineNo">825</span>      initializeZooKeeper();<a name="line.825"></a>
+<span class="sourceLineNo">826</span>      if (!isStopped() &amp;&amp; !isAborted()) {<a name="line.826"></a>
+<span class="sourceLineNo">827</span>        initializeThreads();<a name="line.827"></a>
+<span class="sourceLineNo">828</span>      }<a name="line.828"></a>
+<span class="sourceLineNo">829</span>    } catch (Throwable t) {<a name="line.829"></a>
+<span class="sourceLineNo">830</span>      // Call stop if error or process will stick around for ever since server<a name="line.830"></a>
+<span class="sourceLineNo">831</span>      // puts up non-daemon threads.<a name="line.831"></a>
+<span class="sourceLineNo">832</span>      this.rpcServices.stop();<a name="line.832"></a>
+<span class="sourceLineNo">833</span>      abort("Initialization of RS failed.  Hence aborting RS.", t);<a name="line.833"></a>
+<span class="sourceLineNo">834</span>    }<a name="line.834"></a>
+<span class="sourceLineNo">835</span>  }<a name="line.835"></a>
+<span class="sourceLineNo">836</span><a name="line.836"></a>
+<span class="sourceLineNo">837</span>  /**<a name="line.837"></a>
+<span class="sourceLineNo">838</span>   * Bring up connection to zk ensemble and then wait until a master for this<a name="line.838"></a>
+<span class="sourceLineNo">839</span>   * cluster and then after that, wait until cluster 'up' flag has been set.<a name="line.839"></a>
+<span class="sourceLineNo">840</span>   * This is the order in which master does things.<a name="line.840"></a>
+<span class="sourceLineNo">841</span>   * Finally open long-living server short-circuit connection.<a name="line.841"></a>
+<span class="sourceLineNo">842</span>   * @throws IOException<a name="line.842"></a>
+<span class="sourceLineNo">843</span>   * @throws InterruptedException<a name="line.843"></a>
+<span class="sourceLineNo">844</span>   */<a name="line.844"></a>
+<span class="sourceLineNo">845</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="RV_RETURN_VALUE_IGNORED_BAD_PRACTICE",<a name="line.845"></a>
+<span class="sourceLineNo">846</span>    justification="cluster Id znode read would give us correct response")<a name="line.846"></a>
+<span class="sourceLineNo">847</span>  private void initializeZooKeeper() throws IOException, InterruptedException {<a name="line.847"></a>
+<span class="sourceLineNo">848</span>    // Create the master address tracker, register with zk, and start it.  Then<a name="line.848"></a>
+<span class="sourceLineNo">849</span>    // block until a master is available.  No point in starting up if no master<a name="line.849"></a>
+<span class="sourceLineNo">850</span>    // running.<a name="line.850"></a>
+<span class="sourceLineNo">851</span>    blockAndCheckIfStopped(this.masterAddressTracker);<a name="line.851"></a>
+<span class="sourceLineNo">852</span><a name="line.852"></a>
+<span class="sourceLineNo">853</span>    // Wait on cluster being up.  Master will set this flag up in zookeeper<a name="line.853"></a>
+<span class="sourceLineNo">854</span>    // when ready.<a name="line.854"></a>
+<span class="sourceLineNo">855</span>    blockAndCheckIfStopped(this.clusterStatusTracker);<a name="line.855"></a>
 <span class="sourceLineNo">856</span><a name="line.856"></a>
-<span class="sourceLineNo">857</span>    // In case colocated master, wait here till it's active.<a name="line.857"></a>
-<span class="sourceLineNo">858</span>    // So backup masters won't start as regionservers.<a name="line.858"></a>
-<span class="sourceLineNo">859</span>    // This is to avoid showing backup masters as regionservers<a name="line.859"></a>
-<span class="sourceLineNo">860</span>    // in master web UI, or assigning any region to them.<a name="line.860"></a>
-<span class="sourceLineNo">861</span>    waitForMasterActive();<a name="line.861"></a>
-<span class="sourceLineNo">862</span>    if (isStopped() || isAborted()) {<a name="line.862"></a>
-<span class="sourceLineNo">863</span>      return; // No need for further initialization<a name="line.863"></a>
-<span class="sourceLineNo">864</span>    }<a name="line.864"></a>
-<span class="sourceLineNo">865</span><a name="line.865"></a>
-<span class="sourceLineNo">866</span>    // watch for snapshots and other procedures<a name="line.866"></a>
-<span class="sourceLineNo">867</span>    try {<a name="line.867"></a>
-<span class="sourceLineNo">868</span>      rspmHost = new RegionServerProcedureManagerHost();<a name="line.868"></a>
-<span class="sourceLineNo">869</span>      rspmHost.loadProcedures(conf);<a name="line.869"></a>
-<span class="sourceLineNo">870</span>      rspmHost.initialize(this);<a name="line.870"></a>
-<span class="sourceLineNo">871</span>    } catch (KeeperException e) {<a name="line.871"></a>
-<span class="sourceLineNo">872</span>      this.abort("Failed to reach coordination cluster when creating procedure handler.", e);<a name="line.872"></a>
-<span class="sourceLineNo">873</span>    }<a name="line.873"></a>
-<span class="sourceLineNo">874</span>    // register watcher for recovering regions<a name="line.874"></a>
-<span class="sourceLineNo">875</span>    this.recoveringRegionWatcher = new RecoveringRegionWatcher(this.zooKeeper, this);<a name="line.875"></a>
-<span class="sourceLineNo">876</span>  }<a name="line.876"></a>
-<span class="sourceLineNo">877</span><a name="line.877"></a>
-<span class="sourceLineNo">878</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="RV_RETURN_VALUE_IGNORED",<a name="line.878"></a>
-<span class="sourceLineNo">879</span>      justification="We don't care about the return")<a name="line.879"></a>
-<span class="sourceLineNo">880</span>  private void doLatch(final CountDownLatch latch) throws InterruptedException {<a name="line.880"></a>
-<span class="sourceLineNo">881</span>    if (latch != null) {<a name="line.881"></a>
-<span class="sourceLineNo">882</span>      // Result is ignored intentionally but if I remove the below, findbugs complains (the<a name="line.882"></a>
-<span class="sourceLineNo">883</span>      // above justification on this method doesn't seem to suppress it).<a name="line.883"></a>
-<span class="sourceLineNo">884</span>      boolean result = latch.await(20, TimeUnit.SECONDS);<a name="line.884"></a>
-<span class="sourceLineNo">885</span>    }<a name="line.885"></a>
-<span class="sourceLineNo">886</span>  }<a name="line.886"></a>
-<span class="sourceLineNo">887</span><a name="line.887"></a>
-<span class="sourceLineNo">888</span>  /**<a name="line.888"></a>
-<span class="sourceLineNo">889</span>   * Utilty method to wait indefinitely on a znode availability while checking<a name="line.889"></a>
-<span class="sourceLineNo">890</span>   * if the region server is shut down<a name="line.890"></a>
-<span class="sourceLineNo">891</span>   * @param tracker znode tracker to use<a name="line.891"></a>
-<span class="sourceLineNo">892</span>   * @throws IOException any IO exception, plus if the RS is stopped<a name="line.892"></a>
-<span class="sourceLineNo">893</span>   * @throws InterruptedException<a name="line.893"></a>
-<span class="sourceLineNo">894</span>   */<a name="line.894"></a>
-<span class="sourceLineNo">895</span>  private void blockAndCheckIfStopped(ZooKeeperNodeTracker tracker)<a name="line.895"></a>
-<span class="sourceLineNo">896</span>      throws IOException, InterruptedException {<a name="line.896"></a>
-<span class="sourceLineNo">897</span>    while (tracker.blockUntilAvailable(this.msgInterval, false) == null) {<a name="line.897"></a>
-<span class="sourceLineNo">898</span>      if (this.stopped) {<a name="line.898"></a>
-<span class="sourceLineNo">899</span>        throw new IOException("Received the shutdown message while waiting.");<a name="line.899"></a>
-<span class="sourceLineNo">900</span>      }<a name="line.900"></a>
-<span class="sourceLineNo">901</span>    }<a name="line.901"></a>
-<span class="sourceLineNo">902</span>  }<a name="line.902"></a>
-<span class="sourceLineNo">903</span><a name="line.903"></a>
-<span class="sourceLineNo">904</span>  /**<a name="line.904"></a>
-<span class="sourceLineNo">905</span>   * @return False if cluster shutdown in progress<a name="line.905"></a>
-<span class="sourceLineNo">906</span>   */<a name="line.906"></a>
-<span class="sourceLineNo">907</span>  private boolean isClusterUp() {<a name="line.907"></a>
-<span class="sourceLineNo">908</span>    return clusterStatusTracker != null &amp;&amp; clusterStatusTracker.isClusterUp();<a name="line.908"></a>
-<span class="sourceLineNo">909</span>  }<a name="line.909"></a>
-<span class="sourceLineNo">910</span><a name="line.910"></a>
-<span class="sourceLineNo">911</span>  private void initializeThreads() throws IOException {<a name="line.911"></a>
-<span class="sourceLineNo">912</span>    // Cache flushing thread.<a name="line.912"></a>
-<span class="sourceLineNo">913</span>    this.cacheFlusher = new MemStoreFlusher(conf, this);<a name="line.913"></a>
-<span class="sourceLineNo">914</span><a name="line.914"></a>
-<span class="sourceLineNo">915</span>    // Compaction thread<a name="line.915"></a>
-<span class="sourceLineNo">916</span>    this.compactSplitThread = new CompactSplit(this);<a name="line.916"></a>
-<span class="sourceLineNo">917</span><a name="line.917"></a>
-<span class="sourceLineNo">918</span>    // Background thread to check for compactions; needed if region has not gotten updates<a name="line.918"></a>
-<span class="sourceLineNo">919</span>    // in a while. It will take care of not checking too frequently on store-by-store basis.<a name="line.919"></a>
-<span class="sourceLineNo">920</span>    this.compactionChecker = new CompactionChecker(this, this.threadWakeFrequency, this);<a name="line.920"></a>
-<span class="sourceLineNo">921</span>    this.periodicFlusher = new PeriodicMemstoreFlusher(this.threadWakeFrequency, this);<a name="line.921"></a>
-<span class="sourceLineNo">922</span>    this.leases = new Leases(this.threadWakeFrequency);<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>    // Create the thread to clean the moved regions list<a name="line.924"></a>
-<span class="sourceLineNo">925</span>    movedRegionsCleaner = MovedRegionsCleaner.create(this);<a name="line.925"></a>
-<span class="sourceLineNo">926</span><a name="line.926"></a>
-<span class="sourceLineNo">927</span>    if (this.nonceManager != null) {<a name="line.927"></a>
-<span class="sourceLineNo">928</span>      // Create the scheduled chore that cleans up nonces.<a name="line.928"></a>
-<span class="sourceLineNo">929</span>      nonceManagerChore = this.nonceManager.createCleanupScheduledChore(this);<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>    // Setup the Quota Manager<a name="line.932"></a>
-<span class="sourceLineNo">933</span>    rsQuotaManager = new RegionServerRpcQuotaManager(this);<a name="line.933"></a>
-<span class="sourceLineNo">934</span>    rsSpaceQuotaManager = new RegionServerSpaceQuotaManager(this);<a name="line.934"></a>
-<span class="sourceLineNo">935</span><a name="line.935"></a>
-<span class="sourceLineNo">936</span>    if (QuotaUtil.isQuotaEnabled(conf)) {<a name="line.936"></a>
-<span class="sourceLineNo">937</span>      this.fsUtilizationChore = new FileSystemUtilizationChore(this);<a name="line.937"></a>
-<span class="sourceLineNo">938</span>    }<a name="line.938"></a>
-<span class="sourceLineNo">939</span><a name="line.939"></a>
-<span class="sourceLineNo">940</span>    // Setup RPC client for master communication<a name="line.940"></a>
-<span class="sourceLineNo">941</span>    rpcClient = RpcClientFactory.createClient(conf, clusterId, new InetSocketAddress(<a name="line.941"></a>
-<span class="sourceLineNo">942</span>        rpcServices.isa.getAddress(), 0), clusterConnection.getConnectionMetrics());<a name="line.942"></a>
-<span class="sourceLineNo">943</span><a name="line.943"></a>
-<span class="sourceLineNo">944</span>    boolean onlyMetaRefresh = false;<a name="line.944"></a>
-<span class="sourceLineNo">945</span>    int storefileRefreshPeriod = conf.getInt(<a name="line.945"></a>
-<span class="sourceLineNo">946</span>        StorefileRefresherChore.REGIONSERVER_STOREFILE_REFRESH_PERIOD<a name="line.946"></a>
-<span class="sourceLineNo">947</span>      , StorefileRefresherChore.DEFAULT_REGIONSERVER_STOREFILE_REFRESH_PERIOD);<a name="line.947"></a>
-<span class="sourceLineNo">948</span>    if (storefileRefreshPeriod == 0) {<a name="line.948"></a>
-<span class="sourceLineNo">949</span>      storefileRefreshPeriod = conf.getInt(<a name="line.949"></a>
-<span class="sourceLineNo">950</span>          Storefile

<TRUNCATED>

[11/26] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html
index e1e4110..c46e8c5 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html
@@ -458,3282 +458,3297 @@
 <span class="sourceLineNo">450</span>  @InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CONFIG)<a name="line.450"></a>
 <span class="sourceLineNo">451</span>  protected final static String MASTER_HOSTNAME_KEY = "hbase.master.hostname";<a name="line.451"></a>
 <span class="sourceLineNo">452</span><a name="line.452"></a>
-<span class="sourceLineNo">453</span>  /**<a name="line.453"></a>
-<span class="sourceLineNo">454</span>   * This servers startcode.<a name="line.454"></a>
-<span class="sourceLineNo">455</span>   */<a name="line.455"></a>
-<span class="sourceLineNo">456</span>  protected final long startcode;<a name="line.456"></a>
+<span class="sourceLineNo">453</span>  // HBASE-18226: This config and hbase.regionserver.hostname are mutually exclusive.<a name="line.453"></a>
+<span class="sourceLineNo">454</span>  // Exception will be thrown if both are used.<a name="line.454"></a>
+<span class="sourceLineNo">455</span>  final static String RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY =<a name="line.455"></a>
+<span class="sourceLineNo">456</span>    "hbase.regionserver.hostname.disable.master.reversedns";<a name="line.456"></a>
 <span class="sourceLineNo">457</span><a name="line.457"></a>
 <span class="sourceLineNo">458</span>  /**<a name="line.458"></a>
-<span class="sourceLineNo">459</span>   * Unique identifier for the cluster we are a part of.<a name="line.459"></a>
+<span class="sourceLineNo">459</span>   * This servers startcode.<a name="line.459"></a>
 <span class="sourceLineNo">460</span>   */<a name="line.460"></a>
-<span class="sourceLineNo">461</span>  private String clusterId;<a name="line.461"></a>
+<span class="sourceLineNo">461</span>  protected final long startcode;<a name="line.461"></a>
 <span class="sourceLineNo">462</span><a name="line.462"></a>
 <span class="sourceLineNo">463</span>  /**<a name="line.463"></a>
-<span class="sourceLineNo">464</span>   * MX Bean for RegionServerInfo<a name="line.464"></a>
+<span class="sourceLineNo">464</span>   * Unique identifier for the cluster we are a part of.<a name="line.464"></a>
 <span class="sourceLineNo">465</span>   */<a name="line.465"></a>
-<span class="sourceLineNo">466</span>  private ObjectName mxBean = null;<a name="line.466"></a>
+<span class="sourceLineNo">466</span>  private String clusterId;<a name="line.466"></a>
 <span class="sourceLineNo">467</span><a name="line.467"></a>
 <span class="sourceLineNo">468</span>  /**<a name="line.468"></a>
-<span class="sourceLineNo">469</span>   * Chore to clean periodically the moved region list<a name="line.469"></a>
+<span class="sourceLineNo">469</span>   * MX Bean for RegionServerInfo<a name="line.469"></a>
 <span class="sourceLineNo">470</span>   */<a name="line.470"></a>
-<span class="sourceLineNo">471</span>  private MovedRegionsCleaner movedRegionsCleaner;<a name="line.471"></a>
+<span class="sourceLineNo">471</span>  private ObjectName mxBean = null;<a name="line.471"></a>
 <span class="sourceLineNo">472</span><a name="line.472"></a>
-<span class="sourceLineNo">473</span>  // chore for refreshing store files for secondary regions<a name="line.473"></a>
-<span class="sourceLineNo">474</span>  private StorefileRefresherChore storefileRefresher;<a name="line.474"></a>
-<span class="sourceLineNo">475</span><a name="line.475"></a>
-<span class="sourceLineNo">476</span>  private RegionServerCoprocessorHost rsHost;<a name="line.476"></a>
+<span class="sourceLineNo">473</span>  /**<a name="line.473"></a>
+<span class="sourceLineNo">474</span>   * Chore to clean periodically the moved region list<a name="line.474"></a>
+<span class="sourceLineNo">475</span>   */<a name="line.475"></a>
+<span class="sourceLineNo">476</span>  private MovedRegionsCleaner movedRegionsCleaner;<a name="line.476"></a>
 <span class="sourceLineNo">477</span><a name="line.477"></a>
-<span class="sourceLineNo">478</span>  private RegionServerProcedureManagerHost rspmHost;<a name="line.478"></a>
-<span class="sourceLineNo">479</span><a name="line.479"></a>
-<span class="sourceLineNo">480</span>  private RegionServerRpcQuotaManager rsQuotaManager;<a name="line.480"></a>
-<span class="sourceLineNo">481</span>  private RegionServerSpaceQuotaManager rsSpaceQuotaManager;<a name="line.481"></a>
+<span class="sourceLineNo">478</span>  // chore for refreshing store files for secondary regions<a name="line.478"></a>
+<span class="sourceLineNo">479</span>  private StorefileRefresherChore storefileRefresher;<a name="line.479"></a>
+<span class="sourceLineNo">480</span><a name="line.480"></a>
+<span class="sourceLineNo">481</span>  private RegionServerCoprocessorHost rsHost;<a name="line.481"></a>
 <span class="sourceLineNo">482</span><a name="line.482"></a>
-<span class="sourceLineNo">483</span>  /**<a name="line.483"></a>
-<span class="sourceLineNo">484</span>   * Nonce manager. Nonces are used to make operations like increment and append idempotent<a name="line.484"></a>
-<span class="sourceLineNo">485</span>   * in the case where client doesn't receive the response from a successful operation and<a name="line.485"></a>
-<span class="sourceLineNo">486</span>   * retries. We track the successful ops for some time via a nonce sent by client and handle<a name="line.486"></a>
-<span class="sourceLineNo">487</span>   * duplicate operations (currently, by failing them; in future we might use MVCC to return<a name="line.487"></a>
-<span class="sourceLineNo">488</span>   * result). Nonces are also recovered from WAL during, recovery; however, the caveats (from<a name="line.488"></a>
-<span class="sourceLineNo">489</span>   * HBASE-3787) are:<a name="line.489"></a>
-<span class="sourceLineNo">490</span>   * - WAL recovery is optimized, and under high load we won't read nearly nonce-timeout worth<a name="line.490"></a>
-<span class="sourceLineNo">491</span>   *   of past records. If we don't read the records, we don't read and recover the nonces.<a name="line.491"></a>
-<span class="sourceLineNo">492</span>   *   Some WALs within nonce-timeout at recovery may not even be present due to rolling/cleanup.<a name="line.492"></a>
-<span class="sourceLineNo">493</span>   * - There's no WAL recovery during normal region move, so nonces will not be transfered.<a name="line.493"></a>
-<span class="sourceLineNo">494</span>   * We can have separate additional "Nonce WAL". It will just contain bunch of numbers and<a name="line.494"></a>
-<span class="sourceLineNo">495</span>   * won't be flushed on main path - because WAL itself also contains nonces, if we only flush<a name="line.495"></a>
-<span class="sourceLineNo">496</span>   * it before memstore flush, for a given nonce we will either see it in the WAL (if it was<a name="line.496"></a>
-<span class="sourceLineNo">497</span>   * never flushed to disk, it will be part of recovery), or we'll see it as part of the nonce<a name="line.497"></a>
-<span class="sourceLineNo">498</span>   * log (or both occasionally, which doesn't matter). Nonce log file can be deleted after the<a name="line.498"></a>
-<span class="sourceLineNo">499</span>   * latest nonce in it expired. It can also be recovered during move.<a name="line.499"></a>
-<span class="sourceLineNo">500</span>   */<a name="line.500"></a>
-<span class="sourceLineNo">501</span>  final ServerNonceManager nonceManager;<a name="line.501"></a>
-<span class="sourceLineNo">502</span><a name="line.502"></a>
-<span class="sourceLineNo">503</span>  private UserProvider userProvider;<a name="line.503"></a>
-<span class="sourceLineNo">504</span><a name="line.504"></a>
-<span class="sourceLineNo">505</span>  protected final RSRpcServices rpcServices;<a name="line.505"></a>
-<span class="sourceLineNo">506</span><a name="line.506"></a>
-<span class="sourceLineNo">507</span>  protected BaseCoordinatedStateManager csm;<a name="line.507"></a>
-<span class="sourceLineNo">508</span><a name="line.508"></a>
-<span class="sourceLineNo">509</span>  /**<a name="line.509"></a>
-<span class="sourceLineNo">510</span>   * Configuration manager is used to register/deregister and notify the configuration observers<a name="line.510"></a>
-<span class="sourceLineNo">511</span>   * when the regionserver is notified that there was a change in the on disk configs.<a name="line.511"></a>
-<span class="sourceLineNo">512</span>   */<a name="line.512"></a>
-<span class="sourceLineNo">513</span>  protected final ConfigurationManager configurationManager;<a name="line.513"></a>
-<span class="sourceLineNo">514</span><a name="line.514"></a>
-<span class="sourceLineNo">515</span>  @VisibleForTesting<a name="line.515"></a>
-<span class="sourceLineNo">516</span>  CompactedHFilesDischarger compactedFileDischarger;<a name="line.516"></a>
-<span class="sourceLineNo">517</span><a name="line.517"></a>
-<span class="sourceLineNo">518</span>  private volatile ThroughputController flushThroughputController;<a name="line.518"></a>
+<span class="sourceLineNo">483</span>  private RegionServerProcedureManagerHost rspmHost;<a name="line.483"></a>
+<span class="sourceLineNo">484</span><a name="line.484"></a>
+<span class="sourceLineNo">485</span>  private RegionServerRpcQuotaManager rsQuotaManager;<a name="line.485"></a>
+<span class="sourceLineNo">486</span>  private RegionServerSpaceQuotaManager rsSpaceQuotaManager;<a name="line.486"></a>
+<span class="sourceLineNo">487</span><a name="line.487"></a>
+<span class="sourceLineNo">488</span>  /**<a name="line.488"></a>
+<span class="sourceLineNo">489</span>   * Nonce manager. Nonces are used to make operations like increment and append idempotent<a name="line.489"></a>
+<span class="sourceLineNo">490</span>   * in the case where client doesn't receive the response from a successful operation and<a name="line.490"></a>
+<span class="sourceLineNo">491</span>   * retries. We track the successful ops for some time via a nonce sent by client and handle<a name="line.491"></a>
+<span class="sourceLineNo">492</span>   * duplicate operations (currently, by failing them; in future we might use MVCC to return<a name="line.492"></a>
+<span class="sourceLineNo">493</span>   * result). Nonces are also recovered from WAL during, recovery; however, the caveats (from<a name="line.493"></a>
+<span class="sourceLineNo">494</span>   * HBASE-3787) are:<a name="line.494"></a>
+<span class="sourceLineNo">495</span>   * - WAL recovery is optimized, and under high load we won't read nearly nonce-timeout worth<a name="line.495"></a>
+<span class="sourceLineNo">496</span>   *   of past records. If we don't read the records, we don't read and recover the nonces.<a name="line.496"></a>
+<span class="sourceLineNo">497</span>   *   Some WALs within nonce-timeout at recovery may not even be present due to rolling/cleanup.<a name="line.497"></a>
+<span class="sourceLineNo">498</span>   * - There's no WAL recovery during normal region move, so nonces will not be transfered.<a name="line.498"></a>
+<span class="sourceLineNo">499</span>   * We can have separate additional "Nonce WAL". It will just contain bunch of numbers and<a name="line.499"></a>
+<span class="sourceLineNo">500</span>   * won't be flushed on main path - because WAL itself also contains nonces, if we only flush<a name="line.500"></a>
+<span class="sourceLineNo">501</span>   * it before memstore flush, for a given nonce we will either see it in the WAL (if it was<a name="line.501"></a>
+<span class="sourceLineNo">502</span>   * never flushed to disk, it will be part of recovery), or we'll see it as part of the nonce<a name="line.502"></a>
+<span class="sourceLineNo">503</span>   * log (or both occasionally, which doesn't matter). Nonce log file can be deleted after the<a name="line.503"></a>
+<span class="sourceLineNo">504</span>   * latest nonce in it expired. It can also be recovered during move.<a name="line.504"></a>
+<span class="sourceLineNo">505</span>   */<a name="line.505"></a>
+<span class="sourceLineNo">506</span>  final ServerNonceManager nonceManager;<a name="line.506"></a>
+<span class="sourceLineNo">507</span><a name="line.507"></a>
+<span class="sourceLineNo">508</span>  private UserProvider userProvider;<a name="line.508"></a>
+<span class="sourceLineNo">509</span><a name="line.509"></a>
+<span class="sourceLineNo">510</span>  protected final RSRpcServices rpcServices;<a name="line.510"></a>
+<span class="sourceLineNo">511</span><a name="line.511"></a>
+<span class="sourceLineNo">512</span>  protected BaseCoordinatedStateManager csm;<a name="line.512"></a>
+<span class="sourceLineNo">513</span><a name="line.513"></a>
+<span class="sourceLineNo">514</span>  /**<a name="line.514"></a>
+<span class="sourceLineNo">515</span>   * Configuration manager is used to register/deregister and notify the configuration observers<a name="line.515"></a>
+<span class="sourceLineNo">516</span>   * when the regionserver is notified that there was a change in the on disk configs.<a name="line.516"></a>
+<span class="sourceLineNo">517</span>   */<a name="line.517"></a>
+<span class="sourceLineNo">518</span>  protected final ConfigurationManager configurationManager;<a name="line.518"></a>
 <span class="sourceLineNo">519</span><a name="line.519"></a>
-<span class="sourceLineNo">520</span>  protected SecureBulkLoadManager secureBulkLoadManager;<a name="line.520"></a>
-<span class="sourceLineNo">521</span><a name="line.521"></a>
-<span class="sourceLineNo">522</span>  protected FileSystemUtilizationChore fsUtilizationChore;<a name="line.522"></a>
-<span class="sourceLineNo">523</span><a name="line.523"></a>
-<span class="sourceLineNo">524</span>  /**<a name="line.524"></a>
-<span class="sourceLineNo">525</span>   * Starts a HRegionServer at the default location.<a name="line.525"></a>
-<span class="sourceLineNo">526</span>   */<a name="line.526"></a>
-<span class="sourceLineNo">527</span>  public HRegionServer(Configuration conf) throws IOException, InterruptedException {<a name="line.527"></a>
-<span class="sourceLineNo">528</span>    this(conf, CoordinatedStateManagerFactory.getCoordinatedStateManager(conf));<a name="line.528"></a>
-<span class="sourceLineNo">529</span>  }<a name="line.529"></a>
-<span class="sourceLineNo">530</span><a name="line.530"></a>
-<span class="sourceLineNo">531</span>  /**<a name="line.531"></a>
-<span class="sourceLineNo">532</span>   * Starts a HRegionServer at the default location<a name="line.532"></a>
-<span class="sourceLineNo">533</span>   * @param csm implementation of CoordinatedStateManager to be used<a name="line.533"></a>
-<span class="sourceLineNo">534</span>   */<a name="line.534"></a>
-<span class="sourceLineNo">535</span>  public HRegionServer(Configuration conf, CoordinatedStateManager csm) throws IOException {<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    super("RegionServer");  // thread name<a name="line.536"></a>
-<span class="sourceLineNo">537</span>    this.fsOk = true;<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    this.conf = conf;<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    MemorySizeUtil.checkForClusterFreeHeapMemoryLimit(this.conf);<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    HFile.checkHFileVersion(this.conf);<a name="line.540"></a>
-<span class="sourceLineNo">541</span>    checkCodecs(this.conf);<a name="line.541"></a>
-<span class="sourceLineNo">542</span>    this.userProvider = UserProvider.instantiate(conf);<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    FSUtils.setupShortCircuitRead(this.conf);<a name="line.543"></a>
-<span class="sourceLineNo">544</span><a name="line.544"></a>
-<span class="sourceLineNo">545</span>    Replication.decorateRegionServerConfiguration(this.conf);<a name="line.545"></a>
-<span class="sourceLineNo">546</span><a name="line.546"></a>
-<span class="sourceLineNo">547</span>    // Disable usage of meta replicas in the regionserver<a name="line.547"></a>
-<span class="sourceLineNo">548</span>    this.conf.setBoolean(HConstants.USE_META_REPLICAS, false);<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    // Config'ed params<a name="line.549"></a>
-<span class="sourceLineNo">550</span>    this.numRetries = this.conf.getInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER,<a name="line.550"></a>
-<span class="sourceLineNo">551</span>        HConstants.DEFAULT_HBASE_CLIENT_RETRIES_NUMBER);<a name="line.551"></a>
-<span class="sourceLineNo">552</span>    this.threadWakeFrequency = conf.getInt(HConstants.THREAD_WAKE_FREQUENCY, 10 * 1000);<a name="line.552"></a>
-<span class="sourceLineNo">553</span>    this.msgInterval = conf.getInt("hbase.regionserver.msginterval", 3 * 1000);<a name="line.553"></a>
-<span class="sourceLineNo">554</span><a name="line.554"></a>
-<span class="sourceLineNo">555</span>    this.sleeper = new Sleeper(this.msgInterval, this);<a name="line.555"></a>
-<span class="sourceLineNo">556</span><a name="line.556"></a>
-<span class="sourceLineNo">557</span>    boolean isNoncesEnabled = conf.getBoolean(HConstants.HBASE_RS_NONCES_ENABLED, true);<a name="line.557"></a>
-<span class="sourceLineNo">558</span>    this.nonceManager = isNoncesEnabled ? new ServerNonceManager(this.conf) : null;<a name="line.558"></a>
+<span class="sourceLineNo">520</span>  @VisibleForTesting<a name="line.520"></a>
+<span class="sourceLineNo">521</span>  CompactedHFilesDischarger compactedFileDischarger;<a name="line.521"></a>
+<span class="sourceLineNo">522</span><a name="line.522"></a>
+<span class="sourceLineNo">523</span>  private volatile ThroughputController flushThroughputController;<a name="line.523"></a>
+<span class="sourceLineNo">524</span><a name="line.524"></a>
+<span class="sourceLineNo">525</span>  protected SecureBulkLoadManager secureBulkLoadManager;<a name="line.525"></a>
+<span class="sourceLineNo">526</span><a name="line.526"></a>
+<span class="sourceLineNo">527</span>  protected FileSystemUtilizationChore fsUtilizationChore;<a name="line.527"></a>
+<span class="sourceLineNo">528</span><a name="line.528"></a>
+<span class="sourceLineNo">529</span>  /**<a name="line.529"></a>
+<span class="sourceLineNo">530</span>   * Starts a HRegionServer at the default location.<a name="line.530"></a>
+<span class="sourceLineNo">531</span>   */<a name="line.531"></a>
+<span class="sourceLineNo">532</span>  public HRegionServer(Configuration conf) throws IOException, InterruptedException {<a name="line.532"></a>
+<span class="sourceLineNo">533</span>    this(conf, CoordinatedStateManagerFactory.getCoordinatedStateManager(conf));<a name="line.533"></a>
+<span class="sourceLineNo">534</span>  }<a name="line.534"></a>
+<span class="sourceLineNo">535</span><a name="line.535"></a>
+<span class="sourceLineNo">536</span>  /**<a name="line.536"></a>
+<span class="sourceLineNo">537</span>   * Starts a HRegionServer at the default location<a name="line.537"></a>
+<span class="sourceLineNo">538</span>   * @param csm implementation of CoordinatedStateManager to be used<a name="line.538"></a>
+<span class="sourceLineNo">539</span>   */<a name="line.539"></a>
+<span class="sourceLineNo">540</span>  public HRegionServer(Configuration conf, CoordinatedStateManager csm) throws IOException {<a name="line.540"></a>
+<span class="sourceLineNo">541</span>    super("RegionServer");  // thread name<a name="line.541"></a>
+<span class="sourceLineNo">542</span>    this.fsOk = true;<a name="line.542"></a>
+<span class="sourceLineNo">543</span>    this.conf = conf;<a name="line.543"></a>
+<span class="sourceLineNo">544</span>    MemorySizeUtil.checkForClusterFreeHeapMemoryLimit(this.conf);<a name="line.544"></a>
+<span class="sourceLineNo">545</span>    HFile.checkHFileVersion(this.conf);<a name="line.545"></a>
+<span class="sourceLineNo">546</span>    checkCodecs(this.conf);<a name="line.546"></a>
+<span class="sourceLineNo">547</span>    this.userProvider = UserProvider.instantiate(conf);<a name="line.547"></a>
+<span class="sourceLineNo">548</span>    FSUtils.setupShortCircuitRead(this.conf);<a name="line.548"></a>
+<span class="sourceLineNo">549</span><a name="line.549"></a>
+<span class="sourceLineNo">550</span>    Replication.decorateRegionServerConfiguration(this.conf);<a name="line.550"></a>
+<span class="sourceLineNo">551</span><a name="line.551"></a>
+<span class="sourceLineNo">552</span>    // Disable usage of meta replicas in the regionserver<a name="line.552"></a>
+<span class="sourceLineNo">553</span>    this.conf.setBoolean(HConstants.USE_META_REPLICAS, false);<a name="line.553"></a>
+<span class="sourceLineNo">554</span>    // Config'ed params<a name="line.554"></a>
+<span class="sourceLineNo">555</span>    this.numRetries = this.conf.getInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER,<a name="line.555"></a>
+<span class="sourceLineNo">556</span>        HConstants.DEFAULT_HBASE_CLIENT_RETRIES_NUMBER);<a name="line.556"></a>
+<span class="sourceLineNo">557</span>    this.threadWakeFrequency = conf.getInt(HConstants.THREAD_WAKE_FREQUENCY, 10 * 1000);<a name="line.557"></a>
+<span class="sourceLineNo">558</span>    this.msgInterval = conf.getInt("hbase.regionserver.msginterval", 3 * 1000);<a name="line.558"></a>
 <span class="sourceLineNo">559</span><a name="line.559"></a>
-<span class="sourceLineNo">560</span>    this.numRegionsToReport = conf.getInt(<a name="line.560"></a>
-<span class="sourceLineNo">561</span>      "hbase.regionserver.numregionstoreport", 10);<a name="line.561"></a>
-<span class="sourceLineNo">562</span><a name="line.562"></a>
-<span class="sourceLineNo">563</span>    this.operationTimeout = conf.getInt(<a name="line.563"></a>
-<span class="sourceLineNo">564</span>      HConstants.HBASE_CLIENT_OPERATION_TIMEOUT,<a name="line.564"></a>
-<span class="sourceLineNo">565</span>      HConstants.DEFAULT_HBASE_CLIENT_OPERATION_TIMEOUT);<a name="line.565"></a>
-<span class="sourceLineNo">566</span><a name="line.566"></a>
-<span class="sourceLineNo">567</span>    this.shortOperationTimeout = conf.getInt(<a name="line.567"></a>
-<span class="sourceLineNo">568</span>      HConstants.HBASE_RPC_SHORTOPERATION_TIMEOUT_KEY,<a name="line.568"></a>
-<span class="sourceLineNo">569</span>      HConstants.DEFAULT_HBASE_RPC_SHORTOPERATION_TIMEOUT);<a name="line.569"></a>
-<span class="sourceLineNo">570</span><a name="line.570"></a>
-<span class="sourceLineNo">571</span>    this.abortRequested = false;<a name="line.571"></a>
-<span class="sourceLineNo">572</span>    this.stopped = false;<a name="line.572"></a>
-<span class="sourceLineNo">573</span><a name="line.573"></a>
-<span class="sourceLineNo">574</span>    rpcServices = createRpcServices();<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    this.startcode = System.currentTimeMillis();<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    if (this instanceof HMaster) {<a name="line.576"></a>
-<span class="sourceLineNo">577</span>      useThisHostnameInstead = conf.get(MASTER_HOSTNAME_KEY);<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    } else {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>      useThisHostnameInstead = conf.get(RS_HOSTNAME_KEY);<a name="line.579"></a>
-<span class="sourceLineNo">580</span>    }<a name="line.580"></a>
-<span class="sourceLineNo">581</span>    String hostName = shouldUseThisHostnameInstead() ? useThisHostnameInstead :<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      rpcServices.isa.getHostName();<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    serverName = ServerName.valueOf(hostName, rpcServices.isa.getPort(), startcode);<a name="line.583"></a>
-<span class="sourceLineNo">584</span><a name="line.584"></a>
-<span class="sourceLineNo">585</span>    rpcControllerFactory = RpcControllerFactory.instantiate(this.conf);<a name="line.585"></a>
-<span class="sourceLineNo">586</span>    rpcRetryingCallerFactory = RpcRetryingCallerFactory.instantiate(this.conf);<a name="line.586"></a>
-<span class="sourceLineNo">587</span><a name="line.587"></a>
-<span class="sourceLineNo">588</span>    // login the zookeeper client principal (if using security)<a name="line.588"></a>
-<span class="sourceLineNo">589</span>    ZKUtil.loginClient(this.conf, HConstants.ZK_CLIENT_KEYTAB_FILE,<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      HConstants.ZK_CLIENT_KERBEROS_PRINCIPAL, hostName);<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    // login the server principal (if using secure Hadoop)<a name="line.591"></a>
-<span class="sourceLineNo">592</span>    login(userProvider, hostName);<a name="line.592"></a>
-<span class="sourceLineNo">593</span>    // init superusers and add the server principal (if using security)<a name="line.593"></a>
-<span class="sourceLineNo">594</span>    // or process owner as default super user.<a name="line.594"></a>
-<span class="sourceLineNo">595</span>    Superusers.initialize(conf);<a name="line.595"></a>
-<span class="sourceLineNo">596</span><a name="line.596"></a>
-<span class="sourceLineNo">597</span>    regionServerAccounting = new RegionServerAccounting(conf);<a name="line.597"></a>
-<span class="sourceLineNo">598</span>    cacheConfig = new CacheConfig(conf);<a name="line.598"></a>
-<span class="sourceLineNo">599</span>    mobCacheConfig = new MobCacheConfig(conf);<a name="line.599"></a>
-<span class="sourceLineNo">600</span>    uncaughtExceptionHandler = new UncaughtExceptionHandler() {<a name="line.600"></a>
-<span class="sourceLineNo">601</span>      @Override<a name="line.601"></a>
-<span class="sourceLineNo">602</span>      public void uncaughtException(Thread t, Throwable e) {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>        abort("Uncaught exception in service thread " + t.getName(), e);<a name="line.603"></a>
-<span class="sourceLineNo">604</span>      }<a name="line.604"></a>
-<span class="sourceLineNo">605</span>    };<a name="line.605"></a>
-<span class="sourceLineNo">606</span><a name="line.606"></a>
-<span class="sourceLineNo">607</span>    initializeFileSystem();<a name="line.607"></a>
-<span class="sourceLineNo">608</span><a name="line.608"></a>
-<span class="sourceLineNo">609</span>    service = new ExecutorService(getServerName().toShortString());<a name="line.609"></a>
-<span class="sourceLineNo">610</span>    spanReceiverHost = SpanReceiverHost.getInstance(getConfiguration());<a name="line.610"></a>
+<span class="sourceLineNo">560</span>    this.sleeper = new Sleeper(this.msgInterval, this);<a name="line.560"></a>
+<span class="sourceLineNo">561</span><a name="line.561"></a>
+<span class="sourceLineNo">562</span>    boolean isNoncesEnabled = conf.getBoolean(HConstants.HBASE_RS_NONCES_ENABLED, true);<a name="line.562"></a>
+<span class="sourceLineNo">563</span>    this.nonceManager = isNoncesEnabled ? new ServerNonceManager(this.conf) : null;<a name="line.563"></a>
+<span class="sourceLineNo">564</span><a name="line.564"></a>
+<span class="sourceLineNo">565</span>    this.numRegionsToReport = conf.getInt(<a name="line.565"></a>
+<span class="sourceLineNo">566</span>      "hbase.regionserver.numregionstoreport", 10);<a name="line.566"></a>
+<span class="sourceLineNo">567</span><a name="line.567"></a>
+<span class="sourceLineNo">568</span>    this.operationTimeout = conf.getInt(<a name="line.568"></a>
+<span class="sourceLineNo">569</span>      HConstants.HBASE_CLIENT_OPERATION_TIMEOUT,<a name="line.569"></a>
+<span class="sourceLineNo">570</span>      HConstants.DEFAULT_HBASE_CLIENT_OPERATION_TIMEOUT);<a name="line.570"></a>
+<span class="sourceLineNo">571</span><a name="line.571"></a>
+<span class="sourceLineNo">572</span>    this.shortOperationTimeout = conf.getInt(<a name="line.572"></a>
+<span class="sourceLineNo">573</span>      HConstants.HBASE_RPC_SHORTOPERATION_TIMEOUT_KEY,<a name="line.573"></a>
+<span class="sourceLineNo">574</span>      HConstants.DEFAULT_HBASE_RPC_SHORTOPERATION_TIMEOUT);<a name="line.574"></a>
+<span class="sourceLineNo">575</span><a name="line.575"></a>
+<span class="sourceLineNo">576</span>    this.abortRequested = false;<a name="line.576"></a>
+<span class="sourceLineNo">577</span>    this.stopped = false;<a name="line.577"></a>
+<span class="sourceLineNo">578</span><a name="line.578"></a>
+<span class="sourceLineNo">579</span>    rpcServices = createRpcServices();<a name="line.579"></a>
+<span class="sourceLineNo">580</span>    this.startcode = System.currentTimeMillis();<a name="line.580"></a>
+<span class="sourceLineNo">581</span>    if (this instanceof HMaster) {<a name="line.581"></a>
+<span class="sourceLineNo">582</span>      useThisHostnameInstead = conf.get(MASTER_HOSTNAME_KEY);<a name="line.582"></a>
+<span class="sourceLineNo">583</span>    } else {<a name="line.583"></a>
+<span class="sourceLineNo">584</span>      useThisHostnameInstead = conf.get(RS_HOSTNAME_KEY);<a name="line.584"></a>
+<span class="sourceLineNo">585</span>      if (conf.getBoolean(RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY, false)) {<a name="line.585"></a>
+<span class="sourceLineNo">586</span>        if (shouldUseThisHostnameInstead()) {<a name="line.586"></a>
+<span class="sourceLineNo">587</span>          String msg = RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY + " and " + RS_HOSTNAME_KEY +<a name="line.587"></a>
+<span class="sourceLineNo">588</span>            " are mutually exclusive. Do not set " + RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY +<a name="line.588"></a>
+<span class="sourceLineNo">589</span>            " to true while " + RS_HOSTNAME_KEY + " is used";<a name="line.589"></a>
+<span class="sourceLineNo">590</span>          throw new IOException(msg);<a name="line.590"></a>
+<span class="sourceLineNo">591</span>        } else {<a name="line.591"></a>
+<span class="sourceLineNo">592</span>          useThisHostnameInstead = rpcServices.isa.getHostName();<a name="line.592"></a>
+<span class="sourceLineNo">593</span>        }<a name="line.593"></a>
+<span class="sourceLineNo">594</span>      }<a name="line.594"></a>
+<span class="sourceLineNo">595</span>    }<a name="line.595"></a>
+<span class="sourceLineNo">596</span>    String hostName = shouldUseThisHostnameInstead() ? useThisHostnameInstead :<a name="line.596"></a>
+<span class="sourceLineNo">597</span>      rpcServices.isa.getHostName();<a name="line.597"></a>
+<span class="sourceLineNo">598</span>    serverName = ServerName.valueOf(hostName, rpcServices.isa.getPort(), startcode);<a name="line.598"></a>
+<span class="sourceLineNo">599</span><a name="line.599"></a>
+<span class="sourceLineNo">600</span>    rpcControllerFactory = RpcControllerFactory.instantiate(this.conf);<a name="line.600"></a>
+<span class="sourceLineNo">601</span>    rpcRetryingCallerFactory = RpcRetryingCallerFactory.instantiate(this.conf);<a name="line.601"></a>
+<span class="sourceLineNo">602</span><a name="line.602"></a>
+<span class="sourceLineNo">603</span>    // login the zookeeper client principal (if using security)<a name="line.603"></a>
+<span class="sourceLineNo">604</span>    ZKUtil.loginClient(this.conf, HConstants.ZK_CLIENT_KEYTAB_FILE,<a name="line.604"></a>
+<span class="sourceLineNo">605</span>      HConstants.ZK_CLIENT_KERBEROS_PRINCIPAL, hostName);<a name="line.605"></a>
+<span class="sourceLineNo">606</span>    // login the server principal (if using secure Hadoop)<a name="line.606"></a>
+<span class="sourceLineNo">607</span>    login(userProvider, hostName);<a name="line.607"></a>
+<span class="sourceLineNo">608</span>    // init superusers and add the server principal (if using security)<a name="line.608"></a>
+<span class="sourceLineNo">609</span>    // or process owner as default super user.<a name="line.609"></a>
+<span class="sourceLineNo">610</span>    Superusers.initialize(conf);<a name="line.610"></a>
 <span class="sourceLineNo">611</span><a name="line.611"></a>
-<span class="sourceLineNo">612</span>    // Some unit tests don't need a cluster, so no zookeeper at all<a name="line.612"></a>
-<span class="sourceLineNo">613</span>    if (!conf.getBoolean("hbase.testing.nocluster", false)) {<a name="line.613"></a>
-<span class="sourceLineNo">614</span>      // Open connection to zookeeper and set primary watcher<a name="line.614"></a>
-<span class="sourceLineNo">615</span>      zooKeeper = new ZooKeeperWatcher(conf, getProcessName() + ":" +<a name="line.615"></a>
-<span class="sourceLineNo">616</span>        rpcServices.isa.getPort(), this, canCreateBaseZNode());<a name="line.616"></a>
-<span class="sourceLineNo">617</span><a name="line.617"></a>
-<span class="sourceLineNo">618</span>      this.csm = (BaseCoordinatedStateManager) csm;<a name="line.618"></a>
-<span class="sourceLineNo">619</span>      this.csm.initialize(this);<a name="line.619"></a>
-<span class="sourceLineNo">620</span>      this.csm.start();<a name="line.620"></a>
+<span class="sourceLineNo">612</span>    regionServerAccounting = new RegionServerAccounting(conf);<a name="line.612"></a>
+<span class="sourceLineNo">613</span>    cacheConfig = new CacheConfig(conf);<a name="line.613"></a>
+<span class="sourceLineNo">614</span>    mobCacheConfig = new MobCacheConfig(conf);<a name="line.614"></a>
+<span class="sourceLineNo">615</span>    uncaughtExceptionHandler = new UncaughtExceptionHandler() {<a name="line.615"></a>
+<span class="sourceLineNo">616</span>      @Override<a name="line.616"></a>
+<span class="sourceLineNo">617</span>      public void uncaughtException(Thread t, Throwable e) {<a name="line.617"></a>
+<span class="sourceLineNo">618</span>        abort("Uncaught exception in service thread " + t.getName(), e);<a name="line.618"></a>
+<span class="sourceLineNo">619</span>      }<a name="line.619"></a>
+<span class="sourceLineNo">620</span>    };<a name="line.620"></a>
 <span class="sourceLineNo">621</span><a name="line.621"></a>
-<span class="sourceLineNo">622</span>      masterAddressTracker = new MasterAddressTracker(getZooKeeper(), this);<a name="line.622"></a>
-<span class="sourceLineNo">623</span>      masterAddressTracker.start();<a name="line.623"></a>
-<span class="sourceLineNo">624</span><a name="line.624"></a>
-<span class="sourceLineNo">625</span>      clusterStatusTracker = new ClusterStatusTracker(zooKeeper, this);<a name="line.625"></a>
-<span class="sourceLineNo">626</span>      clusterStatusTracker.start();<a name="line.626"></a>
-<span class="sourceLineNo">627</span>    }<a name="line.627"></a>
-<span class="sourceLineNo">628</span>    this.configurationManager = new ConfigurationManager();<a name="line.628"></a>
-<span class="sourceLineNo">629</span><a name="line.629"></a>
-<span class="sourceLineNo">630</span>    rpcServices.start();<a name="line.630"></a>
-<span class="sourceLineNo">631</span>    putUpWebUI();<a name="line.631"></a>
-<span class="sourceLineNo">632</span>    this.walRoller = new LogRoller(this, this);<a name="line.632"></a>
-<span class="sourceLineNo">633</span>    this.choreService = new ChoreService(getServerName().toString(), true);<a name="line.633"></a>
-<span class="sourceLineNo">634</span>    this.flushThroughputController = FlushThroughputControllerFactory.create(this, conf);<a name="line.634"></a>
-<span class="sourceLineNo">635</span><a name="line.635"></a>
-<span class="sourceLineNo">636</span>    if (!SystemUtils.IS_OS_WINDOWS) {<a name="line.636"></a>
-<span class="sourceLineNo">637</span>      Signal.handle(new Signal("HUP"), new SignalHandler() {<a name="line.637"></a>
-<span class="sourceLineNo">638</span>        @Override<a name="line.638"></a>
-<span class="sourceLineNo">639</span>        public void handle(Signal signal) {<a name="line.639"></a>
-<span class="sourceLineNo">640</span>          getConfiguration().reloadConfiguration();<a name="line.640"></a>
-<span class="sourceLineNo">641</span>          configurationManager.notifyAllObservers(getConfiguration());<a name="line.641"></a>
-<span class="sourceLineNo">642</span>        }<a name="line.642"></a>
-<span class="sourceLineNo">643</span>      });<a name="line.643"></a>
-<span class="sourceLineNo">644</span>    }<a name="line.644"></a>
-<span class="sourceLineNo">645</span>    // Create the CompactedFileDischarger chore service. This chore helps to<a name="line.645"></a>
-<span class="sourceLineNo">646</span>    // remove the compacted files<a name="line.646"></a>
-<span class="sourceLineNo">647</span>    // that will no longer be used in reads.<a name="line.647"></a>
-<span class="sourceLineNo">648</span>    // Default is 2 mins. The default value for TTLCleaner is 5 mins so we set this to<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    // 2 mins so that compacted files can be archived before the TTLCleaner runs<a name="line.649"></a>
-<span class="sourceLineNo">650</span>    int cleanerInterval =<a name="line.650"></a>
-<span class="sourceLineNo">651</span>        conf.getInt("hbase.hfile.compaction.discharger.interval", 2 * 60 * 1000);<a name="line.651"></a>
-<span class="sourceLineNo">652</span>    this.compactedFileDischarger =<a name="line.652"></a>
-<span class="sourceLineNo">653</span>        new CompactedHFilesDischarger(cleanerInterval, this, this);<a name="line.653"></a>
-<span class="sourceLineNo">654</span>    choreService.scheduleChore(compactedFileDischarger);<a name="line.654"></a>
-<span class="sourceLineNo">655</span>  }<a name="line.655"></a>
-<span class="sourceLineNo">656</span><a name="line.656"></a>
-<span class="sourceLineNo">657</span>  private void initializeFileSystem() throws IOException {<a name="line.657"></a>
-<span class="sourceLineNo">658</span>    // Get fs instance used by this RS.  Do we use checksum verification in the hbase? If hbase<a name="line.658"></a>
-<span class="sourceLineNo">659</span>    // checksum verification enabled, then automatically switch off hdfs checksum verification.<a name="line.659"></a>
-<span class="sourceLineNo">660</span>    boolean useHBaseChecksum = conf.getBoolean(HConstants.HBASE_CHECKSUM_VERIFICATION, true);<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    FSUtils.setFsDefault(this.conf, FSUtils.getWALRootDir(this.conf));<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    this.walFs = new HFileSystem(this.conf, useHBaseChecksum);<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    this.walRootDir = FSUtils.getWALRootDir(this.conf);<a name="line.663"></a>
-<span class="sourceLineNo">664</span>    // Set 'fs.defaultFS' to match the filesystem on hbase.rootdir else<a name="line.664"></a>
-<span class="sourceLineNo">665</span>    // underlying hadoop hdfs accessors will be going against wrong filesystem<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    // (unless all is set to defaults).<a name="line.666"></a>
-<span class="sourceLineNo">667</span>    FSUtils.setFsDefault(this.conf, FSUtils.getRootDir(this.conf));<a name="line.667"></a>
-<span class="sourceLineNo">668</span>    this.fs = new HFileSystem(this.conf, useHBaseChecksum);<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    this.rootDir = FSUtils.getRootDir(this.conf);<a name="line.669"></a>
-<span class="sourceLineNo">670</span>    this.tableDescriptors = getFsTableDescriptors();<a name="line.670"></a>
-<span class="sourceLineNo">671</span>  }<a name="line.671"></a>
-<span class="sourceLineNo">672</span><a name="line.672"></a>
-<span class="sourceLineNo">673</span>  protected TableDescriptors getFsTableDescriptors() throws IOException {<a name="line.673"></a>
-<span class="sourceLineNo">674</span>    return new FSTableDescriptors(this.conf,<a name="line.674"></a>
-<span class="sourceLineNo">675</span>      this.fs, this.rootDir, !canUpdateTableDescriptor(), false);<a name="line.675"></a>
-<span class="sourceLineNo">676</span>  }<a name="line.676"></a>
-<span class="sourceLineNo">677</span><a name="line.677"></a>
-<span class="sourceLineNo">678</span>  protected void setInitLatch(CountDownLatch latch) {<a name="line.678"></a>
-<span class="sourceLineNo">679</span>    this.initLatch = latch;<a name="line.679"></a>
-<span class="sourceLineNo">680</span>  }<a name="line.680"></a>
-<span class="sourceLineNo">681</span><a name="line.681"></a>
-<span class="sourceLineNo">682</span>  /*<a name="line.682"></a>
-<span class="sourceLineNo">683</span>   * Returns true if configured hostname should be used<a name="line.683"></a>
-<span class="sourceLineNo">684</span>   */<a name="line.684"></a>
-<span class="sourceLineNo">685</span>  protected boolean shouldUseThisHostnameInstead() {<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    return useThisHostnameInstead != null &amp;&amp; !useThisHostnameInstead.isEmpty();<a name="line.686"></a>
-<span class="sourceLineNo">687</span>  }<a name="line.687"></a>
-<span class="sourceLineNo">688</span><a name="line.688"></a>
-<span class="sourceLineNo">689</span>  protected void login(UserProvider user, String host) throws IOException {<a name="line.689"></a>
-<span class="sourceLineNo">690</span>    user.login("hbase.regionserver.keytab.file",<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      "hbase.regionserver.kerberos.principal", host);<a name="line.691"></a>
-<span class="sourceLineNo">692</span>  }<a name="line.692"></a>
-<span class="sourceLineNo">693</span><a name="line.693"></a>
-<span class="sourceLineNo">694</span>  protected void waitForMasterActive(){<a name="line.694"></a>
+<span class="sourceLineNo">622</span>    initializeFileSystem();<a name="line.622"></a>
+<span class="sourceLineNo">623</span><a name="line.623"></a>
+<span class="sourceLineNo">624</span>    service = new ExecutorService(getServerName().toShortString());<a name="line.624"></a>
+<span class="sourceLineNo">625</span>    spanReceiverHost = SpanReceiverHost.getInstance(getConfiguration());<a name="line.625"></a>
+<span class="sourceLineNo">626</span><a name="line.626"></a>
+<span class="sourceLineNo">627</span>    // Some unit tests don't need a cluster, so no zookeeper at all<a name="line.627"></a>
+<span class="sourceLineNo">628</span>    if (!conf.getBoolean("hbase.testing.nocluster", false)) {<a name="line.628"></a>
+<span class="sourceLineNo">629</span>      // Open connection to zookeeper and set primary watcher<a name="line.629"></a>
+<span class="sourceLineNo">630</span>      zooKeeper = new ZooKeeperWatcher(conf, getProcessName() + ":" +<a name="line.630"></a>
+<span class="sourceLineNo">631</span>        rpcServices.isa.getPort(), this, canCreateBaseZNode());<a name="line.631"></a>
+<span class="sourceLineNo">632</span><a name="line.632"></a>
+<span class="sourceLineNo">633</span>      this.csm = (BaseCoordinatedStateManager) csm;<a name="line.633"></a>
+<span class="sourceLineNo">634</span>      this.csm.initialize(this);<a name="line.634"></a>
+<span class="sourceLineNo">635</span>      this.csm.start();<a name="line.635"></a>
+<span class="sourceLineNo">636</span><a name="line.636"></a>
+<span class="sourceLineNo">637</span>      masterAddressTracker = new MasterAddressTracker(getZooKeeper(), this);<a name="line.637"></a>
+<span class="sourceLineNo">638</span>      masterAddressTracker.start();<a name="line.638"></a>
+<span class="sourceLineNo">639</span><a name="line.639"></a>
+<span class="sourceLineNo">640</span>      clusterStatusTracker = new ClusterStatusTracker(zooKeeper, this);<a name="line.640"></a>
+<span class="sourceLineNo">641</span>      clusterStatusTracker.start();<a name="line.641"></a>
+<span class="sourceLineNo">642</span>    }<a name="line.642"></a>
+<span class="sourceLineNo">643</span>    this.configurationManager = new ConfigurationManager();<a name="line.643"></a>
+<span class="sourceLineNo">644</span><a name="line.644"></a>
+<span class="sourceLineNo">645</span>    rpcServices.start();<a name="line.645"></a>
+<span class="sourceLineNo">646</span>    putUpWebUI();<a name="line.646"></a>
+<span class="sourceLineNo">647</span>    this.walRoller = new LogRoller(this, this);<a name="line.647"></a>
+<span class="sourceLineNo">648</span>    this.choreService = new ChoreService(getServerName().toString(), true);<a name="line.648"></a>
+<span class="sourceLineNo">649</span>    this.flushThroughputController = FlushThroughputControllerFactory.create(this, conf);<a name="line.649"></a>
+<span class="sourceLineNo">650</span><a name="line.650"></a>
+<span class="sourceLineNo">651</span>    if (!SystemUtils.IS_OS_WINDOWS) {<a name="line.651"></a>
+<span class="sourceLineNo">652</span>      Signal.handle(new Signal("HUP"), new SignalHandler() {<a name="line.652"></a>
+<span class="sourceLineNo">653</span>        @Override<a name="line.653"></a>
+<span class="sourceLineNo">654</span>        public void handle(Signal signal) {<a name="line.654"></a>
+<span class="sourceLineNo">655</span>          getConfiguration().reloadConfiguration();<a name="line.655"></a>
+<span class="sourceLineNo">656</span>          configurationManager.notifyAllObservers(getConfiguration());<a name="line.656"></a>
+<span class="sourceLineNo">657</span>        }<a name="line.657"></a>
+<span class="sourceLineNo">658</span>      });<a name="line.658"></a>
+<span class="sourceLineNo">659</span>    }<a name="line.659"></a>
+<span class="sourceLineNo">660</span>    // Create the CompactedFileDischarger chore service. This chore helps to<a name="line.660"></a>
+<span class="sourceLineNo">661</span>    // remove the compacted files<a name="line.661"></a>
+<span class="sourceLineNo">662</span>    // that will no longer be used in reads.<a name="line.662"></a>
+<span class="sourceLineNo">663</span>    // Default is 2 mins. The default value for TTLCleaner is 5 mins so we set this to<a name="line.663"></a>
+<span class="sourceLineNo">664</span>    // 2 mins so that compacted files can be archived before the TTLCleaner runs<a name="line.664"></a>
+<span class="sourceLineNo">665</span>    int cleanerInterval =<a name="line.665"></a>
+<span class="sourceLineNo">666</span>        conf.getInt("hbase.hfile.compaction.discharger.interval", 2 * 60 * 1000);<a name="line.666"></a>
+<span class="sourceLineNo">667</span>    this.compactedFileDischarger =<a name="line.667"></a>
+<span class="sourceLineNo">668</span>        new CompactedHFilesDischarger(cleanerInterval, this, this);<a name="line.668"></a>
+<span class="sourceLineNo">669</span>    choreService.scheduleChore(compactedFileDischarger);<a name="line.669"></a>
+<span class="sourceLineNo">670</span>  }<a name="line.670"></a>
+<span class="sourceLineNo">671</span><a name="line.671"></a>
+<span class="sourceLineNo">672</span>  private void initializeFileSystem() throws IOException {<a name="line.672"></a>
+<span class="sourceLineNo">673</span>    // Get fs instance used by this RS.  Do we use checksum verification in the hbase? If hbase<a name="line.673"></a>
+<span class="sourceLineNo">674</span>    // checksum verification enabled, then automatically switch off hdfs checksum verification.<a name="line.674"></a>
+<span class="sourceLineNo">675</span>    boolean useHBaseChecksum = conf.getBoolean(HConstants.HBASE_CHECKSUM_VERIFICATION, true);<a name="line.675"></a>
+<span class="sourceLineNo">676</span>    FSUtils.setFsDefault(this.conf, FSUtils.getWALRootDir(this.conf));<a name="line.676"></a>
+<span class="sourceLineNo">677</span>    this.walFs = new HFileSystem(this.conf, useHBaseChecksum);<a name="line.677"></a>
+<span class="sourceLineNo">678</span>    this.walRootDir = FSUtils.getWALRootDir(this.conf);<a name="line.678"></a>
+<span class="sourceLineNo">679</span>    // Set 'fs.defaultFS' to match the filesystem on hbase.rootdir else<a name="line.679"></a>
+<span class="sourceLineNo">680</span>    // underlying hadoop hdfs accessors will be going against wrong filesystem<a name="line.680"></a>
+<span class="sourceLineNo">681</span>    // (unless all is set to defaults).<a name="line.681"></a>
+<span class="sourceLineNo">682</span>    FSUtils.setFsDefault(this.conf, FSUtils.getRootDir(this.conf));<a name="line.682"></a>
+<span class="sourceLineNo">683</span>    this.fs = new HFileSystem(this.conf, useHBaseChecksum);<a name="line.683"></a>
+<span class="sourceLineNo">684</span>    this.rootDir = FSUtils.getRootDir(this.conf);<a name="line.684"></a>
+<span class="sourceLineNo">685</span>    this.tableDescriptors = getFsTableDescriptors();<a name="line.685"></a>
+<span class="sourceLineNo">686</span>  }<a name="line.686"></a>
+<span class="sourceLineNo">687</span><a name="line.687"></a>
+<span class="sourceLineNo">688</span>  protected TableDescriptors getFsTableDescriptors() throws IOException {<a name="line.688"></a>
+<span class="sourceLineNo">689</span>    return new FSTableDescriptors(this.conf,<a name="line.689"></a>
+<span class="sourceLineNo">690</span>      this.fs, this.rootDir, !canUpdateTableDescriptor(), false);<a name="line.690"></a>
+<span class="sourceLineNo">691</span>  }<a name="line.691"></a>
+<span class="sourceLineNo">692</span><a name="line.692"></a>
+<span class="sourceLineNo">693</span>  protected void setInitLatch(CountDownLatch latch) {<a name="line.693"></a>
+<span class="sourceLineNo">694</span>    this.initLatch = latch;<a name="line.694"></a>
 <span class="sourceLineNo">695</span>  }<a name="line.695"></a>
 <span class="sourceLineNo">696</span><a name="line.696"></a>
-<span class="sourceLineNo">697</span>  protected String getProcessName() {<a name="line.697"></a>
-<span class="sourceLineNo">698</span>    return REGIONSERVER;<a name="line.698"></a>
-<span class="sourceLineNo">699</span>  }<a name="line.699"></a>
-<span class="sourceLineNo">700</span><a name="line.700"></a>
-<span class="sourceLineNo">701</span>  protected boolean canCreateBaseZNode() {<a name="line.701"></a>
-<span class="sourceLineNo">702</span>    return false;<a name="line.702"></a>
-<span class="sourceLineNo">703</span>  }<a name="line.703"></a>
-<span class="sourceLineNo">704</span><a name="line.704"></a>
-<span class="sourceLineNo">705</span>  protected boolean canUpdateTableDescriptor() {<a name="line.705"></a>
-<span class="sourceLineNo">706</span>    return false;<a name="line.706"></a>
+<span class="sourceLineNo">697</span>  /*<a name="line.697"></a>
+<span class="sourceLineNo">698</span>   * Returns true if configured hostname should be used<a name="line.698"></a>
+<span class="sourceLineNo">699</span>   */<a name="line.699"></a>
+<span class="sourceLineNo">700</span>  protected boolean shouldUseThisHostnameInstead() {<a name="line.700"></a>
+<span class="sourceLineNo">701</span>    return useThisHostnameInstead != null &amp;&amp; !useThisHostnameInstead.isEmpty();<a name="line.701"></a>
+<span class="sourceLineNo">702</span>  }<a name="line.702"></a>
+<span class="sourceLineNo">703</span><a name="line.703"></a>
+<span class="sourceLineNo">704</span>  protected void login(UserProvider user, String host) throws IOException {<a name="line.704"></a>
+<span class="sourceLineNo">705</span>    user.login("hbase.regionserver.keytab.file",<a name="line.705"></a>
+<span class="sourceLineNo">706</span>      "hbase.regionserver.kerberos.principal", host);<a name="line.706"></a>
 <span class="sourceLineNo">707</span>  }<a name="line.707"></a>
 <span class="sourceLineNo">708</span><a name="line.708"></a>
-<span class="sourceLineNo">709</span>  protected RSRpcServices createRpcServices() throws IOException {<a name="line.709"></a>
-<span class="sourceLineNo">710</span>    return new RSRpcServices(this);<a name="line.710"></a>
-<span class="sourceLineNo">711</span>  }<a name="line.711"></a>
-<span class="sourceLineNo">712</span><a name="line.712"></a>
-<span class="sourceLineNo">713</span>  protected void configureInfoServer() {<a name="line.713"></a>
-<span class="sourceLineNo">714</span>    infoServer.addServlet("rs-status", "/rs-status", RSStatusServlet.class);<a name="line.714"></a>
-<span class="sourceLineNo">715</span>    infoServer.setAttribute(REGIONSERVER, this);<a name="line.715"></a>
-<span class="sourceLineNo">716</span>  }<a name="line.716"></a>
-<span class="sourceLineNo">717</span><a name="line.717"></a>
-<span class="sourceLineNo">718</span>  protected Class&lt;? extends HttpServlet&gt; getDumpServlet() {<a name="line.718"></a>
-<span class="sourceLineNo">719</span>    return RSDumpServlet.class;<a name="line.719"></a>
-<span class="sourceLineNo">720</span>  }<a name="line.720"></a>
-<span class="sourceLineNo">721</span><a name="line.721"></a>
-<span class="sourceLineNo">722</span>  @Override<a name="line.722"></a>
-<span class="sourceLineNo">723</span>  public boolean registerService(com.google.protobuf.Service instance) {<a name="line.723"></a>
-<span class="sourceLineNo">724</span>    /*<a name="line.724"></a>
-<span class="sourceLineNo">725</span>     * No stacking of instances is allowed for a single service name<a name="line.725"></a>
-<span class="sourceLineNo">726</span>     */<a name="line.726"></a>
-<span class="sourceLineNo">727</span>    com.google.protobuf.Descriptors.ServiceDescriptor serviceDesc =<a name="line.727"></a>
-<span class="sourceLineNo">728</span>        instance.getDescriptorForType();<a name="line.728"></a>
-<span class="sourceLineNo">729</span>    String serviceName = CoprocessorRpcUtils.getServiceName(serviceDesc);<a name="line.729"></a>
-<span class="sourceLineNo">730</span>    if (coprocessorServiceHandlers.containsKey(serviceName)) {<a name="line.730"></a>
-<span class="sourceLineNo">731</span>      LOG.error("Coprocessor service " + serviceName<a name="line.731"></a>
-<span class="sourceLineNo">732</span>          + " already registered, rejecting request from " + instance);<a name="line.732"></a>
-<span class="sourceLineNo">733</span>      return false;<a name="line.733"></a>
-<span class="sourceLineNo">734</span>    }<a name="line.734"></a>
-<span class="sourceLineNo">735</span><a name="line.735"></a>
-<span class="sourceLineNo">736</span>    coprocessorServiceHandlers.put(serviceName, instance);<a name="line.736"></a>
-<span class="sourceLineNo">737</span>    if (LOG.isDebugEnabled()) {<a name="line.737"></a>
-<span class="sourceLineNo">738</span>      LOG.debug("Registered regionserver coprocessor service: service=" + serviceName);<a name="line.738"></a>
-<span class="sourceLineNo">739</span>    }<a name="line.739"></a>
-<span class="sourceLineNo">740</span>    return true;<a name="line.740"></a>
-<span class="sourceLineNo">741</span>  }<a name="line.741"></a>
-<span class="sourceLineNo">742</span><a name="line.742"></a>
-<span class="sourceLineNo">743</span>  /**<a name="line.743"></a>
-<span class="sourceLineNo">744</span>   * Create a 'smarter' Connection, one that is capable of by-passing RPC if the request is to<a name="line.744"></a>
-<span class="sourceLineNo">745</span>   * the local server. Safe to use going to local or remote server.<a name="line.745"></a>
-<span class="sourceLineNo">746</span>   * Create this instance in a method can be intercepted and mocked in tests.<a name="line.746"></a>
-<span class="sourceLineNo">747</span>   * @throws IOException<a name="line.747"></a>
-<span class="sourceLineNo">748</span>   */<a name="line.748"></a>
-<span class="sourceLineNo">749</span>  @VisibleForTesting<a name="line.749"></a>
-<span class="sourceLineNo">750</span>  protected ClusterConnection createClusterConnection() throws IOException {<a name="line.750"></a>
-<span class="sourceLineNo">751</span>    // Create a cluster connection that when appropriate, can short-circuit and go directly to the<a name="line.751"></a>
-<span class="sourceLineNo">752</span>    // local server if the request is to the local server bypassing RPC. Can be used for both local<a name="line.752"></a>
-<span class="sourceLineNo">753</span>    // and remote invocations.<a name="line.753"></a>
-<span class="sourceLineNo">754</span>    return ConnectionUtils.createShortCircuitConnection(conf, null, userProvider.getCurrent(),<a name="line.754"></a>
-<span class="sourceLineNo">755</span>      serverName, rpcServices, rpcServices);<a name="line.755"></a>
+<span class="sourceLineNo">709</span>  protected void waitForMasterActive(){<a name="line.709"></a>
+<span class="sourceLineNo">710</span>  }<a name="line.710"></a>
+<span class="sourceLineNo">711</span><a name="line.711"></a>
+<span class="sourceLineNo">712</span>  protected String getProcessName() {<a name="line.712"></a>
+<span class="sourceLineNo">713</span>    return REGIONSERVER;<a name="line.713"></a>
+<span class="sourceLineNo">714</span>  }<a name="line.714"></a>
+<span class="sourceLineNo">715</span><a name="line.715"></a>
+<span class="sourceLineNo">716</span>  protected boolean canCreateBaseZNode() {<a name="line.716"></a>
+<span class="sourceLineNo">717</span>    return false;<a name="line.717"></a>
+<span class="sourceLineNo">718</span>  }<a name="line.718"></a>
+<span class="sourceLineNo">719</span><a name="line.719"></a>
+<span class="sourceLineNo">720</span>  protected boolean canUpdateTableDescriptor() {<a name="line.720"></a>
+<span class="sourceLineNo">721</span>    return false;<a name="line.721"></a>
+<span class="sourceLineNo">722</span>  }<a name="line.722"></a>
+<span class="sourceLineNo">723</span><a name="line.723"></a>
+<span class="sourceLineNo">724</span>  protected RSRpcServices createRpcServices() throws IOException {<a name="line.724"></a>
+<span class="sourceLineNo">725</span>    return new RSRpcServices(this);<a name="line.725"></a>
+<span class="sourceLineNo">726</span>  }<a name="line.726"></a>
+<span class="sourceLineNo">727</span><a name="line.727"></a>
+<span class="sourceLineNo">728</span>  protected void configureInfoServer() {<a name="line.728"></a>
+<span class="sourceLineNo">729</span>    infoServer.addServlet("rs-status", "/rs-status", RSStatusServlet.class);<a name="line.729"></a>
+<span class="sourceLineNo">730</span>    infoServer.setAttribute(REGIONSERVER, this);<a name="line.730"></a>
+<span class="sourceLineNo">731</span>  }<a name="line.731"></a>
+<span class="sourceLineNo">732</span><a name="line.732"></a>
+<span class="sourceLineNo">733</span>  protected Class&lt;? extends HttpServlet&gt; getDumpServlet() {<a name="line.733"></a>
+<span class="sourceLineNo">734</span>    return RSDumpServlet.class;<a name="line.734"></a>
+<span class="sourceLineNo">735</span>  }<a name="line.735"></a>
+<span class="sourceLineNo">736</span><a name="line.736"></a>
+<span class="sourceLineNo">737</span>  @Override<a name="line.737"></a>
+<span class="sourceLineNo">738</span>  public boolean registerService(com.google.protobuf.Service instance) {<a name="line.738"></a>
+<span class="sourceLineNo">739</span>    /*<a name="line.739"></a>
+<span class="sourceLineNo">740</span>     * No stacking of instances is allowed for a single service name<a name="line.740"></a>
+<span class="sourceLineNo">741</span>     */<a name="line.741"></a>
+<span class="sourceLineNo">742</span>    com.google.protobuf.Descriptors.ServiceDescriptor serviceDesc =<a name="line.742"></a>
+<span class="sourceLineNo">743</span>        instance.getDescriptorForType();<a name="line.743"></a>
+<span class="sourceLineNo">744</span>    String serviceName = CoprocessorRpcUtils.getServiceName(serviceDesc);<a name="line.744"></a>
+<span class="sourceLineNo">745</span>    if (coprocessorServiceHandlers.containsKey(serviceName)) {<a name="line.745"></a>
+<span class="sourceLineNo">746</span>      LOG.error("Coprocessor service " + serviceName<a name="line.746"></a>
+<span class="sourceLineNo">747</span>          + " already registered, rejecting request from " + instance);<a name="line.747"></a>
+<span class="sourceLineNo">748</span>      return false;<a name="line.748"></a>
+<span class="sourceLineNo">749</span>    }<a name="line.749"></a>
+<span class="sourceLineNo">750</span><a name="line.750"></a>
+<span class="sourceLineNo">751</span>    coprocessorServiceHandlers.put(serviceName, instance);<a name="line.751"></a>
+<span class="sourceLineNo">752</span>    if (LOG.isDebugEnabled()) {<a name="line.752"></a>
+<span class="sourceLineNo">753</span>      LOG.debug("Registered regionserver coprocessor service: service=" + serviceName);<a name="line.753"></a>
+<span class="sourceLineNo">754</span>    }<a name="line.754"></a>
+<span class="sourceLineNo">755</span>    return true;<a name="line.755"></a>
 <span class="sourceLineNo">756</span>  }<a name="line.756"></a>
 <span class="sourceLineNo">757</span><a name="line.757"></a>
 <span class="sourceLineNo">758</span>  /**<a name="line.758"></a>
-<span class="sourceLineNo">759</span>   * Run test on configured codecs to make sure supporting libs are in place.<a name="line.759"></a>
-<span class="sourceLineNo">760</span>   * @param c<a name="line.760"></a>
-<span class="sourceLineNo">761</span>   * @throws IOException<a name="line.761"></a>
-<span class="sourceLineNo">762</span>   */<a name="line.762"></a>
-<span class="sourceLineNo">763</span>  private static void checkCodecs(final Configuration c) throws IOException {<a name="line.763"></a>
-<span class="sourceLineNo">764</span>    // check to see if the codec list is available:<a name="line.764"></a>
-<span class="sourceLineNo">765</span>    String [] codecs = c.getStrings("hbase.regionserver.codecs", (String[])null);<a name="line.765"></a>
-<span class="sourceLineNo">766</span>    if (codecs == null) return;<a name="line.766"></a>
-<span class="sourceLineNo">767</span>    for (String codec : codecs) {<a name="line.767"></a>
-<span class="sourceLineNo">768</span>      if (!CompressionTest.testCompression(codec)) {<a name="line.768"></a>
-<span class="sourceLineNo">769</span>        throw new IOException("Compression codec " + codec +<a name="line.769"></a>
-<span class="sourceLineNo">770</span>          " not supported, aborting RS construction");<a name="line.770"></a>
-<span class="sourceLineNo">771</span>      }<a name="line.771"></a>
-<span class="sourceLineNo">772</span>    }<a name="line.772"></a>
-<span class="sourceLineNo">773</span>  }<a name="line.773"></a>
-<span class="sourceLineNo">774</span><a name="line.774"></a>
-<span class="sourceLineNo">775</span>  public String getClusterId() {<a name="line.775"></a>
-<span class="sourceLineNo">776</span>    return this.clusterId;<a name="line.776"></a>
-<span class="sourceLineNo">777</span>  }<a name="line.777"></a>
-<span class="sourceLineNo">778</span><a name="line.778"></a>
-<span class="sourceLineNo">779</span>  /**<a name="line.779"></a>
-<span class="sourceLineNo">780</span>   * Setup our cluster connection if not already initialized.<a name="line.780"></a>
-<span class="sourceLineNo">781</span>   * @throws IOException<a name="line.781"></a>
-<span class="sourceLineNo">782</span>   */<a name="line.782"></a>
-<span class="sourceLineNo">783</span>  protected synchronized void setupClusterConnection() throws IOException {<a name="line.783"></a>
-<span class="sourceLineNo">784</span>    if (clusterConnection == null) {<a name="line.784"></a>
-<span class="sourceLineNo">785</span>      clusterConnection = createClusterConnection();<a name="line.785"></a>
-<span class="sourceLineNo">786</span>      metaTableLocator = new MetaTableLocator();<a name="line.786"></a>
+<span class="sourceLineNo">759</span>   * Create a 'smarter' Connection, one that is capable of by-passing RPC if the request is to<a name="line.759"></a>
+<span class="sourceLineNo">760</span>   * the local server. Safe to use going to local or remote server.<a name="line.760"></a>
+<span class="sourceLineNo">761</span>   * Create this instance in a method can be intercepted and mocked in tests.<a name="line.761"></a>
+<span class="sourceLineNo">762</span>   * @throws IOException<a name="line.762"></a>
+<span class="sourceLineNo">763</span>   */<a name="line.763"></a>
+<span class="sourceLineNo">764</span>  @VisibleForTesting<a name="line.764"></a>
+<span class="sourceLineNo">765</span>  protected ClusterConnection createClusterConnection() throws IOException {<a name="line.765"></a>
+<span class="sourceLineNo">766</span>    // Create a cluster connection that when appropriate, can short-circuit and go directly to the<a name="line.766"></a>
+<span class="sourceLineNo">767</span>    // local server if the request is to the local server bypassing RPC. Can be used for both local<a name="line.767"></a>
+<span class="sourceLineNo">768</span>    // and remote invocations.<a name="line.768"></a>
+<span class="sourceLineNo">769</span>    return ConnectionUtils.createShortCircuitConnection(conf, null, userProvider.getCurrent(),<a name="line.769"></a>
+<span class="sourceLineNo">770</span>      serverName, rpcServices, rpcServices);<a name="line.770"></a>
+<span class="sourceLineNo">771</span>  }<a name="line.771"></a>
+<span class="sourceLineNo">772</span><a name="line.772"></a>
+<span class="sourceLineNo">773</span>  /**<a name="line.773"></a>
+<span class="sourceLineNo">774</span>   * Run test on configured codecs to make sure supporting libs are in place.<a name="line.774"></a>
+<span class="sourceLineNo">775</span>   * @param c<a name="line.775"></a>
+<span class="sourceLineNo">776</span>   * @throws IOException<a name="line.776"></a>
+<span class="sourceLineNo">777</span>   */<a name="line.777"></a>
+<span class="sourceLineNo">778</span>  private static void checkCodecs(final Configuration c) throws IOException {<a name="line.778"></a>
+<span class="sourceLineNo">779</span>    // check to see if the codec list is available:<a name="line.779"></a>
+<span class="sourceLineNo">780</span>    String [] codecs = c.getStrings("hbase.regionserver.codecs", (String[])null);<a name="line.780"></a>
+<span class="sourceLineNo">781</span>    if (codecs == null) return;<a name="line.781"></a>
+<span class="sourceLineNo">782</span>    for (String codec : codecs) {<a name="line.782"></a>
+<span class="sourceLineNo">783</span>      if (!CompressionTest.testCompression(codec)) {<a name="line.783"></a>
+<span class="sourceLineNo">784</span>        throw new IOException("Compression codec " + codec +<a name="line.784"></a>
+<span class="sourceLineNo">785</span>          " not supported, aborting RS construction");<a name="line.785"></a>
+<span class="sourceLineNo">786</span>      }<a name="line.786"></a>
 <span class="sourceLineNo">787</span>    }<a name="line.787"></a>
 <span class="sourceLineNo">788</span>  }<a name="line.788"></a>
 <span class="sourceLineNo">789</span><a name="line.789"></a>
-<span class="sourceLineNo">790</span>  /**<a name="line.790"></a>
-<span class="sourceLineNo">791</span>   * All initialization needed before we go register with Master.<a name="line.791"></a>
-<span class="sourceLineNo">792</span>   *<a name="line.792"></a>
-<span class="sourceLineNo">793</span>   * @throws IOException<a name="line.793"></a>
-<span class="sourceLineNo">794</span>   * @throws InterruptedException<a name="line.794"></a>
-<span class="sourceLineNo">795</span>   */<a name="line.795"></a>
-<span class="sourceLineNo">796</span>  private void preRegistrationInitialization(){<a name="line.796"></a>
-<span class="sourceLineNo">797</span>    try {<a name="line.797"></a>
-<span class="sourceLineNo">798</span>      setupClusterConnection();<a name="line.798"></a>
-<span class="sourceLineNo">799</span><a name="line.799"></a>
-<span class="sourceLineNo">800</span>      this.secureBulkLoadManager = new SecureBulkLoadManager(this.conf, clusterConnection);<a name="line.800"></a>
-<span class="sourceLineNo">801</span>      this.secureBulkLoadManager.start();<a name="line.801"></a>
-<span class="sourceLineNo">802</span><a name="line.802"></a>
-<span class="sourceLineNo">803</span>      // Health checker thread.<a name="line.803"></a>
-<span class="sourceLineNo">804</span>      if (isHealthCheckerConfigured()) {<a name="line.804"></a>
-<span class="sourceLineNo">805</span>        int sleepTime = this.conf.getInt(HConstants.HEALTH_CHORE_WAKE_FREQ,<a name="line.805"></a>
-<span class="sourceLineNo">806</span>          HConstants.DEFAULT_THREAD_WAKE_FREQUENCY);<a name="line.806"></a>
-<span class="sourceLineNo">807</span>        healthCheckChore = new HealthCheckChore(sleepTime, this, getConfiguration());<a name="line.807"></a>
-<span class="sourceLineNo">808</span>      }<a name="line.808"></a>
-<span class="sourceLineNo">809</span><a name="line.809"></a>
-<span class="sourceLineNo">810</span>      initializeZooKeeper();<a name="line.810"></a>
-<span class="sourceLineNo">811</span>      if (!isStopped() &amp;&amp; !isAborted()) {<a name="line.811"></a>
-<span class="sourceLineNo">812</span>        initializeThreads();<a name="line.812"></a>
-<span class="sourceLineNo">813</span>      }<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    } catch (Throwable t) {<a name="line.814"></a>
-<span class="sourceLineNo">815</span>      // Call stop if error or process will stick around for ever since server<a name="line.815"></a>
-<span class="sourceLineNo">816</span>      // puts up non-daemon threads.<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      this.rpcServices.stop();<a name="line.817"></a>
-<span class="sourceLineNo">818</span>      abort("Initialization of RS failed.  Hence aborting RS.", t);<a name="line.818"></a>
-<span class="sourceLineNo">819</span>    }<a name="line.819"></a>
-<span class="sourceLineNo">820</span>  }<a name="line.820"></a>
-<span class="sourceLineNo">821</span><a name="line.821"></a>
-<span class="sourceLineNo">822</span>  /**<a name="line.822"></a>
-<span class="sourceLineNo">823</span>   * Bring up connection to zk ensemble and then wait until a master for this<a name="line.823"></a>
-<span class="sourceLineNo">824</span>   * cluster and then after that, wait until cluster 'up' flag has been set.<a name="line.824"></a>
-<span class="sourceLineNo">825</span>   * This is the order in which master does things.<a name="line.825"></a>
-<span class="sourceLineNo">826</span>   * Finally open long-living server short-circuit connection.<a name="line.826"></a>
-<span class="sourceLineNo">827</span>   * @throws IOException<a name="line.827"></a>
-<span class="sourceLineNo">828</span>   * @throws InterruptedException<a name="line.828"></a>
-<span class="sourceLineNo">829</span>   */<a name="line.829"></a>
-<span class="sourceLineNo">830</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="RV_RETURN_VALUE_IGNORED_BAD_PRACTICE",<a name="line.830"></a>
-<span class="sourceLineNo">831</span>    justification="cluster Id znode read would give us correct response")<a name="line.831"></a>
-<span class="sourceLineNo">832</span>  private void initializeZooKeeper() throws IOException, InterruptedException {<a name="line.832"></a>
-<span class="sourceLineNo">833</span>    // Create the master address tracker, register with zk, and start it.  Then<a name="line.833"></a>
-<span class="sourceLineNo">834</span>    // block until a master is available.  No point in starting up if no master<a name="line.834"></a>
-<span class="sourceLineNo">835</span>    // running.<a name="line.835"></a>
-<span class="sourceLineNo">836</span>    blockAndCheckIfStopped(this.masterAddressTracker);<a name="line.836"></a>
-<span class="sourceLineNo">837</span><a name="line.837"></a>
-<span class="sourceLineNo">838</span>    // Wait on cluster being up.  Master will set this flag up in zookeeper<a name="line.838"></a>
-<span class="sourceLineNo">839</span>    // when ready.<a name="line.839"></a>
-<span class="sourceLineNo">840</span>    blockAndCheckIfStopped(this.clusterStatusTracker);<a name="line.840"></a>
-<span class="sourceLineNo">841</span><a name="line.841"></a>
-<span class="sourceLineNo">842</span>    doLatch(this.initLatch);<a name="line.842"></a>
-<span class="sourceLineNo">843</span><a name="line.843"></a>
-<span class="sourceLineNo">844</span>    // Retrieve clusterId<a name="line.844"></a>
-<span class="sourceLineNo">845</span>    // Since cluster status is now up<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    // ID should have already been set by HMaster<a name="line.846"></a>
-<span class="sourceLineNo">847</span>    try {<a name="line.847"></a>
-<span class="sourceLineNo">848</span>      clusterId = ZKClusterId.readClusterIdZNode(this.zooKeeper);<a name="line.848"></a>
-<span class="sourceLineNo">849</span>      if (clusterId == null) {<a name="line.849"></a>
-<span class="sourceLineNo">850</span>        this.abort("Cluster ID has not been set");<a name="line.850"></a>
-<span class="sourceLineNo">851</span>      }<a name="line.851"></a>
-<span class="sourceLineNo">852</span>      LOG.info("ClusterId : "+clusterId);<a name="line.852"></a>
-<span class="sourceLineNo">853</span>    } catch (KeeperException e) {<a name="line.853"></a>
-<span class="sourceLineNo">854</span>      this.abort("Failed to retrieve Cluster ID",e);<a name="line.854"></a>
-<span class="sourceLineNo">855</span>    }<a name="line.855"></a>
+<span class="sourceLineNo">790</span>  public String getClusterId() {<a name="line.790"></a>
+<span class="sourceLineNo">791</span>    return this.clusterId;<a name="line.791"></a>
+<span class="sourceLineNo">792</span>  }<a name="line.792"></a>
+<span class="sourceLineNo">793</span><a name="line.793"></a>
+<span class="sourceLineNo">794</span>  /**<a name="line.794"></a>
+<span class="sourceLineNo">795</span>   * Setup our cluster connection if not already initialized.<a name="line.795"></a>
+<span class="sourceLineNo">796</span>   * @throws IOException<a name="line.796"></a>
+<span class="sourceLineNo">797</span>   */<a name="line.797"></a>
+<span class="sourceLineNo">798</span>  protected synchronized void setupClusterConnection() throws IOException {<a name="line.798"></a>
+<span class="sourceLineNo">799</span>    if (clusterConnection == null) {<a name="line.799"></a>
+<span class="sourceLineNo">800</span>      clusterConnection = createClusterConnection();<a name="line.800"></a>
+<span class="sourceLineNo">801</span>      metaTableLocator = new MetaTableLocator();<a name="line.801"></a>
+<span class="sourceLineNo">802</span>    }<a name="line.802"></a>
+<span class="sourceLineNo">803</span>  }<a name="line.803"></a>
+<span class="sourceLineNo">804</span><a name="line.804"></a>
+<span class="sourceLineNo">805</span>  /**<a name="line.805"></a>
+<span class="sourceLineNo">806</span>   * All initialization needed before we go register with Master.<a name="line.806"></a>
+<span class="sourceLineNo">807</span>   *<a name="line.807"></a>
+<span class="sourceLineNo">808</span>   * @throws IOException<a name="line.808"></a>
+<span class="sourceLineNo">809</span>   * @throws InterruptedException<a name="line.809"></a>
+<span class="sourceLineNo">810</span>   */<a name="line.810"></a>
+<span class="sourceLineNo">811</span>  private void preRegistrationInitialization(){<a name="line.811"></a>
+<span class="sourceLineNo">812</span>    try {<a name="line.812"></a>
+<span class="sourceLineNo">813</span>      setupClusterConnection();<a name="line.813"></a>
+<span class="sourceLineNo">814</span><a name="line.814"></a>
+<span class="sourceLineNo">815</span>      this.secureBulkLoadManager = new SecureBulkLoadManager(this.conf, clusterConnection);<a name="line.815"></a>
+<span class="sourceLineNo">816</span>      this.secureBulkLoadManager.start();<a name="line.816"></a>
+<span class="sourceLineNo">817</span><a name="line.817"></a>
+<span class="sourceLineNo">818</span>      // Health checker thread.<a name="line.818"></a>
+<span class="sourceLineNo">819</span>      if (isHealthCheckerConfigured()) {<a name="line.819"></a>
+<span class="sourceLineNo">820</span>        int sleepTime = this.conf.getInt(HConstants.HEALTH_CHORE_WAKE_FREQ,<a name="line.820"></a>
+<span class="sourceLineNo">821</span>          HConstants.DEFAULT_THREAD_WAKE_FREQUENCY);<a name="line.821"></a>
+<span class="sourceLineNo">822</span>        healthCheckChore = new HealthCheckChore(sleepTime, this, getConfiguration());<a name="line.822"></a>
+<span class="sourceLineNo">823</span>      }<a name="line.823"></a>
+<span class="sourceLineNo">824</span><a name="line.824"></a>
+<span class="sourceLineNo">825</span>      initializeZooKeeper();<a name="line.825"></a>
+<span class="sourceLineNo">826</span>      if (!isStopped() &amp;&amp; !isAborted()) {<a name="line.826"></a>
+<span class="sourceLineNo">827</span>        initializeThreads();<a name="line.827"></a>
+<span class="sourceLineNo">828</span>      }<a name="line.828"></a>
+<span class="sourceLineNo">829</span>    } catch (Throwable t) {<a name="line.829"></a>
+<span class="sourceLineNo">830</span>      // Call stop if error or process will stick around for ever since server<a name="line.830"></a>
+<span class="sourceLineNo">831</span>      // puts up non-daemon threads.<a name="line.831"></a>
+<span class="sourceLineNo">832</span>      this.rpcServices.stop();<a name="line.832"></a>
+<span class="sourceLineNo">833</span>      abort("Initialization of RS failed.  Hence aborting RS.", t);<a name="line.833"></a>
+<span class="sourceLineNo">834</span>    }<a name="line.834"></a>
+<span class="sourceLineNo">835</span>  }<a name="line.835"></a>
+<span class="sourceLineNo">836</span><a name="line.836"></a>
+<span class="sourceLineNo">837</span>  /**<a name="line.837"></a>
+<span class="sourceLineNo">838</span>   * Bring up connection to zk ensemble and then wait until a master for this<a name="line.838"></a>
+<span class="sourceLineNo">839</span>   * cluster and then after that, wait until cluster 'up' flag has been set.<a name="line.839"></a>
+<span class="sourceLineNo">840</span>   * This is the order in which master does things.<a name="line.840"></a>
+<span class="sourceLineNo">841</span>   * Finally open long-living server short-circuit connection.<a name="line.841"></a>
+<span class="sourceLineNo">842</span>   * @throws IOException<a name="line.842"></a>
+<span class="sourceLineNo">843</span>   * @throws InterruptedException<a name="line.843"></a>
+<span class="sourceLineNo">844</span>   */<a name="line.844"></a>
+<span class="sourceLineNo">845</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="RV_RETURN_VALUE_IGNORED_BAD_PRACTICE",<a name="line.845"></a>
+<span class="sourceLineNo">846</span>    justification="cluster Id znode read would give us correct response")<a name="line.846"></a>
+<span class="sourceLineNo">847</span>  private void initializeZooKeeper() throws IOException, InterruptedException {<a name="line.847"></a>
+<span class="sourceLineNo">848</span>    // Create the master address tracker, register with zk, and start it.  Then<a name="line.848"></a>
+<span class="sourceLineNo">849</span>    // block until a master is available.  No point in starting up if no master<a name="line.849"></a>
+<span class="sourceLineNo">850</span>    // running.<a name="line.850"></a>
+<span class="sourceLineNo">851</span>    blockAndCheckIfStopped(this.masterAddressTracker);<a name="line.851"></a>
+<span class="sourceLineNo">852</span><a name="line.852"></a>
+<span class="sourceLineNo">853</span>    // Wait on cluster being up.  Master will set this flag up in zookeeper<a name="line.853"></a>
+<span class="sourceLineNo">854</span>    // when ready.<a name="line.854"></a>
+<span class="sourceLineNo">855</span>    blockAndCheckIfStopped(this.clusterStatusTracker);<a name="line.855"></a>
 <span class="sourceLineNo">856</span><a name="line.856"></a>
-<span class="sourceLineNo">857</span>    // In case colocated master, wait here till it's active.<a name="line.857"></a>
-<span class="sourceLineNo">858</span>    // So backup masters won't start as regionservers.<a name="line.858"></a>
-<span class="sourceLineNo">859</span>    // This is to avoid showing backup masters as regionservers<a name="line.859"></a>
-<span class="sourceLineNo">860</span>    // in master web UI, or assigning any region to them.<a name="line.860"></a>
-<span class="sourceLineNo">861</span>    waitForMasterActive();<a name="line.861"></a>
-<span class="sourceLineNo">862</span>    if (isStopped() || isAborted()) {<a name="line.862"></a>
-<span class="sourceLineNo">863</span>      return; // No need for further initialization<a name="line.863"></a>
-<span class="sourceLineNo">864</span>    }<a name="line.864"></a>
-<span class="sourceLineNo">865</span><a name="line.865"></a>
-<span class="sourceLineNo">866</span>    // watch for snapshots and other procedures<a name="line.866"></a>
-<span class="sourceLineNo">867</span>    try {<a name="line.867"></a>
-<span class="sourceLineNo">868</span>      rspmHost = new RegionServerProcedureManagerHost();<a name="line.868"></a>
-<span class="sourceLineNo">869</span>      rspmHost.loadProcedures(conf);<a name="line.869"></a>
-<span class="sourceLineNo">870</span>      rspmHost.initialize(this);<a name="line.870"></a>
-<span class="sourceLineNo">871</span>    } catch (KeeperException e) {<a name="line.871"></a>
-<span class="sourceLineNo">872</span>      this.abort("Failed to reach coordination cluster when creating procedure handler.", e);<a name="line.872"></a>
-<span class="sourceLineNo">873</span>    }<a name="line.873"></a>
-<span class="sourceLineNo">874</span>    // register watcher for recovering regions<a name="line.874"></a>
-<span class="sourceLineNo">875</span>    this.recoveringRegionWatcher = new RecoveringRegionWatcher(this.zooKeeper, this);<a name="line.875"></a>
-<span class="sourceLineNo">876</span>  }<a name="line.876"></a>
-<span class="sourceLineNo">877</span><a name="line.877"></a>
-<span class="sourceLineNo">878</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="RV_RETURN_VALUE_IGNORED",<a name="line.878"></a>
-<span class="sourceLineNo">879</span>      justification="We don't care about the return")<a name="line.879"></a>
-<span class="sourceLineNo">880</span>  private void doLatch(final CountDownLatch latch) throws InterruptedException {<a name="line.880"></a>
-<span class="sourceLineNo">881</span>    if (latch != null) {<a name="line.881"></a>
-<span class="sourceLineNo">882</span>      // Result is ignored intentionally but if I remove the below, findbugs complains (the<a name="line.882"></a>
-<span class="sourceLineNo">883</span>      // above justification on this method doesn't seem to suppress it).<a name="line.883"></a>
-<span class="sourceLineNo">884</span>      boolean result = latch.await(20, TimeUnit.SECONDS);<a name="line.884"></a>
-<span class="sourceLineNo">885</span>    }<a name="line.885"></a>
-<span class="sourceLineNo">886</span>  }<a name="line.886"></a>
-<span class="sourceLineNo">887</span><a name="line.887"></a>
-<span class="sourceLineNo">888</span>  /**<a name="line.888"></a>
-<span class="sourceLineNo">889</span>   * Utilty method to wait indefinitely on a znode availability while checking<a name="line.889"></a>
-<span class="sourceLineNo">890</span>   * if the region server is shut down<a name="line.890"></a>
-<span class="sourceLineNo">891</span>   * @param tracker znode tracker to use<a name="line.891"></a>
-<span class="sourceLineNo">892</span>   * @throws IOException any IO exception, plus if the RS is stopped<a name="line.892"></a>
-<span class="sourceLineNo">893</span>   * @throws InterruptedException<a name="line.893"></a>
-<span class="sourceLineNo">894</span>   */<a name="line.894"></a>
-<span class="sourceLineNo">895</span>  private void blockAndCheckIfStopped(ZooKeeperNodeTracker tracker)<a name="line.895"></a>
-<span class="sourceLineNo">896</span>      throws IOException, InterruptedException {<a name="line.896"></a>
-<span class="sourceLineNo">897</span>    while (tracker.blockUntilAvailable(this.msgInterval, false) == null) {<a name="line.897"></a>
-<span class="sourceLineNo">898</span>      if (this.stopped) {<a name="line.898"></a>
-<span class="sourceLineNo">899</span>        throw new IOException("Received the shutdown message while waiting.");<a name="line.899"></a>
-<span class="sourceLineNo">900</span>      }<a name="line.900"></a>
-<span class="sourceLineNo">901</span>    }<a name="line.901"></a>
-<span class="sourceLineNo">902</span>  }<a name="line.902"></a>
-<span class="sourceLineNo">903</span><a name="line.903"></a>
-<span class="sourceLineNo">904</span>  /**<a name="line.904"></a>
-<span class="sourceLineNo">905</span>   * @return False if cluster shutdown in progress<a name="line.905"></a>
-<span class="sourceLineNo">906</span>   */<a name="line.906"></a>
-<span class="sourceLineNo">907</span>  private boolean isClusterUp() {<a name="line.907"></a>
-<span class="sourceLineNo">908</span>    return clusterStatusTracker != null &amp;&amp; clusterStatusTracker.isClusterUp();<a name="line.908"></a>
-<span class="sourceLineNo">909</span>  }<a name="line.909"></a>
-<span class="sourceLineNo">910</span><a name="line.910"></a>
-<span class="sourceLineNo">911</span>  private void initializeThreads() throws IOException {<a name="line.911"></a>
-<span class="sourceLineNo">912</span>    // Cache flushing thread.<a name="line.912"></a>
-<span class="sourceLineNo">913</span>    this.cacheFlusher = new MemStoreFlusher(conf, this);<a name="line.913"></a>
-<span class="sourceLineNo">914</span><a name="line.914"></a>
-<span class="sourceLineNo">915</span>    // Compaction thread<a name="line.915"></a>
-<span class="sourceLineNo">916</span>    this.compactSplitThread = new CompactSplit(this);<a name="line.916"></a>
-<span class="sourceLineNo">917</span><a name="line.917"></a>
-<span class="sourceLineNo">918</span>    // Background thread to check for compactions; needed if region has not gotten updates<a name="line.918"></a>
-<span class="sourceLineNo">919</span>    // in a while. It will take care of not checking too frequently on store-by-store basis.<a name="line.919"></a>
-<span class="sourceLineNo">920</span>    this.compactionChecker = new CompactionChecker(this, this.threadWakeFrequency, this);<a name="line.920"></a>
-<span class="sourceLineNo">921</span>    this.periodicFlusher = new PeriodicMemstoreFlusher(this.threadWakeFrequency, this);<a name="line.921"></a>
-<span class="sourceLineNo">922</span>    this.leases = new Leases(this.threadWakeFrequency);<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>    // Create the thread to clean the moved regions list<a name="line.924"></a>
-<span class="sourceLineNo">925</span>    movedRegionsCleaner = MovedRegionsCleaner.create(this);<a name="line.925"></a>
-<span class="sourceLineNo">926</span><a name="line.926"></a>
-<span class="sourceLineNo">927</span>    if (this.nonceManager != null) {<a name="line.927"></a>
-<span class="sourceLineNo">928</span>      // Create the scheduled chore that cleans up nonces.<a name="line.928"></a>
-<span class="sourceLineNo">929</span>      nonceManagerChore = this.nonceManager.createCleanupScheduledChore(this);<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>    // Setup the Quota Manager<a name="line.932"></a>
-<span class="sourceLineNo">933</span>    rsQuotaManager = new RegionServerRpcQuotaManager(this);<a name="line.933"></a>
-<span class="sourceLineNo">934</span>    rsSpaceQuotaManager = new RegionServerSpaceQuotaManager(this);<a name="line.934"></a>
-<span class="sourceLineNo">935</span><a name="line.935"></a>
-<span class="sourceLineNo">936</span>    if (QuotaUtil.isQuotaEnabled(conf)) {<a name="line.936"></a>
-<span class="sourceLineNo">937</span>      this.fsUtilizationChore = new FileSystemUtilizationChore(this);<a name="line.937"></a>
-<span class="sourceLineNo">938</span>    }<a name="line.938"></a>
-<span class="sourceLineNo">939</span><a name="line.939"></a>
-<span class="sourceLineNo">940</span>    // Setup RPC client for master communication<a name="line.940"></a>
-<span class="sourceLineNo">941</span>    rpcClient = RpcClientFactory.createClient(conf, clusterId, new InetSocketAddress(<a name="line.941"></a>
-<span class="sourceLineNo">942</span>        rpcServices.isa.getAddress(), 0), clusterConnection.getConnectionMetrics());<a name="line.942"></a>
-<span class="sourceLineNo">943</span><a name="line.943"></a>
-<span class="sourceLineNo">944</span>    boolean onlyMetaRefresh = false;<a name="line.944"></a>
-<span class="sourceLineNo">945</span>    int storefileRefreshPeriod = conf.getInt(<a name="line.945"></a>
-<span class="sourceLineNo">946</span>        StorefileRefresherChore.REGIONSERVER_STOREFILE_REFRESH_PERIOD<a name="line.946"></a>
-<span class="sourceLineNo">947</span>      , StorefileRefresherChore.DEFAULT_REGIONSERVER_STOREFILE_REFRESH_PERIOD);<a name="line.947"></a>
-<span class="sourceLineNo">948</span>    if (storefileRefreshPeriod == 0) {<a name="line.948"></a>
-<span class="sourceLineNo">949</span>      storefileRefreshPeriod = con

<TRUNCATED>

[23/26] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/package-tree.html b/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
index 973a226..efd6725 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
@@ -528,25 +528,25 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/MasterSwitchType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MasterSwitchType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">CompactType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Consistency.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Consistency</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AbstractResponse.ResponseType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AbstractResponse.ResponseType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Scan.ReadType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">IsolationLevel</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncProcessTask.SubmittedRows.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncProcessTask.SubmittedRows</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/MobCompactPartitionPolicy.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MobCompactPartitionPolicy</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRequestFutureImpl.Retry.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncRequestFutureImpl.Retry</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Durability</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">TableState.State</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.ReplicationState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">HBaseAdmin.ReplicationState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RegionLocateType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">RegionLocateType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">CompactType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Consistency.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Consistency</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Scan.ReadType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">SnapshotType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RequestController.ReturnCode.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">RequestController.ReturnCode</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/MasterSwitchType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MasterSwitchType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/ScannerCallable.MoreResults.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">ScannerCallable.MoreResults</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RegionLocateType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">RegionLocateType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">CompactionState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Durability</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRequestFutureImpl.Retry.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncRequestFutureImpl.Retry</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">TableState.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/ScannerCallable.MoreResults.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">ScannerCallable.MoreResults</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.ReplicationState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">HBaseAdmin.ReplicationState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/MobCompactPartitionPolicy.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MobCompactPartitionPolicy</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html b/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
index 64a2b8e..b9da223 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
@@ -175,14 +175,14 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/RegexStringComparator.EngineType.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">RegexStringComparator.EngineType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FilterList.Operator</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FuzzyRowFilter.SatisfiesCode</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FuzzyRowFilter.Order</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FilterList.Operator</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">Filter.ReturnCode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/RegexStringComparator.EngineType.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">RegexStringComparator.EngineType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">CompareFilter.CompareOp</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/BitComparator.BitwiseOp.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">BitComparator.BitwiseOp</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FilterWrapper.FilterRowRetCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FilterWrapper.FilterRowRetCode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/BitComparator.BitwiseOp.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">BitComparator.BitwiseOp</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
index a79658b..4af70b4 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
@@ -273,12 +273,12 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.BlockCategory.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockType.BlockCategory</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">CacheConfig.ExternalBlockCaches</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockPriority.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockPriority</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.MemoryType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Cacheable.MemoryType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.Writer.State.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">HFileBlock.Writer.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.BlockCategory.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockType.BlockCategory</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockPriority.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockPriority</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.MemoryType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Cacheable.MemoryType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html b/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
index 69c816b..81d74a5 100644
--- a/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
@@ -287,8 +287,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/TableSplit.Version.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">TableSplit.Version</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/CellCounter.CellCounterMapper.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">CellCounter.CellCounterMapper.Counters</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/TableSplit.Version.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">TableSplit.Version</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/SyncTable.SyncMapper.Counter.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">SyncTable.SyncMapper.Counter</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/RowCounter.RowCounterMapper.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">RowCounter.RowCounterMapper.Counters</span></a></li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/package-tree.html b/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
index 0e1fd01..f3d0af6 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
@@ -312,11 +312,11 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/MetricsMasterSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">MetricsMasterSourceFactoryImpl.FactoryStorage</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">MasterRpcServices.BalanceSwitchMode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/SplitLogManager.TerminationStatus.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">SplitLogManager.TerminationStatus</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/SplitLogManager.ResubmitDirective.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">SplitLogManager.ResubmitDirective</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/MetricsMasterSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">MetricsMasterSourceFactoryImpl.FactoryStorage</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">RegionState.State</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/SplitLogManager.TerminationStatus.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">SplitLogManager.TerminationStatus</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">MasterRpcServices.BalanceSwitchMode</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
index 7c507cc..d5cdbd8 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
@@ -211,9 +211,9 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">ServerProcedureInterface.ServerOperationType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">TableProcedureInterface.TableOperationType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">DisableTableProcedure.MarkRegionOfflineOpResult</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">ServerProcedureInterface.ServerOperationType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/package-tree.html b/devapidocs/org/apache/hadoop/hbase/package-tree.html
index f110cf0..f9035ce 100644
--- a/devapidocs/org/apache/hadoop/hbase/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/package-tree.html
@@ -422,16 +422,16 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeepDeletedCells</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MemoryCompactionPolicy.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MemoryCompactionPolicy</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HealthChecker.HealthCheckerExitStatus.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HealthChecker.HealthCheckerExitStatus</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MetaTableAccessor.QueryType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CompatibilitySingletonFactory.SingletonStorage.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CompatibilitySingletonFactory.SingletonStorage</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HConstants.Modify.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HConstants.Modify</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Coprocessor.State.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Coprocessor.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeyValue.Type.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeyValue.Type</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeepDeletedCells</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ProcedureState.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ProcedureState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MetaTableAccessor.QueryType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HealthChecker.HealthCheckerExitStatus.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HealthChecker.HealthCheckerExitStatus</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HConstants.OperationStatusCode.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HConstants.OperationStatusCode</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeyValue.Type.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeyValue.Type</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CompatibilitySingletonFactory.SingletonStorage.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CompatibilitySingletonFactory.SingletonStorage</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Coprocessor.State.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Coprocessor.State</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html b/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
index 1f2f4f7..95c80fb 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
@@ -200,10 +200,10 @@
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">StateMachineProcedure.Flow</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/LockInfo.LockType.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">LockInfo.LockType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/RootProcedureState.State.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">RootProcedureState.State</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.LockState.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">Procedure.LockState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/LockInfo.LockType.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">LockInfo.LockType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/LockInfo.ResourceType.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">LockInfo.ResourceType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/RootProcedureState.State.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">RootProcedureState.State</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/quotas/QuotaTableUtil.NamespaceQuotasVisitor.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/QuotaTableUtil.NamespaceQuotasVisitor.html b/devapidocs/org/apache/hadoop/hbase/quotas/QuotaTableUtil.NamespaceQuotasVisitor.html
index 5494687..26f14f3 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/QuotaTableUtil.NamespaceQuotasVisitor.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/QuotaTableUtil.NamespaceQuotasVisitor.html
@@ -109,7 +109,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.321">QuotaTableUtil.NamespaceQuotasVisitor</a></pre>
+<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.322">QuotaTableUtil.NamespaceQuotasVisitor</a></pre>
 </li>
 </ul>
 </div>
@@ -154,7 +154,7 @@ var activeTableTab = "activeTableTab";
 <ul class="blockListLast">
 <li class="blockList">
 <h4>visitNamespaceQuotas</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.NamespaceQuotasVisitor.html#line.322">visitNamespaceQuotas</a>(<a href="http://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>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.NamespaceQuotasVisitor.html#line.323">visitNamespaceQuotas</a>(<a href="http://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,
                           org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
                    throws <a href="http://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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/quotas/QuotaTableUtil.QuotasVisitor.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/QuotaTableUtil.QuotasVisitor.html b/devapidocs/org/apache/hadoop/hbase/quotas/QuotaTableUtil.QuotasVisitor.html
index f478600..7112909 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/QuotaTableUtil.QuotasVisitor.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/QuotaTableUtil.QuotasVisitor.html
@@ -103,7 +103,7 @@
 </dl>
 <hr>
 <br>
-<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.326">QuotaTableUtil.QuotasVisitor</a>
+<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.327">QuotaTableUtil.QuotasVisitor</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.UserQuotasVisitor.html" title="interface in org.apache.hadoop.hbase.quotas">QuotaTableUtil.UserQuotasVisitor</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.TableQuotasVisitor.html" title="interface in org.apache.hadoop.hbase.quotas">QuotaTableUtil.TableQuotasVisitor</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.NamespaceQuotasVisitor.html" title="interface in org.apache.hadoop.hbase.quotas">QuotaTableUtil.NamespaceQuotasVisitor</a></pre>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/quotas/QuotaTableUtil.TableQuotasVisitor.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/QuotaTableUtil.TableQuotasVisitor.html b/devapidocs/org/apache/hadoop/hbase/quotas/QuotaTableUtil.TableQuotasVisitor.html
index 0b0abd5..728f89d 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/QuotaTableUtil.TableQuotasVisitor.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/QuotaTableUtil.TableQuotasVisitor.html
@@ -109,7 +109,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.316">QuotaTableUtil.TableQuotasVisitor</a></pre>
+<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.317">QuotaTableUtil.TableQuotasVisitor</a></pre>
 </li>
 </ul>
 </div>
@@ -154,7 +154,7 @@ var activeTableTab = "activeTableTab";
 <ul class="blockListLast">
 <li class="blockList">
 <h4>visitTableQuotas</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.TableQuotasVisitor.html#line.317">visitTableQuotas</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.TableQuotasVisitor.html#line.318">visitTableQuotas</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                       org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
                throws <a href="http://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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/quotas/QuotaTableUtil.UserQuotasVisitor.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/QuotaTableUtil.UserQuotasVisitor.html b/devapidocs/org/apache/hadoop/hbase/quotas/QuotaTableUtil.UserQuotasVisitor.html
index 02e4622..4b0fc96 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/QuotaTableUtil.UserQuotasVisitor.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/QuotaTableUtil.UserQuotasVisitor.html
@@ -109,7 +109,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.307">QuotaTableUtil.UserQuotasVisitor</a></pre>
+<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#line.308">QuotaTableUtil.UserQuotasVisitor</a></pre>
 </li>
 </ul>
 </div>
@@ -166,7 +166,7 @@ var activeTableTab = "activeTableTab";
 <ul class="blockList">
 <li class="blockList">
 <h4>visitUserQuotas</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.UserQuotasVisitor.html#line.308">visitUserQuotas</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.UserQuotasVisitor.html#line.309">visitUserQuotas</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                      org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
               throws <a href="http://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>
@@ -181,7 +181,7 @@ var activeTableTab = "activeTableTab";
 <ul class="blockList">
 <li class="blockList">
 <h4>visitUserQuotas</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.UserQuotasVisitor.html#line.310">visitUserQuotas</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.UserQuotasVisitor.html#line.311">visitUserQuotas</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                      <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
                      org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
               throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -197,7 +197,7 @@ var activeTableTab = "activeTableTab";
 <ul class="blockListLast">
 <li class="blockList">
 <h4>visitUserQuotas</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.UserQuotasVisitor.html#line.312">visitUserQuotas</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.UserQuotasVisitor.html#line.313">visitUserQuotas</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                      <a href="http://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,
                      org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
               throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>


[19/26] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html b/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
index 0fc6b6d..b82b469 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
@@ -688,20 +688,20 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Region.FlushResult.Result</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsRegionServerSourceFactoryImpl.FactoryStorage</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScannerContext.LimitScope</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScanType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsRegionServerSourceFactoryImpl.FactoryStorage</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/BloomType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">BloomType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">FlushType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Region.Operation</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionOpeningState.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">RegionOpeningState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Region.FlushResult.Result</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ImmutableSegment.Type.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ImmutableSegment.Type</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreCompactor.Action.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MemStoreCompactor.Action</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionOpeningState.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">RegionOpeningState</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/SplitLogWorker.TaskExecutor.Status.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">SplitLogWorker.TaskExecutor.Status</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScannerContext.NextState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/BloomType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">BloomType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.StoreScannerCompactionRace.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">StoreScanner.StoreScannerCompactionRace</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScannerContext.LimitScope</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScannerContext.NextState</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultHeapMemoryTuner.StepDirection.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">DefaultHeapMemoryTuner.StepDirection</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreCompactor.Action.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MemStoreCompactor.Action</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html b/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
index 6f94c94..3bdfdd1 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
@@ -125,10 +125,10 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/StripeCompactionScanQueryMatcher.DropDeletesInOutput.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">StripeCompactionScanQueryMatcher.DropDeletesInOutput</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.MatchCode.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">ScanQueryMatcher.MatchCode</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.DeleteResult.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">DeleteTracker.DeleteResult</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.DeleteCompare.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">DeleteTracker.DeleteCompare</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/StripeCompactionScanQueryMatcher.DropDeletesInOutput.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">StripeCompactionScanQueryMatcher.DropDeletesInOutput</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.DeleteResult.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">DeleteTracker.DeleteResult</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-tree.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-tree.html
index fb9c3fe..eaf6241 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-tree.html
@@ -214,8 +214,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html" title="enum in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">ReplicationSourceShipper.WorkerState</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSourceFactoryImpl.SourceHolder.html" title="enum in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">MetricsReplicationSourceFactoryImpl.SourceHolder</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html" title="enum in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">ReplicationSourceShipper.WorkerState</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/rest/model/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/rest/model/package-tree.html b/devapidocs/org/apache/hadoop/hbase/rest/model/package-tree.html
index 91776e4..dc2f127 100644
--- a/devapidocs/org/apache/hadoop/hbase/rest/model/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/rest/model/package-tree.html
@@ -110,8 +110,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.rest.model.<a href="../../../../../../org/apache/hadoop/hbase/rest/model/ScannerModel.FilterModel.FilterType.html" title="enum in org.apache.hadoop.hbase.rest.model"><span class="typeNameLink">ScannerModel.FilterModel.FilterType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.rest.model.<a href="../../../../../../org/apache/hadoop/hbase/rest/model/ScannerModel.FilterModel.ByteArrayComparableModel.ComparatorType.html" title="enum in org.apache.hadoop.hbase.rest.model"><span class="typeNameLink">ScannerModel.FilterModel.ByteArrayComparableModel.ComparatorType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.rest.model.<a href="../../../../../../org/apache/hadoop/hbase/rest/model/ScannerModel.FilterModel.FilterType.html" title="enum in org.apache.hadoop.hbase.rest.model"><span class="typeNameLink">ScannerModel.FilterModel.FilterType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html b/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
index 66b8b75..78d1305 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
@@ -136,9 +136,9 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.OpType.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">AccessController.OpType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/Permission.Action.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">Permission.Action</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">AccessControlFilter.Strategy</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/Permission.Action.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">Permission.Action</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.OpType.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">AccessController.OpType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/package-tree.html b/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
index 09974e8..9da8ca6 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
@@ -192,8 +192,8 @@
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/SaslStatus.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">SaslStatus</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">AuthMethod</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">SaslUtil.QualityOfProtection</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">AuthMethod</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html b/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
index 59ab0ce..cd08056 100644
--- a/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
@@ -198,8 +198,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/MetricsThriftServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">MetricsThriftServerSourceFactoryImpl.FactoryStorage</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/ThriftServerRunner.ImplType.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">ThriftServerRunner.ImplType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/MetricsThriftServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">MetricsThriftServerSourceFactoryImpl.FactoryStorage</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/ThriftMetrics.ThriftServerType.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">ThriftMetrics.ThriftServerType</span></a></li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
index d2f0463..e25dfb1 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
@@ -393,130 +393,130 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.112">m_master</a></pre>
 </li>
 </ul>
-<a name="m_filter">
+<a name="m_assignmentManager">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_filter</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.124">m_filter</a></pre>
+<h4>m_assignmentManager</h4>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master.assignment">AssignmentManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.124">m_assignmentManager</a></pre>
 </li>
 </ul>
-<a name="m_filter__IsNotDefault">
+<a name="m_assignmentManager__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_filter__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.129">m_filter__IsNotDefault</a></pre>
+<h4>m_assignmentManager__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.129">m_assignmentManager__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_frags">
+<a name="m_metaLocation">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_frags</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.141">m_frags</a></pre>
+<h4>m_metaLocation</h4>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.141">m_metaLocation</a></pre>
 </li>
 </ul>
-<a name="m_frags__IsNotDefault">
+<a name="m_metaLocation__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_frags__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.146">m_frags__IsNotDefault</a></pre>
+<h4>m_metaLocation__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.146">m_metaLocation__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_servers">
+<a name="m_deadServers">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_servers</h4>
-<pre>private&nbsp;<a href="http://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; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.158">m_servers</a></pre>
+<h4>m_deadServers</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.158">m_deadServers</a></pre>
 </li>
 </ul>
-<a name="m_servers__IsNotDefault">
+<a name="m_deadServers__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_servers__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.163">m_servers__IsNotDefault</a></pre>
+<h4>m_deadServers__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.163">m_deadServers__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_deadServers">
+<a name="m_frags">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_deadServers</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.175">m_deadServers</a></pre>
+<h4>m_frags</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.175">m_frags</a></pre>
 </li>
 </ul>
-<a name="m_deadServers__IsNotDefault">
+<a name="m_frags__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_deadServers__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.180">m_deadServers__IsNotDefault</a></pre>
+<h4>m_frags__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.180">m_frags__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_format">
+<a name="m_filter">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_format</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.192">m_format</a></pre>
+<h4>m_filter</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.192">m_filter</a></pre>
 </li>
 </ul>
-<a name="m_format__IsNotDefault">
+<a name="m_filter__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_format__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.197">m_format__IsNotDefault</a></pre>
+<h4>m_filter__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.197">m_filter__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_metaLocation">
+<a name="m_servers">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_metaLocation</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.209">m_metaLocation</a></pre>
+<h4>m_servers</h4>
+<pre>private&nbsp;<a href="http://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; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.209">m_servers</a></pre>
 </li>
 </ul>
-<a name="m_metaLocation__IsNotDefault">
+<a name="m_servers__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_metaLocation__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.214">m_metaLocation__IsNotDefault</a></pre>
+<h4>m_servers__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.214">m_servers__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_assignmentManager">
+<a name="m_serverManager">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_assignmentManager</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master.assignment">AssignmentManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.226">m_assignmentManager</a></pre>
+<h4>m_serverManager</h4>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.226">m_serverManager</a></pre>
 </li>
 </ul>
-<a name="m_assignmentManager__IsNotDefault">
+<a name="m_serverManager__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_assignmentManager__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.231">m_assignmentManager__IsNotDefault</a></pre>
+<h4>m_serverManager__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.231">m_serverManager__IsNotDefault</a></pre>
 </li>
 </ul>
 <a name="m_catalogJanitorEnabled">
@@ -537,22 +537,22 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.248">m_catalogJanitorEnabled__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_serverManager">
+<a name="m_format">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_serverManager</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.260">m_serverManager</a></pre>
+<h4>m_format</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.260">m_format</a></pre>
 </li>
 </ul>
-<a name="m_serverManager__IsNotDefault">
+<a name="m_format__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>m_serverManager__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.265">m_serverManager__IsNotDefault</a></pre>
+<h4>m_format__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.265">m_format__IsNotDefault</a></pre>
 </li>
 </ul>
 </li>
@@ -598,193 +598,193 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <pre>public&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/tmpl/master/MasterStatusTmpl.ImplData.html#line.108">getMaster</a>()</pre>
 </li>
 </ul>
-<a name="setFilter-java.lang.String-">
+<a name="setAssignmentManager-org.apache.hadoop.hbase.master.assignment.AssignmentManager-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFilter</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.114">setFilter</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filter)</pre>
+<h4>setAssignmentManager</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.114">setAssignmentManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master.assignment">AssignmentManager</a>&nbsp;assignmentManager)</pre>
 </li>
 </ul>
-<a name="getFilter--">
+<a name="getAssignmentManager--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFilter</h4>
-<pre>public&nbsp;<a href="http://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/tmpl/master/MasterStatusTmpl.ImplData.html#line.120">getFilter</a>()</pre>
+<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/tmpl/master/MasterStatusTmpl.ImplData.html#line.120">getAssignmentManager</a>()</pre>
 </li>
 </ul>
-<a name="getFilter__IsNotDefault--">
+<a name="getAssignmentManager__IsNotDefault--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFilter__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.125">getFilter__IsNotDefault</a>()</pre>
+<h4>getAssignmentManager__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.125">getAssignmentManager__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setFrags-java.util.Map-">
+<a name="setMetaLocation-org.apache.hadoop.hbase.ServerName-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFrags</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.131">setFrags</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;frags)</pre>
+<h4>setMetaLocation</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.131">setMetaLocation</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;metaLocation)</pre>
 </li>
 </ul>
-<a name="getFrags--">
+<a name="getMetaLocation--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFrags</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.137">getFrags</a>()</pre>
+<h4>getMetaLocation</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/tmpl/master/MasterStatusTmpl.ImplData.html#line.137">getMetaLocation</a>()</pre>
 </li>
 </ul>
-<a name="getFrags__IsNotDefault--">
+<a name="getMetaLocation__IsNotDefault--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFrags__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.142">getFrags__IsNotDefault</a>()</pre>
+<h4>getMetaLocation__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.142">getMetaLocation__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setServers-java.util.List-">
+<a name="setDeadServers-java.util.Set-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setServers</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.148">setServers</a>(<a href="http://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>
+<h4>setDeadServers</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.148">setDeadServers</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;deadServers)</pre>
 </li>
 </ul>
-<a name="getServers--">
+<a name="getDeadServers--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getServers</h4>
-<pre>public&nbsp;<a href="http://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/tmpl/master/MasterStatusTmpl.ImplData.html#line.154">getServers</a>()</pre>
+<h4>getDeadServers</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.154">getDeadServers</a>()</pre>
 </li>
 </ul>
-<a name="getServers__IsNotDefault--">
+<a name="getDeadServers__IsNotDefault--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getServers__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.159">getServers__IsNotDefault</a>()</pre>
+<h4>getDeadServers__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.159">getDeadServers__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setDeadServers-java.util.Set-">
+<a name="setFrags-java.util.Map-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setDeadServers</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.165">setDeadServers</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;deadServers)</pre>
+<h4>setFrags</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.165">setFrags</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;frags)</pre>
 </li>
 </ul>
-<a name="getDeadServers--">
+<a name="getFrags--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getDeadServers</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.171">getDeadServers</a>()</pre>
+<h4>getFrags</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.171">getFrags</a>()</pre>
 </li>
 </ul>
-<a name="getDeadServers__IsNotDefault--">
+<a name="getFrags__IsNotDefault--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getDeadServers__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.176">getDeadServers__IsNotDefault</a>()</pre>
+<h4>getFrags__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.176">getFrags__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setFormat-java.lang.String-">
+<a name="setFilter-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFormat</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.182">setFormat</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;format)</pre>
+<h4>setFilter</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.182">setFilter</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filter)</pre>
 </li>
 </ul>
-<a name="getFormat--">
+<a name="getFilter--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFormat</h4>
-<pre>public&nbsp;<a href="http://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/tmpl/master/MasterStatusTmpl.ImplData.html#line.188">getFormat</a>()</pre>
+<h4>getFilter</h4>
+<pre>public&nbsp;<a href="http://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/tmpl/master/MasterStatusTmpl.ImplData.html#line.188">getFilter</a>()</pre>
 </li>
 </ul>
-<a name="getFormat__IsNotDefault--">
+<a name="getFilter__IsNotDefault--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFormat__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.193">getFormat__IsNotDefault</a>()</pre>
+<h4>getFilter__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.193">getFilter__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setMetaLocation-org.apache.hadoop.hbase.ServerName-">
+<a name="setServers-java.util.List-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setMetaLocation</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.199">setMetaLocation</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;metaLocation)</pre>
+<h4>setServers</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.199">setServers</a>(<a href="http://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>
 </li>
 </ul>
-<a name="getMetaLocation--">
+<a name="getServers--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getMetaLocation</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/tmpl/master/MasterStatusTmpl.ImplData.html#line.205">getMetaLocation</a>()</pre>
+<h4>getServers</h4>
+<pre>public&nbsp;<a href="http://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/tmpl/master/MasterStatusTmpl.ImplData.html#line.205">getServers</a>()</pre>
 </li>
 </ul>
-<a name="getMetaLocation__IsNotDefault--">
+<a name="getServers__IsNotDefault--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getMetaLocation__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.210">getMetaLocation__IsNotDefault</a>()</pre>
+<h4>getServers__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.210">getServers__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setAssignmentManager-org.apache.hadoop.hbase.master.assignment.AssignmentManager-">
+<a name="setServerManager-org.apache.hadoop.hbase.master.ServerManager-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setAssignmentManager</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.216">setAssignmentManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master.assignment">AssignmentManager</a>&nbsp;assignmentManager)</pre>
+<h4>setServerManager</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.216">setServerManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;serverManager)</pre>
 </li>
 </ul>
-<a name="getAssignmentManager--">
+<a name="getServerManager--">
 <!--   -->
 </a>
 <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/tmpl/master/MasterStatusTmpl.ImplData.html#line.222">getAssignmentManager</a>()</pre>
+<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/tmpl/master/MasterStatusTmpl.ImplData.html#line.222">getServerManager</a>()</pre>
 </li>
 </ul>
-<a name="getAssignmentManager__IsNotDefault--">
+<a name="getServerManager__IsNotDefault--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getAssignmentManager__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.227">getAssignmentManager__IsNotDefault</a>()</pre>
+<h4>getServerManager__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.227">getServerManager__IsNotDefault</a>()</pre>
 </li>
 </ul>
 <a name="setCatalogJanitorEnabled-boolean-">
@@ -814,31 +814,31 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.244">getCatalogJanitorEnabled__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setServerManager-org.apache.hadoop.hbase.master.ServerManager-">
+<a name="setFormat-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setServerManager</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.250">setServerManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;serverManager)</pre>
+<h4>setFormat</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.250">setFormat</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;format)</pre>
 </li>
 </ul>
-<a name="getServerManager--">
+<a name="getFormat--">
 <!--   -->
 </a>
 <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/tmpl/master/MasterStatusTmpl.ImplData.html#line.256">getServerManager</a>()</pre>
+<h4>getFormat</h4>
+<pre>public&nbsp;<a href="http://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/tmpl/master/MasterStatusTmpl.ImplData.html#line.256">getFormat</a>()</pre>
 </li>
 </ul>
-<a name="getServerManager__IsNotDefault--">
+<a name="getFormat__IsNotDefault--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>getServerManager__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.261">getServerManager__IsNotDefault</a>()</pre>
+<h4>getFormat__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.261">getFormat__IsNotDefault</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
index 6fd4c29..9832784 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
@@ -337,67 +337,67 @@ extends org.jamon.AbstractTemplateProxy</pre>
 <!--   -->
 </a>
 <h3>Field Detail</h3>
-<a name="filter">
+<a name="assignmentManager">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>filter</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.277">filter</a></pre>
+<h4>assignmentManager</h4>
+<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master.assignment">AssignmentManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.277">assignmentManager</a></pre>
 </li>
 </ul>
-<a name="frags">
+<a name="metaLocation">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>frags</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.284">frags</a></pre>
+<h4>metaLocation</h4>
+<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.284">metaLocation</a></pre>
 </li>
 </ul>
-<a name="servers">
+<a name="deadServers">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>servers</h4>
-<pre>protected&nbsp;<a href="http://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; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.291">servers</a></pre>
+<h4>deadServers</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.291">deadServers</a></pre>
 </li>
 </ul>
-<a name="deadServers">
+<a name="frags">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>deadServers</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.298">deadServers</a></pre>
+<h4>frags</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.298">frags</a></pre>
 </li>
 </ul>
-<a name="format">
+<a name="filter">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>format</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.305">format</a></pre>
+<h4>filter</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.305">filter</a></pre>
 </li>
 </ul>
-<a name="metaLocation">
+<a name="servers">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>metaLocation</h4>
-<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.312">metaLocation</a></pre>
+<h4>servers</h4>
+<pre>protected&nbsp;<a href="http://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; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.312">servers</a></pre>
 </li>
 </ul>
-<a name="assignmentManager">
+<a name="serverManager">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>assignmentManager</h4>
-<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master.assignment">AssignmentManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.319">assignmentManager</a></pre>
+<h4>serverManager</h4>
+<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.319">serverManager</a></pre>
 </li>
 </ul>
 <a name="catalogJanitorEnabled">
@@ -409,13 +409,13 @@ extends org.jamon.AbstractTemplateProxy</pre>
 <pre>protected&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.326">catalogJanitorEnabled</a></pre>
 </li>
 </ul>
-<a name="serverManager">
+<a name="format">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>serverManager</h4>
-<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.333">serverManager</a></pre>
+<h4>format</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.333">format</a></pre>
 </li>
 </ul>
 </li>
@@ -487,67 +487,67 @@ extends org.jamon.AbstractTemplateProxy</pre>
 </dl>
 </li>
 </ul>
-<a name="setFilter-java.lang.String-">
+<a name="setAssignmentManager-org.apache.hadoop.hbase.master.assignment.AssignmentManager-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFilter</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.278">setFilter</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_filter)</pre>
+<h4>setAssignmentManager</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.278">setAssignmentManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master.assignment">AssignmentManager</a>&nbsp;p_assignmentManager)</pre>
 </li>
 </ul>
-<a name="setFrags-java.util.Map-">
+<a name="setMetaLocation-org.apache.hadoop.hbase.ServerName-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFrags</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.285">setFrags</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;p_frags)</pre>
+<h4>setMetaLocation</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.285">setMetaLocation</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;p_metaLocation)</pre>
 </li>
 </ul>
-<a name="setServers-java.util.List-">
+<a name="setDeadServers-java.util.Set-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setServers</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.292">setServers</a>(<a href="http://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;p_servers)</pre>
+<h4>setDeadServers</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.292">setDeadServers</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;p_deadServers)</pre>
 </li>
 </ul>
-<a name="setDeadServers-java.util.Set-">
+<a name="setFrags-java.util.Map-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setDeadServers</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.299">setDeadServers</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;p_deadServers)</pre>
+<h4>setFrags</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.299">setFrags</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;p_frags)</pre>
 </li>
 </ul>
-<a name="setFormat-java.lang.String-">
+<a name="setFilter-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFormat</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.306">setFormat</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_format)</pre>
+<h4>setFilter</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.306">setFilter</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_filter)</pre>
 </li>
 </ul>
-<a name="setMetaLocation-org.apache.hadoop.hbase.ServerName-">
+<a name="setServers-java.util.List-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setMetaLocation</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.313">setMetaLocation</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;p_metaLocation)</pre>
+<h4>setServers</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.313">setServers</a>(<a href="http://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;p_servers)</pre>
 </li>
 </ul>
-<a name="setAssignmentManager-org.apache.hadoop.hbase.master.assignment.AssignmentManager-">
+<a name="setServerManager-org.apache.hadoop.hbase.master.ServerManager-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setAssignmentManager</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.320">setAssignmentManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master.assignment">AssignmentManager</a>&nbsp;p_assignmentManager)</pre>
+<h4>setServerManager</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.320">setServerManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;p_serverManager)</pre>
 </li>
 </ul>
 <a name="setCatalogJanitorEnabled-boolean-">
@@ -559,13 +559,13 @@ extends org.jamon.AbstractTemplateProxy</pre>
 <pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.327">setCatalogJanitorEnabled</a>(boolean&nbsp;p_catalogJanitorEnabled)</pre>
 </li>
 </ul>
-<a name="setServerManager-org.apache.hadoop.hbase.master.ServerManager-">
+<a name="setFormat-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setServerManager</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.334">setServerManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;p_serverManager)</pre>
+<h4>setFormat</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.334">setFormat</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_format)</pre>
 </li>
 </ul>
 <a name="constructImpl-java.lang.Class-">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
index 1030f26..bcc0082 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
@@ -278,67 +278,67 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/Master
 <pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.64">master</a></pre>
 </li>
 </ul>
-<a name="filter">
+<a name="assignmentManager">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>filter</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.65">filter</a></pre>
+<h4>assignmentManager</h4>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master.assignment">AssignmentManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.65">assignmentManager</a></pre>
 </li>
 </ul>
-<a name="frags">
+<a name="metaLocation">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>frags</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.66">frags</a></pre>
+<h4>metaLocation</h4>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.66">metaLocation</a></pre>
 </li>
 </ul>
-<a name="servers">
+<a name="deadServers">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>servers</h4>
-<pre>private final&nbsp;<a href="http://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; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.67">servers</a></pre>
+<h4>deadServers</h4>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.67">deadServers</a></pre>
 </li>
 </ul>
-<a name="deadServers">
+<a name="frags">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>deadServers</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.68">deadServers</a></pre>
+<h4>frags</h4>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.68">frags</a></pre>
 </li>
 </ul>
-<a name="format">
+<a name="filter">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>format</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.69">format</a></pre>
+<h4>filter</h4>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.69">filter</a></pre>
 </li>
 </ul>
-<a name="metaLocation">
+<a name="servers">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>metaLocation</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.70">metaLocation</a></pre>
+<h4>servers</h4>
+<pre>private final&nbsp;<a href="http://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; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.70">servers</a></pre>
 </li>
 </ul>
-<a name="assignmentManager">
+<a name="serverManager">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>assignmentManager</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master.assignment">AssignmentManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.71">assignmentManager</a></pre>
+<h4>serverManager</h4>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.71">serverManager</a></pre>
 </li>
 </ul>
 <a name="catalogJanitorEnabled">
@@ -350,13 +350,13 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/Master
 <pre>private final&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.72">catalogJanitorEnabled</a></pre>
 </li>
 </ul>
-<a name="serverManager">
+<a name="format">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>serverManager</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.73">serverManager</a></pre>
+<h4>format</h4>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.73">format</a></pre>
 </li>
 </ul>
 </li>


[15/26] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.TableQuotasVisitor.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.TableQuotasVisitor.html b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.TableQuotasVisitor.html
index 3c6f9b8..7d3deb8 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.TableQuotasVisitor.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.TableQuotasVisitor.html
@@ -39,731 +39,772 @@
 <span class="sourceLineNo">031</span>import org.apache.commons.logging.Log;<a name="line.31"></a>
 <span class="sourceLineNo">032</span>import org.apache.commons.logging.LogFactory;<a name="line.32"></a>
 <span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.Cell;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.ServerName;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.TableName;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.client.ClusterConnection;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.client.Get;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.client.Put;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.client.QuotaStatusCalls;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.client.Result;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.client.ResultScanner;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.client.Table;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.filter.ColumnPrefixFilter;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.filter.CompareFilter;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.filter.Filter;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.filter.FilterList;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.filter.QualifierFilter;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.filter.RegexStringComparator;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.filter.RowFilter;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.protobuf.ProtobufMagic;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.InvalidProtocolBufferException;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.UnsafeByteOperations;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetQuotaStatesResponse;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaRegionSizesResponse;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse.TableQuotaSnapshot;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaRegionSizesResponse.RegionSizes;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.util.Strings;<a name="line.70"></a>
-<span class="sourceLineNo">071</span><a name="line.71"></a>
-<span class="sourceLineNo">072</span>/**<a name="line.72"></a>
-<span class="sourceLineNo">073</span> * Helper class to interact with the quota table.<a name="line.73"></a>
-<span class="sourceLineNo">074</span> * &lt;table&gt;<a name="line.74"></a>
-<span class="sourceLineNo">075</span> *   &lt;tr&gt;&lt;th&gt;ROW-KEY&lt;/th&gt;&lt;th&gt;FAM/QUAL&lt;/th&gt;&lt;th&gt;DATA&lt;/th&gt;&lt;/tr&gt;<a name="line.75"></a>
-<span class="sourceLineNo">076</span> *   &lt;tr&gt;&lt;td&gt;n.&amp;lt;namespace&amp;gt;&lt;/td&gt;&lt;td&gt;q:s&lt;/td&gt;&lt;td&gt;&amp;lt;global-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.76"></a>
-<span class="sourceLineNo">077</span> *   &lt;tr&gt;&lt;td&gt;n.&amp;lt;namespace&amp;gt;&lt;/td&gt;&lt;td&gt;u:p&lt;/td&gt;&lt;td&gt;&amp;lt;namespace-quota policy&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.77"></a>
-<span class="sourceLineNo">078</span> *   &lt;tr&gt;&lt;td&gt;n.&amp;lt;namespace&amp;gt;&lt;/td&gt;&lt;td&gt;u:s&lt;/td&gt;&lt;td&gt;&amp;lt;SpaceQuotaSnapshot&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.78"></a>
-<span class="sourceLineNo">079</span> *   &lt;tr&gt;&lt;td&gt;t.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;q:s&lt;/td&gt;&lt;td&gt;&amp;lt;global-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.79"></a>
-<span class="sourceLineNo">080</span> *   &lt;tr&gt;&lt;td&gt;t.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;u:p&lt;/td&gt;&lt;td&gt;&amp;lt;table-quota policy&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.80"></a>
-<span class="sourceLineNo">081</span> *   &lt;tr&gt;&lt;td&gt;t.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;u:ss.&amp;lt;snapshot name&amp;gt;&lt;/td&gt;&lt;td&gt;&amp;lt;SpaceQuotaSnapshot&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.81"></a>
-<span class="sourceLineNo">082</span> *   &lt;tr&gt;&lt;td&gt;u.&amp;lt;user&amp;gt;&lt;/td&gt;&lt;td&gt;q:s&lt;/td&gt;&lt;td&gt;&amp;lt;global-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.82"></a>
-<span class="sourceLineNo">083</span> *   &lt;tr&gt;&lt;td&gt;u.&amp;lt;user&amp;gt;&lt;/td&gt;&lt;td&gt;q:s.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;&amp;lt;table-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.83"></a>
-<span class="sourceLineNo">084</span> *   &lt;tr&gt;&lt;td&gt;u.&amp;lt;user&amp;gt;&lt;/td&gt;&lt;td&gt;q:s.&amp;lt;ns&amp;gt;&lt;/td&gt;&lt;td&gt;&amp;lt;namespace-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.84"></a>
-<span class="sourceLineNo">085</span> * &lt;/table<a name="line.85"></a>
-<span class="sourceLineNo">086</span> */<a name="line.86"></a>
-<span class="sourceLineNo">087</span>@InterfaceAudience.Private<a name="line.87"></a>
-<span class="sourceLineNo">088</span>@InterfaceStability.Evolving<a name="line.88"></a>
-<span class="sourceLineNo">089</span>public class QuotaTableUtil {<a name="line.89"></a>
-<span class="sourceLineNo">090</span>  private static final Log LOG = LogFactory.getLog(QuotaTableUtil.class);<a name="line.90"></a>
-<span class="sourceLineNo">091</span><a name="line.91"></a>
-<span class="sourceLineNo">092</span>  /** System table for quotas */<a name="line.92"></a>
-<span class="sourceLineNo">093</span>  public static final TableName QUOTA_TABLE_NAME =<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      TableName.valueOf(NamespaceDescriptor.SYSTEM_NAMESPACE_NAME_STR, "quota");<a name="line.94"></a>
-<span class="sourceLineNo">095</span><a name="line.95"></a>
-<span class="sourceLineNo">096</span>  protected static final byte[] QUOTA_FAMILY_INFO = Bytes.toBytes("q");<a name="line.96"></a>
-<span class="sourceLineNo">097</span>  protected static final byte[] QUOTA_FAMILY_USAGE = Bytes.toBytes("u");<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  protected static final byte[] QUOTA_QUALIFIER_SETTINGS = Bytes.toBytes("s");<a name="line.98"></a>
-<span class="sourceLineNo">099</span>  protected static final byte[] QUOTA_QUALIFIER_SETTINGS_PREFIX = Bytes.toBytes("s.");<a name="line.99"></a>
-<span class="sourceLineNo">100</span>  protected static final byte[] QUOTA_QUALIFIER_POLICY = Bytes.toBytes("p");<a name="line.100"></a>
-<span class="sourceLineNo">101</span>  protected static final byte[] QUOTA_SNAPSHOT_SIZE_QUALIFIER = Bytes.toBytes("ss");<a name="line.101"></a>
-<span class="sourceLineNo">102</span>  protected static final String QUOTA_POLICY_COLUMN =<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      Bytes.toString(QUOTA_FAMILY_USAGE) + ":" + Bytes.toString(QUOTA_QUALIFIER_POLICY);<a name="line.103"></a>
-<span class="sourceLineNo">104</span>  protected static final byte[] QUOTA_USER_ROW_KEY_PREFIX = Bytes.toBytes("u.");<a name="line.104"></a>
-<span class="sourceLineNo">105</span>  protected static final byte[] QUOTA_TABLE_ROW_KEY_PREFIX = Bytes.toBytes("t.");<a name="line.105"></a>
-<span class="sourceLineNo">106</span>  protected static final byte[] QUOTA_NAMESPACE_ROW_KEY_PREFIX = Bytes.toBytes("n.");<a name="line.106"></a>
-<span class="sourceLineNo">107</span><a name="line.107"></a>
-<span class="sourceLineNo">108</span>  /* =========================================================================<a name="line.108"></a>
-<span class="sourceLineNo">109</span>   *  Quota "settings" helpers<a name="line.109"></a>
-<span class="sourceLineNo">110</span>   */<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  public static Quotas getTableQuota(final Connection connection, final TableName table)<a name="line.111"></a>
-<span class="sourceLineNo">112</span>      throws IOException {<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    return getQuotas(connection, getTableRowKey(table));<a name="line.113"></a>
-<span class="sourceLineNo">114</span>  }<a name="line.114"></a>
-<span class="sourceLineNo">115</span><a name="line.115"></a>
-<span class="sourceLineNo">116</span>  public static Quotas getNamespaceQuota(final Connection connection, final String namespace)<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      throws IOException {<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    return getQuotas(connection, getNamespaceRowKey(namespace));<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  }<a name="line.119"></a>
-<span class="sourceLineNo">120</span><a name="line.120"></a>
-<span class="sourceLineNo">121</span>  public static Quotas getUserQuota(final Connection connection, final String user)<a name="line.121"></a>
-<span class="sourceLineNo">122</span>      throws IOException {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    return getQuotas(connection, getUserRowKey(user));<a name="line.123"></a>
-<span class="sourceLineNo">124</span>  }<a name="line.124"></a>
-<span class="sourceLineNo">125</span><a name="line.125"></a>
-<span class="sourceLineNo">126</span>  public static Quotas getUserQuota(final Connection connection, final String user,<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      final TableName table) throws IOException {<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    return getQuotas(connection, getUserRowKey(user), getSettingsQualifierForUserTable(table));<a name="line.128"></a>
-<span class="sourceLineNo">129</span>  }<a name="line.129"></a>
-<span class="sourceLineNo">130</span><a name="line.130"></a>
-<span class="sourceLineNo">131</span>  public static Quotas getUserQuota(final Connection connection, final String user,<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      final String namespace) throws IOException {<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    return getQuotas(connection, getUserRowKey(user),<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      getSettingsQualifierForUserNamespace(namespace));<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  }<a name="line.135"></a>
-<span class="sourceLineNo">136</span><a name="line.136"></a>
-<span class="sourceLineNo">137</span>  private static Quotas getQuotas(final Connection connection, final byte[] rowKey)<a name="line.137"></a>
-<span class="sourceLineNo">138</span>      throws IOException {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    return getQuotas(connection, rowKey, QUOTA_QUALIFIER_SETTINGS);<a name="line.139"></a>
-<span class="sourceLineNo">140</span>  }<a name="line.140"></a>
-<span class="sourceLineNo">141</span><a name="line.141"></a>
-<span class="sourceLineNo">142</span>  private static Quotas getQuotas(final Connection connection, final byte[] rowKey,<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      final byte[] qualifier) throws IOException {<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    Get get = new Get(rowKey);<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    get.addColumn(QUOTA_FAMILY_INFO, qualifier);<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    Result result = doGet(connection, get);<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    if (result.isEmpty()) {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>      return null;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    }<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    return quotasFromData(result.getValue(QUOTA_FAMILY_INFO, qualifier));<a name="line.150"></a>
-<span class="sourceLineNo">151</span>  }<a name="line.151"></a>
-<span class="sourceLineNo">152</span><a name="line.152"></a>
-<span class="sourceLineNo">153</span>  public static Get makeGetForTableQuotas(final TableName table) {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    Get get = new Get(getTableRowKey(table));<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    get.addFamily(QUOTA_FAMILY_INFO);<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    return get;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>  }<a name="line.157"></a>
-<span class="sourceLineNo">158</span><a name="line.158"></a>
-<span class="sourceLineNo">159</span>  public static Get makeGetForNamespaceQuotas(final String namespace) {<a name="line.159"></a>
-<span class="sourceLineNo">160</span>    Get get = new Get(getNamespaceRowKey(namespace));<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    get.addFamily(QUOTA_FAMILY_INFO);<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    return get;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>  }<a name="line.163"></a>
-<span class="sourceLineNo">164</span><a name="line.164"></a>
-<span class="sourceLineNo">165</span>  public static Get makeGetForUserQuotas(final String user, final Iterable&lt;TableName&gt; tables,<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      final Iterable&lt;String&gt; namespaces) {<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    Get get = new Get(getUserRowKey(user));<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    get.addColumn(QUOTA_FAMILY_INFO, QUOTA_QUALIFIER_SETTINGS);<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    for (final TableName table: tables) {<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      get.addColumn(QUOTA_FAMILY_INFO, getSettingsQualifierForUserTable(table));<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    }<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    for (final String ns: namespaces) {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      get.addColumn(QUOTA_FAMILY_INFO, getSettingsQualifierForUserNamespace(ns));<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    }<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    return get;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>  }<a name="line.176"></a>
-<span class="sourceLineNo">177</span><a name="line.177"></a>
-<span class="sourceLineNo">178</span>  public static Scan makeScan(final QuotaFilter filter) {<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    Scan scan = new Scan();<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    scan.addFamily(QUOTA_FAMILY_INFO);<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    if (filter != null &amp;&amp; !filter.isNull()) {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>      scan.setFilter(makeFilter(filter));<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    }<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    return scan;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>  }<a name="line.185"></a>
-<span class="sourceLineNo">186</span><a name="line.186"></a>
-<span class="sourceLineNo">187</span>  /**<a name="line.187"></a>
-<span class="sourceLineNo">188</span>   * converts quotafilter to serializeable filterlists.<a name="line.188"></a>
-<span class="sourceLineNo">189</span>   */<a name="line.189"></a>
-<span class="sourceLineNo">190</span>  public static Filter makeFilter(final QuotaFilter filter) {<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    FilterList filterList = new FilterList(FilterList.Operator.MUST_PASS_ALL);<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    if (!Strings.isEmpty(filter.getUserFilter())) {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      FilterList userFilters = new FilterList(FilterList.Operator.MUST_PASS_ONE);<a name="line.193"></a>
-<span class="sourceLineNo">194</span>      boolean hasFilter = false;<a name="line.194"></a>
-<span class="sourceLineNo">195</span><a name="line.195"></a>
-<span class="sourceLineNo">196</span>      if (!Strings.isEmpty(filter.getNamespaceFilter())) {<a name="line.196"></a>
-<span class="sourceLineNo">197</span>        FilterList nsFilters = new FilterList(FilterList.Operator.MUST_PASS_ALL);<a name="line.197"></a>
-<span class="sourceLineNo">198</span>        nsFilters.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.198"></a>
-<span class="sourceLineNo">199</span>            new RegexStringComparator(getUserRowKeyRegex(filter.getUserFilter()), 0)));<a name="line.199"></a>
-<span class="sourceLineNo">200</span>        nsFilters.addFilter(new QualifierFilter(CompareFilter.CompareOp.EQUAL,<a name="line.200"></a>
-<span class="sourceLineNo">201</span>            new RegexStringComparator(<a name="line.201"></a>
-<span class="sourceLineNo">202</span>              getSettingsQualifierRegexForUserNamespace(filter.getNamespaceFilter()), 0)));<a name="line.202"></a>
-<span class="sourceLineNo">203</span>        userFilters.addFilter(nsFilters);<a name="line.203"></a>
-<span class="sourceLineNo">204</span>        hasFilter = true;<a name="line.204"></a>
-<span class="sourceLineNo">205</span>      }<a name="line.205"></a>
-<span class="sourceLineNo">206</span>      if (!Strings.isEmpty(filter.getTableFilter())) {<a name="line.206"></a>
-<span class="sourceLineNo">207</span>        FilterList tableFilters = new FilterList(FilterList.Operator.MUST_PASS_ALL);<a name="line.207"></a>
-<span class="sourceLineNo">208</span>        tableFilters.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.208"></a>
-<span class="sourceLineNo">209</span>            new RegexStringComparator(getUserRowKeyRegex(filter.getUserFilter()), 0)));<a name="line.209"></a>
-<span class="sourceLineNo">210</span>        tableFilters.addFilter(new QualifierFilter(CompareFilter.CompareOp.EQUAL,<a name="line.210"></a>
-<span class="sourceLineNo">211</span>            new RegexStringComparator(<a name="line.211"></a>
-<span class="sourceLineNo">212</span>              getSettingsQualifierRegexForUserTable(filter.getTableFilter()), 0)));<a name="line.212"></a>
-<span class="sourceLineNo">213</span>        userFilters.addFilter(tableFilters);<a name="line.213"></a>
-<span class="sourceLineNo">214</span>        hasFilter = true;<a name="line.214"></a>
-<span class="sourceLineNo">215</span>      }<a name="line.215"></a>
-<span class="sourceLineNo">216</span>      if (!hasFilter) {<a name="line.216"></a>
-<span class="sourceLineNo">217</span>        userFilters.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.217"></a>
-<span class="sourceLineNo">218</span>            new RegexStringComparator(getUserRowKeyRegex(filter.getUserFilter()), 0)));<a name="line.218"></a>
-<span class="sourceLineNo">219</span>      }<a name="line.219"></a>
-<span class="sourceLineNo">220</span><a name="line.220"></a>
-<span class="sourceLineNo">221</span>      filterList.addFilter(userFilters);<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    } else if (!Strings.isEmpty(filter.getTableFilter())) {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>      filterList.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.223"></a>
-<span class="sourceLineNo">224</span>          new RegexStringComparator(getTableRowKeyRegex(filter.getTableFilter()), 0)));<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    } else if (!Strings.isEmpty(filter.getNamespaceFilter())) {<a name="line.225"></a>
-<span class="sourceLineNo">226</span>      filterList.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.226"></a>
-<span class="sourceLineNo">227</span>          new RegexStringComparator(getNamespaceRowKeyRegex(filter.getNamespaceFilter()), 0)));<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    }<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    return filterList;<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  }<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>  /**<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   * Creates a {@link Scan} which returns only quota snapshots from the quota table.<a name="line.233"></a>
-<span class="sourceLineNo">234</span>   */<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  public static Scan makeQuotaSnapshotScan() {<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    return makeQuotaSnapshotScanForTable(null);<a name="line.236"></a>
-<span class="sourceLineNo">237</span>  }<a name="line.237"></a>
-<span class="sourceLineNo">238</span><a name="line.238"></a>
-<span class="sourceLineNo">239</span>  /**<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * Fetches all {@link SpaceQuotaSnapshot} objects from the {@code hbase:quota} table.<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   *<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   * @param conn The HBase connection<a name="line.242"></a>
-<span class="sourceLineNo">243</span>   * @return A map of table names and their computed snapshot.<a name="line.243"></a>
-<span class="sourceLineNo">244</span>   */<a name="line.244"></a>
-<span class="sourceLineNo">245</span>  public static Map&lt;TableName,SpaceQuotaSnapshot&gt; getSnapshots(Connection conn) throws IOException {<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    Map&lt;TableName,SpaceQuotaSnapshot&gt; snapshots = new HashMap&lt;&gt;();<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    try (Table quotaTable = conn.getTable(QUOTA_TABLE_NAME);<a name="line.247"></a>
-<span class="sourceLineNo">248</span>        ResultScanner rs = quotaTable.getScanner(makeQuotaSnapshotScan())) {<a name="line.248"></a>
-<span class="sourceLineNo">249</span>      for (Result r : rs) {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>        extractQuotaSnapshot(r, snapshots);<a name="line.250"></a>
-<span class="sourceLineNo">251</span>      }<a name="line.251"></a>
-<span class="sourceLineNo">252</span>    }<a name="line.252"></a>
-<span class="sourceLineNo">253</span>    return snapshots;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  }<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>  /**<a name="line.256"></a>
-<span class="sourceLineNo">257</span>   * Creates a {@link Scan} which returns only {@link SpaceQuotaSnapshot} from the quota table for a<a name="line.257"></a>
-<span class="sourceLineNo">258</span>   * specific table.<a name="line.258"></a>
-<span class="sourceLineNo">259</span>   * @param tn Optionally, a table name to limit the scan's rowkey space. Can be null.<a name="line.259"></a>
-<span class="sourceLineNo">260</span>   */<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  public static Scan makeQuotaSnapshotScanForTable(TableName tn) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    Scan s = new Scan();<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    // Limit to "u:v" column<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    s.addColumn(QUOTA_FAMILY_USAGE, QUOTA_QUALIFIER_POLICY);<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    if (null == tn) {<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      s.setRowPrefixFilter(QUOTA_TABLE_ROW_KEY_PREFIX);<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    } else {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      byte[] row = getTableRowKey(tn);<a name="line.268"></a>
-<span class="sourceLineNo">269</span>      // Limit rowspace to the "t:" prefix<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      s.withStartRow(row, true).withStopRow(row, true);<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    }<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    return s;<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  }<a name="line.273"></a>
-<span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>  /**<a name="line.275"></a>
-<span class="sourceLineNo">276</span>   * Extracts the {@link SpaceViolationPolicy} and {@link TableName} from the provided<a name="line.276"></a>
-<span class="sourceLineNo">277</span>   * {@link Result} and adds them to the given {@link Map}. If the result does not contain<a name="line.277"></a>
-<span class="sourceLineNo">278</span>   * the expected information or the serialized policy in the value is invalid, this method<a name="line.278"></a>
-<span class="sourceLineNo">279</span>   * will throw an {@link IllegalArgumentException}.<a name="line.279"></a>
-<span class="sourceLineNo">280</span>   *<a name="line.280"></a>
-<span class="sourceLineNo">281</span>   * @param result A row from the quota table.<a name="line.281"></a>
-<span class="sourceLineNo">282</span>   * @param snapshots A map of snapshots to add the result of this method into.<a name="line.282"></a>
-<span class="sourceLineNo">283</span>   */<a name="line.283"></a>
-<span class="sourceLineNo">284</span>  public static void extractQuotaSnapshot(<a name="line.284"></a>
-<span class="sourceLineNo">285</span>      Result result, Map&lt;TableName,SpaceQuotaSnapshot&gt; snapshots) {<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    byte[] row = Objects.requireNonNull(result).getRow();<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    if (row == null) {<a name="line.287"></a>
-<span class="sourceLineNo">288</span>      throw new IllegalArgumentException("Provided result had a null row");<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    }<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    final TableName targetTableName = getTableFromRowKey(row);<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    Cell c = result.getColumnLatestCell(QUOTA_FAMILY_USAGE, QUOTA_QUALIFIER_POLICY);<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    if (c == null) {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>      throw new IllegalArgumentException("Result did not contain the expected column "<a name="line.293"></a>
-<span class="sourceLineNo">294</span>          + QUOTA_POLICY_COLUMN + ", " + result.toString());<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    }<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    ByteString buffer = UnsafeByteOperations.unsafeWrap(<a name="line.296"></a>
-<span class="sourceLineNo">297</span>        c.getValueArray(), c.getValueOffset(), c.getValueLength());<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    try {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      QuotaProtos.SpaceQuotaSnapshot snapshot = QuotaProtos.SpaceQuotaSnapshot.parseFrom(buffer);<a name="line.299"></a>
-<span class="sourceLineNo">300</span>      snapshots.put(targetTableName, SpaceQuotaSnapshot.toSpaceQuotaSnapshot(snapshot));<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    } catch (InvalidProtocolBufferException e) {<a name="line.301"></a>
-<span class="sourceLineNo">302</span>      throw new IllegalArgumentException(<a name="line.302"></a>
-<span class="sourceLineNo">303</span>          "Result did not contain a valid SpaceQuota protocol buffer message", e);<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    }<a name="line.304"></a>
-<span class="sourceLineNo">305</span>  }<a name="line.305"></a>
-<span class="sourceLineNo">306</span><a name="line.306"></a>
-<span class="sourceLineNo">307</span>  public static interface UserQuotasVisitor {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    void visitUserQuotas(final String userName, final Quotas quotas)<a name="line.308"></a>
-<span class="sourceLineNo">309</span>      throws IOException;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    void visitUserQuotas(final String userName, final TableName table, final Quotas quotas)<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      throws IOException;<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    void visitUserQuotas(final String userName, final String namespace, final Quotas quotas)<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      throws IOException;<a name="line.313"></a>
-<span class="sourceLineNo">314</span>  }<a name="line.314"></a>
-<span class="sourceLineNo">315</span><a name="line.315"></a>
-<span class="sourceLineNo">316</span>  public static interface TableQuotasVisitor {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    void visitTableQuotas(final TableName tableName, final Quotas quotas)<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      throws IOException;<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  }<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>  public static interface NamespaceQuotasVisitor {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    void visitNamespaceQuotas(final String namespace, final Quotas quotas)<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      throws IOException;<a name="line.323"></a>
-<span class="sourceLineNo">324</span>  }<a name="line.324"></a>
-<span class="sourceLineNo">325</span><a name="line.325"></a>
-<span class="sourceLineNo">326</span>  public static interface QuotasVisitor extends UserQuotasVisitor,<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      TableQuotasVisitor, NamespaceQuotasVisitor {<a name="line.327"></a>
-<span class="sourceLineNo">328</span>  }<a name="line.328"></a>
-<span class="sourceLineNo">329</span><a name="line.329"></a>
-<span class="sourceLineNo">330</span>  public static void parseResult(final Result result, final QuotasVisitor visitor)<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      throws IOException {<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    byte[] row = result.getRow();<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    if (isNamespaceRowKey(row)) {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>      parseNamespaceResult(result, visitor);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>    } else if (isTableRowKey(row)) {<a name="line.335"></a>
-<span class="sourceLineNo">336</span>      parseTableResult(result, visitor);<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    } else if (isUserRowKey(row)) {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      parseUserResult(result, visitor);<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    } else {<a name="line.339"></a>
-<span class="sourceLineNo">340</span>      LOG.warn("unexpected row-key: " + Bytes.toString(row));<a name="line.340"></a>
-<span class="sourceLineNo">341</span>    }<a name="line.341"></a>
-<span class="sourceLineNo">342</span>  }<a name="line.342"></a>
-<span class="sourceLineNo">343</span><a name="line.343"></a>
-<span class="sourceLineNo">344</span>  public static void parseResultToCollection(final Result result,<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      Collection&lt;QuotaSettings&gt; quotaSettings) throws IOException {<a name="line.345"></a>
-<span class="sourceLineNo">346</span><a name="line.346"></a>
-<span class="sourceLineNo">347</span>    QuotaTableUtil.parseResult(result, new QuotaTableUtil.QuotasVisitor() {<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      @Override<a name="line.348"></a>
-<span class="sourceLineNo">349</span>      public void visitUserQuotas(String userName, Quotas quotas) {<a name="line.349"></a>
-<span class="sourceLineNo">350</span>        quotaSettings.addAll(QuotaSettingsFactory.fromUserQuotas(userName, quotas));<a name="line.350"></a>
-<span class="sourceLineNo">351</span>      }<a name="line.351"></a>
-<span class="sourceLineNo">352</span><a name="line.352"></a>
-<span class="sourceLineNo">353</span>      @Override<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      public void visitUserQuotas(String userName, TableName table, Quotas quotas) {<a name="line.354"></a>
-<span class="sourceLineNo">355</span>        quotaSettings.addAll(QuotaSettingsFactory.fromUserQuotas(userName, table, quotas));<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      }<a name="line.356"></a>
-<span class="sourceLineNo">357</span><a name="line.357"></a>
-<span class="sourceLineNo">358</span>      @Override<a name="line.358"></a>
-<span class="sourceLineNo">359</span>      public void visitUserQuotas(String userName, String namespace, Quotas quotas) {<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        quotaSettings.addAll(QuotaSettingsFactory.fromUserQuotas(userName, namespace, quotas));<a name="line.360"></a>
-<span class="sourceLineNo">361</span>      }<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>      @Override<a name="line.363"></a>
-<span class="sourceLineNo">364</span>      public void visitTableQuotas(TableName tableName, Quotas quotas) {<a name="line.364"></a>
-<span class="sourceLineNo">365</span>        quotaSettings.addAll(QuotaSettingsFactory.fromTableQuotas(tableName, quotas));<a name="line.365"></a>
-<span class="sourceLineNo">366</span>      }<a name="line.366"></a>
-<span class="sourceLineNo">367</span><a name="line.367"></a>
-<span class="sourceLineNo">368</span>      @Override<a name="line.368"></a>
-<span class="sourceLineNo">369</span>      public void visitNamespaceQuotas(String namespace, Quotas quotas) {<a name="line.369"></a>
-<span class="sourceLineNo">370</span>        quotaSettings.addAll(QuotaSettingsFactory.fromNamespaceQuotas(namespace, quotas));<a name="line.370"></a>
-<span class="sourceLineNo">371</span>      }<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    });<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  }<a name="line.373"></a>
-<span class="sourceLineNo">374</span><a name="line.374"></a>
-<span class="sourceLineNo">375</span>  public static void parseNamespaceResult(final Result result,<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      final NamespaceQuotasVisitor visitor) throws IOException {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    String namespace = getNamespaceFromRowKey(result.getRow());<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    parseNamespaceResult(namespace, result, visitor);<a name="line.378"></a>
-<span class="sourceLineNo">379</span>  }<a name="line.379"></a>
-<span class="sourceLineNo">380</span><a name="line.380"></a>
-<span class="sourceLineNo">381</span>  protected static void parseNamespaceResult(final String namespace, final Result result,<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      final NamespaceQuotasVisitor visitor) throws IOException {<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    byte[] data = result.getValue(QUOTA_FAMILY_INFO, QUOTA_QUALIFIER_SETTINGS);<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    if (data != null) {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>      Quotas quotas = quotasFromData(data);<a name="line.385"></a>
-<span class="sourceLineNo">386</span>      visitor.visitNamespaceQuotas(namespace, quotas);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    }<a name="line.387"></a>
-<span class="sourceLineNo">388</span>  }<a name="line.388"></a>
-<span class="sourceLineNo">389</span><a name="line.389"></a>
-<span class="sourceLineNo">390</span>  public static void parseTableResult(final Result result, final TableQuotasVisitor visitor)<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      throws IOException {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    TableName table = getTableFromRowKey(result.getRow());<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    parseTableResult(table, result, visitor);<a name="line.393"></a>
-<span class="sourceLineNo">394</span>  }<a name="line.394"></a>
-<span class="sourceLineNo">395</span><a name="line.395"></a>
-<span class="sourceLineNo">396</span>  protected static void parseTableResult(final TableName table, final Result result,<a name="line.396"></a>
-<span class="sourceLineNo">397</span>      final TableQuotasVisitor visitor) throws IOException {<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    byte[] data = result.getValue(QUOTA_FAMILY_INFO, QUOTA_QUALIFIER_SETTINGS);<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    if (data != null) {<a name="line.399"></a>
-<span class="sourceLineNo">400</span>      Quotas quotas = quotasFromData(data);<a name="line.400"></a>
-<span class="sourceLineNo">401</span>      visitor.visitTableQuotas(table, quotas);<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    }<a name="line.402"></a>
-<span class="sourceLineNo">403</span>  }<a name="line.403"></a>
-<span class="sourceLineNo">404</span><a name="line.404"></a>
-<span class="sourceLineNo">405</span>  public static void parseUserResult(final Result result, final UserQuotasVisitor visitor)<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      throws IOException {<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    String userName = getUserFromRowKey(result.getRow());<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    parseUserResult(userName, result, visitor);<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  }<a name="line.409"></a>
-<span class="sourceLineNo">410</span><a name="line.410"></a>
-<span class="sourceLineNo">411</span>  protected static void parseUserResult(final String userName, final Result result,<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      final UserQuotasVisitor visitor) throws IOException {<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    Map&lt;byte[], byte[]&gt; familyMap = result.getFamilyMap(QUOTA_FAMILY_INFO);<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    if (familyMap == null || familyMap.isEmpty()) return;<a name="line.414"></a>
-<span class="sourceLineNo">415</span><a name="line.415"></a>
-<span class="sourceLineNo">416</span>    for (Map.Entry&lt;byte[], byte[]&gt; entry: familyMap.entrySet()) {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      Quotas quotas = quotasFromData(entry.getValue());<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      if (Bytes.startsWith(entry.getKey(), QUOTA_QUALIFIER_SETTINGS_PREFIX)) {<a name="line.418"></a>
-<span class="sourceLineNo">419</span>        String name = Bytes.toString(entry.getKey(), QUOTA_QUALIFIER_SETTINGS_PREFIX.length);<a name="line.419"></a>
-<span class="sourceLineNo">420</span>        if (name.charAt(name.length() - 1) == TableName.NAMESPACE_DELIM) {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>          String namespace = name.substring(0, name.length() - 1);<a name="line.421"></a>
-<span class="sourceLineNo">422</span>          visitor.visitUserQuotas(userName, namespace, quotas);<a name="line.422"></a>
-<span class="sourceLineNo">423</span>        } else {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>          TableName table = TableName.valueOf(name);<a name="line.424"></a>
-<span class="sourceLineNo">425</span>          visitor.visitUserQuotas(userName, table, quotas);<a name="line.425"></a>
-<span class="sourceLineNo">426</span>        }<a name="line.426"></a>
-<span class="sourceLineNo">427</span>      } else if (Bytes.equals(entry.getKey(), QUOTA_QUALIFIER_SETTINGS)) {<a name="line.427"></a>
-<span class="sourceLineNo">428</span>        visitor.visitUserQuotas(userName, quotas);<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      }<a name="line.429"></a>
-<span class="sourceLineNo">430</span>    }<a name="line.430"></a>
-<span class="sourceLineNo">431</span>  }<a name="line.431"></a>
-<span class="sourceLineNo">432</span><a name="line.432"></a>
-<span class="sourceLineNo">433</span>  /**<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * Creates a {@link Put} to store the given {@code snapshot} for the given {@code tableName} in<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   * the quota table.<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   */<a name="line.436"></a>
-<span class="sourceLineNo">437</span>  static Put createPutForSpaceSnapshot(TableName tableName, SpaceQuotaSnapshot snapshot) {<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    Put p = new Put(getTableRowKey(tableName));<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    p.addColumn(<a name="line.439"></a>
-<span class="sourceLineNo">440</span>        QUOTA_FAMILY_USAGE, QUOTA_QUALIFIER_POLICY,<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        SpaceQuotaSnapshot.toProtoSnapshot(snapshot).toByteArray());<a name="line.441"></a>
-<span class="sourceLineNo">442</span>    return p;<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>  /**<a name="line.445"></a>
-<span class="sourceLineNo">446</span>   * Creates a {@link Get} for the HBase snapshot's size against the given table.<a name="line.446"></a>
-<span class="sourceLineNo">447</span>   */<a name="line.447"></a>
-<span class="sourceLineNo">448</span>  static Get makeGetForSnapshotSize(TableName tn, String snapshot) {<a name="line.448"></a>
-<span class="sourceLineNo">449</span>    Get g = new Get(Bytes.add(QUOTA_TABLE_ROW_KEY_PREFIX, Bytes.toBytes(tn.toString())));<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    g.addColumn(<a name="line.450"></a>
-<span class="sourceLineNo">451</span>        QUOTA_FAMILY_USAGE,<a name="line.451"></a>
-<span class="sourceLineNo">452</span>        Bytes.add(QUOTA_SNAPSHOT_SIZE_QUALIFIER, Bytes.toBytes(snapshot)));<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    return g;<a name="line.453"></a>
-<span class="sourceLineNo">454</span>  }<a name="line.454"></a>
-<span class="sourceLineNo">455</span><a name="line.455"></a>
-<span class="sourceLineNo">456</span>  /**<a name="line.456"></a>
-<span class="sourceLineNo">457</span>   * Creates a {@link Put} to persist the current size of the {@code snapshot} with respect to<a name="line.457"></a>
-<span class="sourceLineNo">458</span>   * the given {@code table}.<a name="line.458"></a>
-<span class="sourceLineNo">459</span>   */<a name="line.459"></a>
-<span class="sourceLineNo">460</span>  static Put createPutForSnapshotSize(TableName tableName, String snapshot, long size) {<a name="line.460"></a>
-<span class="sourceLineNo">461</span>    // We just need a pb message with some `long usage`, so we can just reuse the<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    // SpaceQuotaSnapshot message instead of creating a new one.<a name="line.462"></a>
-<span class="sourceLineNo">463</span>    Put p = new Put(getTableRowKey(tableName));<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    p.addColumn(QUOTA_FAMILY_USAGE, getSnapshotSizeQualifier(snapshot),<a name="line.464"></a>
-<span class="sourceLineNo">465</span>        org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuotaSnapshot<a name="line.465"></a>
-<span class="sourceLineNo">466</span>            .newBuilder().setQuotaUsage(size).build().toByteArray());<a name="line.466"></a>
-<span class="sourceLineNo">467</span>    return p;<a name="line.467"></a>
-<span class="sourceLineNo">468</span>  }<a name="line.468"></a>
-<span class="sourceLineNo">469</span><a name="line.469"></a>
-<span class="sourceLineNo">470</span>  /**<a name="line.470"></a>
-<span class="sourceLineNo">471</span>   * Creates a {@code Put} for the namespace's total snapshot size.<a name="line.471"></a>
-<span class="sourceLineNo">472</span>   */<a name="line.472"></a>
-<span class="sourceLineNo">473</span>  static Put createPutForNamespaceSnapshotSize(String namespace, long size) {<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    Put p = new Put(getNamespaceRowKey(namespace));<a name="line.474"></a>
-<span class="sourceLineNo">475</span>    p.addColumn(QUOTA_FAMILY_USAGE, QUOTA_SNAPSHOT_SIZE_QUALIFIER,<a name="line.475"></a>
-<span class="sourceLineNo">476</span>        org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuotaSnapshot<a name="line.476"></a>
-<span class="sourceLineNo">477</span>            .newBuilder().setQuotaUsage(size).build().toByteArray());<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    return p;<a name="line.478"></a>
-<span class="sourceLineNo">479</span>  }<a name="line.479"></a>
-<span class="sourceLineNo">480</span><a name="line.480"></a>
-<span class="sourceLineNo">481</span>  /**<a name="line.481"></a>
-<span class="sourceLineNo">482</span>   * Fetches the computed size of all snapshots against tables in a namespace for space quotas.<a name="line.482"></a>
-<span class="sourceLineNo">483</span>   */<a name="line.483"></a>
-<span class="sourceLineNo">484</span>  static long getNamespaceSnapshotSize(<a name="line.484"></a>
-<span class="sourceLineNo">485</span>      Connection conn, String namespace) throws IOException {<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    try (Table quotaTable = conn.getTable(QuotaTableUtil.QUOTA_TABLE_NAME)) {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      Result r = quotaTable.get(createGetNamespaceSnapshotSize(namespace));<a name="line.487"></a>
-<span class="sourceLineNo">488</span>      if (r.isEmpty()) {<a name="line.488"></a>
-<span class="sourceLineNo">489</span>        return 0L;<a name="line.489"></a>
-<span class="sourceLineNo">490</span>      }<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      r.advance();<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      return parseSnapshotSize(r.current());<a name="line.492"></a>
-<span class="sourceLineNo">493</span>    } catch (InvalidProtocolBufferException e) {<a name="line.493"></a>
-<span class="sourceLineNo">494</span>      throw new IOException("Could not parse snapshot size value for namespace " + namespace, e);<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    }<a name="line.495"></a>
-<span class="sourceLineNo">496</span>  }<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>  /**<a name="line.498"></a>
-<span class="sourceLineNo">499</span>   * Creates a {@code Get} to fetch the namespace's total snapshot size.<a name="line.499"></a>
-<span class="sourceLineNo">500</span>   */<a name="line.500"></a>
-<span class="sourceLineNo">501</span>  static Get createGetNamespaceSnapshotSize(String namespace) {<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    Get g = new Get(getNamespaceRowKey(namespace));<a name="line.502"></a>
-<span class="sourceLineNo">503</span>    g.addColumn(QUOTA_FAMILY_USAGE, QUOTA_SNAPSHOT_SIZE_QUALIFIER);<a name="line.503"></a>
-<span class="sourceLineNo">504</span>    return g;<a name="line.504"></a>
-<span class="sourceLineNo">505</span>  }<a name="line.505"></a>
-<span class="sourceLineNo">506</span><a name="line.506"></a>
-<span class="sourceLineNo">507</span>  /**<a name="line.507"></a>
-<span class="sourceLineNo">508</span>   * Parses the snapshot size from the given Cell's value.<a name="line.508"></a>
-<span class="sourceLineNo">509</span>   */<a name="line.509"></a>
-<span class="sourceLineNo">510</span>  static long parseSnapshotSize(Cell c) throws InvalidProtocolBufferException {<a name="line.510"></a>
-<span class="sourceLineNo">511</span>    ByteString bs = UnsafeByteOperations.unsafeWrap(<a name="line.511"></a>
-<span class="sourceLineNo">512</span>        c.getValueArray(), c.getValueOffset(), c.getValueLength());<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    return QuotaProtos.SpaceQuotaSnapshot.parseFrom(bs).getQuotaUsage();<a name="line.513"></a>
-<span class="sourceLineNo">514</span>  }<a name="line.514"></a>
-<span class="sourceLineNo">515</span><a name="line.515"></a>
-<span class="sourceLineNo">516</span>  static Scan createScanForSnapshotSizes(TableName table) {<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    byte[] rowkey = getTableRowKey(table);<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    return new Scan()<a name="line.518"></a>
-<span class="sourceLineNo">519</span>        // Fetch just this one row<a name="line.519"></a>
-<span class="sourceLineNo">520</span>        .withStartRow(rowkey)<a name="line.520"></a>
-<span class="sourceLineNo">521</span>        .withStopRow(rowkey, true)<a name="line.521"></a>
-<span class="sourceLineNo">522</span>        // Just the usage family<a name="line.522"></a>
-<span class="sourceLineNo">523</span>        .addFamily(QUOTA_FAMILY_USAGE)<a name="line.523"></a>
-<span class="sourceLineNo">524</span>        // Only the snapshot size qualifiers<a name="line.524"></a>
-<span class="sourceLineNo">525</span>        .setFilter(new ColumnPrefixFilter(QUOTA_SNAPSHOT_SIZE_QUALIFIER));<a name="line.525"></a>
-<span class="sourceLineNo">526</span>  }<a name="line.526"></a>
-<span class="sourceLineNo">527</span><a name="line.527"></a>
-<span class="sourceLineNo">528</span>  /* =========================================================================<a name="line.528"></a>
-<span class="sourceLineNo">529</span>   *  Space quota status RPC helpers<a name="line.529"></a>
-<span class="sourceLineNo">530</span>   */<a name="line.530"></a>
-<span class="sourceLineNo">531</span>  /**<a name="line.531"></a>
-<span class="sourceLineNo">532</span>   * Fetches the table sizes on the filesystem as tracked by the HBase Master.<a name="line.532"></a>
-<span class="sourceLineNo">533</span>   */<a name="line.533"></a>
-<span class="sourceLineNo">534</span>  public static Map&lt;TableName,Long&gt; getMasterReportedTableSizes(<a name="line.534"></a>
-<span class="sourceLineNo">535</span>      Connection conn) throws IOException {<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    if (!(conn instanceof ClusterConnection)) {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      throw new IllegalArgumentException("Expected a ClusterConnection");<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    }<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    ClusterConnection clusterConn = (ClusterConnection) conn;<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    GetSpaceQuotaRegionSizesResponse response = QuotaStatusCalls.getMasterRegionSizes(<a name="line.540"></a>
-<span class="sourceLineNo">541</span>        clusterConn, 0);<a name="line.541"></a>
-<span class="sourceLineNo">542</span>    Map&lt;TableName,Long&gt; tableSizes = new HashMap&lt;&gt;();<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    for (RegionSizes sizes : response.getSizesList()) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>      TableName tn = ProtobufUtil.toTableName(sizes.getTableName());<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      tableSizes.put(tn, sizes.getSize());<a name="line.545"></a>
-<span class="sourceLineNo">546</span>    }<a name="line.546"></a>
-<span class="sourceLineNo">547</span>    return tableSizes;<a name="line.547"></a>
-<span class="sourceLineNo">548</span>  }<a name="line.548"></a>
-<span class="sourceLineNo">549</span><a name="line.549"></a>
-<span class="sourceLineNo">550</span>  /**<a name="line.550"></a>
-<span class="sourceLineNo">551</span>   * Fetches the observed {@link SpaceQuotaSnapshot}s observed by a RegionServer.<a name="line.551"></a>
-<span class="sourceLineNo">552</span>   */<a name="line.552"></a>
-<span class="sourceLineNo">553</span>  public static Map&lt;TableName,SpaceQuotaSnapshot&gt; getRegionServerQuotaSnapshots(<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      Connection conn, ServerName regionServer) throws IOException {<a name="line.554"></a>
-<span class="sourceLineNo">555</span>    if (!(conn instanceof ClusterConnection)) {<a name="line.555"></a>
-<span class="sourceLineNo">556</span>      throw new IllegalArgumentException("Expected a ClusterConnection");<a name="line.556"></a>
-<span class="sourceLineNo">557</span>    }<a name="line.557"></a>
-<span class="sourceLineNo">558</span>    ClusterConnection clusterConn = (ClusterConnection) conn;<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    GetSpaceQuotaSnapshotsResponse response = QuotaStatusCalls.getRegionServerQuotaSnapshot(<a name="line.559"></a>
-<span class="sourceLineNo">560</span>        clusterConn, 0, regionServer);<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    Map&lt;TableName,SpaceQuotaSnapshot&gt; snapshots = new HashMap&lt;&gt;();<a name="line.561"></a>
-<span class="sourceLineNo">562</span>    for (TableQuotaSnapshot snapshot : response.getSnapshotsList()) {<a name="line.562"></a>
-<span class="sourceLineNo">563</span>      snapshots.put(<a name="line.563"></a>
-<span class="sourceLineNo">564</span>          ProtobufUtil.toTableName(snapshot.getTableName()),<a name="line.564"></a>
-<span class="sourceLineNo">565</span>          SpaceQuotaSnapshot.toSpaceQuotaSnapshot(snapshot.getSnapshot()));<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    }<a name="line.566"></a>
-<span class="sourceLineNo">567</span>    return snapshots;<a name="line.567"></a>
-<span class="sourceLineNo">568</span>  }<a name="line.568"></a>
-<span class="sourceLineNo">569</span><a name="line.569"></a>
-<span class="sourceLineNo">570</span>  /**<a name="line.570"></a>
-<span class="sourceLineNo">571</span>   * Returns the Master's view of a quota on the given {@code tableName} or null if the<a name="line.571"></a>
-<span class="sourceLineNo">572</span>   * Master has no quota information on that table.<a name="line.572"></a>
-<span class="sourceLineNo">573</span>   */<a name="line.573"></a>
-<span class="sourceLineNo">574</span>  public static SpaceQuotaSnapshot getCurrentSnapshot(<a name="line.574"></a>
-<span class="sourceLineNo">575</span>      Connection conn, TableName tn) throws IOException {<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    if (!(conn instanceof ClusterConnection)) {<a name="line.576"></a>
-<span class="sourceLineNo">577</span>      throw new IllegalArgumentException("Expected a ClusterConnection");<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    }<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    ClusterConnection clusterConn = (ClusterConnection) conn;<a name="line.579"></a>
-<span class="sourceLineNo">580</span>    GetQuotaStatesResponse resp = QuotaStatusCalls.getMasterQuotaStates(clusterConn, 0);<a name="line.580"></a>
-<span class="sourceLineNo">581</span>    HBaseProtos.TableName protoTableName = ProtobufUtil.toProtoTableName(tn);<a name="line.581"></a>
-<span class="sourceLineNo">582</span>    for (GetQuotaStatesResponse.TableQuotaSnapshot tableSnapshot : resp.getTableSnapshotsList()) {<a name="line.582"></a>
-<span class="sourceLineNo">583</span>      if (protoTableName.equals(tableSnapshot.getTableName())) {<a name="line.583"></a>
-<span class="sourceLineNo">584</span>        return SpaceQuotaSnapshot.toSpaceQuotaSnapshot(tableSnapshot.getSnapshot());<a name="line.584"></a>
-<span class="sourceLineNo">585</span>      }<a name="line.585"></a>
-<span class="sourceLineNo">586</span>    }<a name="line.586"></a>
-<span class="sourceLineNo">587</span>    return null;<a name="line.587"></a>
-<span class="sourceLineNo">588</span>  }<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span>  /**<a name="line.590"></a>
-<span class="sourceLineNo">591</span>   * Returns the Master's view of a quota on the given {@code namespace} or null if the<a name="line.591"></a>
-<span class="sourceLineNo">592</span>   * Master has no quota information on that namespace.<a name="line.592"></a>
-<span class="sourceLineNo">593</span>   */<a name="line.593"></a>
-<span class="sourceLineNo">594</span>  public static SpaceQuotaSnapshot getCurrentSnapshot(<a name="line.594"></a>
-<span class="sourceLineNo">595</span>      Connection conn, String namespace) throws IOException {<a name="line.595"></a>
-<span class="sourceLineNo">596</span>    if (!(conn instanceof ClusterConnection)) {<a name="line.596"></a>
-<span class="sourceLineNo">597</span>      throw new IllegalArgumentException("Expected a ClusterConnection");<a name="line.597"></a>
-<span class="sourceLineNo">598</span>    }<a name="line.598"></a>
-<span class="sourceLineNo">599</span>    ClusterConnection clusterConn = (ClusterConnection) conn;<a name="line.599"></a>
-<span class="sourceLineNo">600</span>    GetQuotaStatesResponse resp = QuotaStatusCalls.getMasterQuotaStates(clusterConn, 0);<a name="line.600"></a>
-<span class="sourceLineNo">601</span>    for (GetQuotaStatesResponse.NamespaceQuotaSnapshot nsSnapshot : resp.getNsSnapshotsList()) {<a name="line.601"></a>
-<span class="sourceLineNo">602</span>      if (namespace.equals(nsSnapshot.getNamespace())) {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>        return SpaceQuotaSnapshot.toSpaceQuotaSnapshot(nsSnapshot.getSnapshot());<a name="line.603"></a>
-<span class="sourceLineNo">604</span>      }<a name="line.604"></a>
-<span class="sourceLineNo">605</span>    }<a name="line.605"></a>
-<span class="sourceLineNo">606</span>    return null;<a name="line.606"></a>
-<span class="sourceLineNo">607</span>  }<a name="line.607"></a>
-<span class="sourceLineNo">608</span><a name="line.608"></a>
-<span class="sourceLineNo">609</span>  /* =========================================================================<a name="line.609"></a>
-<span class="sourceLineNo">610</span>   *  Quotas protobuf helpers<a name="line.610"></a>
-<span class="sourceLineNo">611</span>   */<a name="line.611"></a>
-<span class="sourceLineNo">612</span>  protected static Quotas quotasFromData(final byte[] data) throws IOException {<a name="line.612"></a>
-<span class="sourceLineNo">613</span>    return quotasFromData(data, 0, data.length);<a name="line.613"></a>
-<span class="sourceLineNo">614</span>  }<a name="line.614"></a>
-<span class="sourceLineNo">615</span><a name="line.615"></a>
-<span class="sourceLineNo">616</span>  protected static Quotas quotasFromData(<a name="line.616"></a>
-<span class="sourceLineNo">617</span>      final byte[] data, int offset, int length) throws IOException {<a name="line.617"></a>
-<span class="sourceLineNo">618</span>    int magicLen = ProtobufMagic.lengthOfPBMagic();<a name="line.618"></a>
-<span class="sourceLineNo">619</span>    if (!ProtobufMagic.isPBMagicPrefix(data, offset, magicLen)) {<a name="line.619"></a>
-<span class="sourceLineNo">620</span>      throw new IOException("Missing pb magic prefix");<a name="line.620"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.ServerName;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.TableName;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.client.ClusterConnection;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.client.Get;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.client.Put;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.client.QuotaStatusCalls;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.client.Result;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.client.ResultScanner;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.client.Table;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.filter.ColumnPrefixFilter;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.filter.CompareFilter;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.filter.Filter;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.filter.FilterList;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.filter.QualifierFilter;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.filter.RegexStringComparator;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.filter.RowFilter;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.protobuf.ProtobufMagic;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.InvalidProtocolBufferException;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.UnsafeByteOperations;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetQuotaStatesResponse;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaRegionSizesResponse;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse.TableQuotaSnapshot;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaRegionSizesResponse.RegionSizes;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.util.Strings;<a name="line.71"></a>
+<span class="sourceLineNo">072</span><a name="line.72"></a>
+<span class="sourceLineNo">073</span>/**<a name="line.73"></a>
+<span class="sourceLineNo">074</span> * Helper class to interact with the quota table.<a name="line.74"></a>
+<span class="sourceLineNo">075</span> * &lt;table&gt;<a name="line.75"></a>
+<span class="sourceLineNo">076</span> *   &lt;tr&gt;&lt;th&gt;ROW-KEY&lt;/th&gt;&lt;th&gt;FAM/QUAL&lt;/th&gt;&lt;th&gt;DATA&lt;/th&gt;&lt;/tr&gt;<a name="line.76"></a>
+<span class="sourceLineNo">077</span> *   &lt;tr&gt;&lt;td&gt;n.&amp;lt;namespace&amp;gt;&lt;/td&gt;&lt;td&gt;q:s&lt;/td&gt;&lt;td&gt;&amp;lt;global-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.77"></a>
+<span class="sourceLineNo">078</span> *   &lt;tr&gt;&lt;td&gt;n.&amp;lt;namespace&amp;gt;&lt;/td&gt;&lt;td&gt;u:p&lt;/td&gt;&lt;td&gt;&amp;lt;namespace-quota policy&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.78"></a>
+<span class="sourceLineNo">079</span> *   &lt;tr&gt;&lt;td&gt;n.&amp;lt;namespace&amp;gt;&lt;/td&gt;&lt;td&gt;u:s&lt;/td&gt;&lt;td&gt;&amp;lt;SpaceQuotaSnapshot&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.79"></a>
+<span class="sourceLineNo">080</span> *   &lt;tr&gt;&lt;td&gt;t.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;q:s&lt;/td&gt;&lt;td&gt;&amp;lt;global-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.80"></a>
+<span class="sourceLineNo">081</span> *   &lt;tr&gt;&lt;td&gt;t.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;u:p&lt;/td&gt;&lt;td&gt;&amp;lt;table-quota policy&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.81"></a>
+<span class="sourceLineNo">082</span> *   &lt;tr&gt;&lt;td&gt;t.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;u:ss.&amp;lt;snapshot name&amp;gt;&lt;/td&gt;&lt;td&gt;&amp;lt;SpaceQuotaSnapshot&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.82"></a>
+<span class="sourceLineNo">083</span> *   &lt;tr&gt;&lt;td&gt;u.&amp;lt;user&amp;gt;&lt;/td&gt;&lt;td&gt;q:s&lt;/td&gt;&lt;td&gt;&amp;lt;global-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.83"></a>
+<span class="sourceLineNo">084</span> *   &lt;tr&gt;&lt;td&gt;u.&amp;lt;user&amp;gt;&lt;/td&gt;&lt;td&gt;q:s.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;&amp;lt;table-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.84"></a>
+<span class="sourceLineNo">085</span> *   &lt;tr&gt;&lt;td&gt;u.&amp;lt;user&amp;gt;&lt;/td&gt;&lt;td&gt;q:s.&amp;lt;ns&amp;gt;&lt;/td&gt;&lt;td&gt;&amp;lt;namespace-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.85"></a>
+<span class="sourceLineNo">086</span> * &lt;/table<a name="line.86"></a>
+<span class="sourceLineNo">087</span> */<a name="line.87"></a>
+<span class="sourceLineNo">088</span>@InterfaceAudience.Private<a name="line.88"></a>
+<span class="sourceLineNo">089</span>@InterfaceStability.Evolving<a name="line.89"></a>
+<span class="sourceLineNo">090</span>public class QuotaTableUtil {<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  private static final Log LOG = LogFactory.getLog(QuotaTableUtil.class);<a name="line.91"></a>
+<span class="sourceLineNo">092</span><a name="line.92"></a>
+<span class="sourceLineNo">093</span>  /** System table for quotas */<a name="line.93"></a>
+<span class="sourceLineNo">094</span>  public static final TableName QUOTA_TABLE_NAME =<a name="line.94"></a>
+<span class="sourceLineNo">095</span>      TableName.valueOf(NamespaceDescriptor.SYSTEM_NAMESPACE_NAME_STR, "quota");<a name="line.95"></a>
+<span class="sourceLineNo">096</span><a name="line.96"></a>
+<span class="sourceLineNo">097</span>  protected static final byte[] QUOTA_FAMILY_INFO = Bytes.toBytes("q");<a name="line.97"></a>
+<span class="sourceLineNo">098</span>  protected static final byte[] QUOTA_FAMILY_USAGE = Bytes.toBytes("u");<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  protected static final byte[] QUOTA_QUALIFIER_SETTINGS = Bytes.toBytes("s");<a name="line.99"></a>
+<span class="sourceLineNo">100</span>  protected static final byte[] QUOTA_QUALIFIER_SETTINGS_PREFIX = Bytes.toBytes("s.");<a name="line.100"></a>
+<span class="sourceLineNo">101</span>  protected static final byte[] QUOTA_QUALIFIER_POLICY = Bytes.toBytes("p");<a name="line.101"></a>
+<span class="sourceLineNo">102</span>  protected static final byte[] QUOTA_SNAPSHOT_SIZE_QUALIFIER = Bytes.toBytes("ss");<a name="line.102"></a>
+<span class="sourceLineNo">103</span>  protected static final String QUOTA_POLICY_COLUMN =<a name="line.103"></a>
+<span class="sourceLineNo">104</span>      Bytes.toString(QUOTA_FAMILY_USAGE) + ":" + Bytes.toString(QUOTA_QUALIFIER_POLICY);<a name="line.104"></a>
+<span class="sourceLineNo">105</span>  protected static final byte[] QUOTA_USER_ROW_KEY_PREFIX = Bytes.toBytes("u.");<a name="line.105"></a>
+<span class="sourceLineNo">106</span>  protected static final byte[] QUOTA_TABLE_ROW_KEY_PREFIX = Bytes.toBytes("t.");<a name="line.106"></a>
+<span class="sourceLineNo">107</span>  protected static final byte[] QUOTA_NAMESPACE_ROW_KEY_PREFIX = Bytes.toBytes("n.");<a name="line.107"></a>
+<span class="sourceLineNo">108</span><a name="line.108"></a>
+<span class="sourceLineNo">109</span>  /* =========================================================================<a name="line.109"></a>
+<span class="sourceLineNo">110</span>   *  Quota "settings" helpers<a name="line.110"></a>
+<span class="sourceLineNo">111</span>   */<a name="line.111"></a>
+<span class="sourceLineNo">112</span>  public static Quotas getTableQuota(final Connection connection, final TableName table)<a name="line.112"></a>
+<span class="sourceLineNo">113</span>      throws IOException {<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    return getQuotas(connection, getTableRowKey(table));<a name="line.114"></a>
+<span class="sourceLineNo">115</span>  }<a name="line.115"></a>
+<span class="sourceLineNo">116</span><a name="line.116"></a>
+<span class="sourceLineNo">117</span>  public static Quotas getNamespaceQuota(final Connection connection, final String namespace)<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      throws IOException {<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    return getQuotas(connection, getNamespaceRowKey(namespace));<a name="line.119"></a>
+<span class="sourceLineNo">120</span>  }<a name="line.120"></a>
+<span class="sourceLineNo">121</span><a name="line.121"></a>
+<span class="sourceLineNo">122</span>  public static Quotas getUserQuota(final Connection connection, final String user)<a name="line.122"></a>
+<span class="sourceLineNo">123</span>      throws IOException {<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    return getQuotas(connection, getUserRowKey(user));<a name="line.124"></a>
+<span class="sourceLineNo">125</span>  }<a name="line.125"></a>
+<span class="sourceLineNo">126</span><a name="line.126"></a>
+<span class="sourceLineNo">127</span>  public static Quotas getUserQuota(final Connection connection, final String user,<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      final TableName table) throws IOException {<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    return getQuotas(connection, getUserRowKey(user), getSettingsQualifierForUserTable(table));<a name="line.129"></a>
+<span class="sourceLineNo">130</span>  }<a name="line.130"></a>
+<span class="sourceLineNo">131</span><a name="line.131"></a>
+<span class="sourceLineNo">132</span>  public static Quotas getUserQuota(final Connection connection, final String user,<a name="line.132"></a>
+<span class="sourceLineNo">133</span>      final String namespace) throws IOException {<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    return getQuotas(connection, getUserRowKey(user),<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      getSettingsQualifierForUserNamespace(namespace));<a name="line.135"></a>
+<span class="sourceLineNo">136</span>  }<a name="line.136"></a>
+<span class="sourceLineNo">137</span><a name="line.137"></a>
+<span class="sourceLineNo">138</span>  private static Quotas getQuotas(final Connection connection, final byte[] rowKey)<a name="line.138"></a>
+<span class="sourceLineNo">139</span>      throws IOException {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    return getQuotas(connection, rowKey, QUOTA_QUALIFIER_SETTINGS);<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  }<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span>  private static Quotas getQuotas(final Connection connection, final byte[] rowKey,<a name="line.143"></a>
+<span class="sourceLineNo">144</span>      final byte[] qualifier) throws IOException {<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    Get get = new Get(rowKey);<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    get.addColumn(QUOTA_FAMILY_INFO, qualifier);<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    Result result = doGet(connection, get);<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    if (result.isEmpty()) {<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      return null;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    }<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    return quotasFromData(result.getValue(QUOTA_FAMILY_INFO, qualifier));<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  }<a name="line.152"></a>
+<span class="sourceLineNo">153</span><a name="line.153"></a>
+<span class="sourceLineNo">154</span>  public static Get makeGetForTableQuotas(final TableName table) {<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    Get get = new Get(getTableRowKey(table));<a name="line.155"></a>
+<span class="sourceLineNo">156</span>    get.addFamily(QUOTA_FAMILY_INFO);<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    return get;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>  }<a name="line.158"></a>
+<span class="sourceLineNo">159</span><a name="line.159"></a>
+<span class="sourceLineNo">160</span>  public static Get makeGetForNamespaceQuotas(final String namespace) {<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    Get get = new Get(getNamespaceRowKey(namespace));<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    get.addFamily(QUOTA_FAMILY_INFO);<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    return get;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>  }<a name="line.164"></a>
+<span class="sourceLineNo">165</span><a name="line.165"></a>
+<span class="sourceLineNo">166</span>  public static Get makeGetForUserQuotas(final String user, final Iterable&lt;TableName&gt; tables,<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      final Iterable&lt;String&gt; namespaces) {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    Get get = new Get(getUserRowKey(user));<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    get.addColumn(QUOTA_FAMILY_INFO, QUOTA_QUALIFIER_SETTINGS);<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    for (final TableName table: tables) {<a name="line.170"></a>
+<span class="sourceLineNo">171</span>      get.addColumn(QUOTA_FAMILY_INFO, getSettingsQualifierForUserTable(table));<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    }<a name="line.172"></a>
+<span class="sourceLineNo">173</span>    for (final String ns: namespaces) {<a name="line.173"></a>
+<span class="sourceLineNo">174</span>      get.addColumn(QUOTA_FAMILY_INFO, getSettingsQualifierForUserNamespace(ns));<a name="line.174"></a>
+<span class="sourceLineNo">175</span>    }<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    return get;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>  }<a name="line.177"></a>
+<span class="sourceLineNo">178</span><a name="line.178"></a>
+<span class="sourceLineNo">179</span>  public static Scan makeScan(final QuotaFilter filter) {<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    Scan scan = new Scan();<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    scan.addFamily(QUOTA_FAMILY_INFO);<a name="line.181"></a>
+<span class="sourceLineNo">182</span>    if (filter != null &amp;&amp; !filter.isNull()) {<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      scan.setFilter(makeFilter(filter));<a name="line.183"></a>
+<span class="sourceLineNo">184</span>    }<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    return scan;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>  }<a name="line.186"></a>
+<span class="sourceLineNo">187</span><a name="line.187"></a>
+<span class="sourceLineNo">188</span>  /**<a name="line.188"></a>
+<span class="sourceLineNo">189</span>   * converts quotafilter to serializeable filterlists.<a name="line.189"></a>
+<span class="sourceLineNo">190</span>   */<a name="line.190"></a>
+<span class="sourceLineNo">191</span>  public static Filter makeFilter(final QuotaFilter filter) {<a name="line.191"></a>
+<span class="sourceLineNo">192</span>    FilterList filterList = new FilterList(FilterList.Operator.MUST_PASS_ALL);<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    if (!Strings.isEmpty(filter.getUserFilter())) {<a name="line.193"></a>
+<span class="sourceLineNo">194</span>      FilterList userFilters = new FilterList(FilterList.Operator.MUST_PASS_ONE);<a name="line.194"></a>
+<span class="sourceLineNo">195</span>      boolean hasFilter = false;<a name="line.195"></a>
+<span class="sourceLineNo">196</span><a name="line.196"></a>
+<span class="sourceLineNo">197</span>      if (!Strings.isEmpty(filter.getNamespaceFilter())) {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>        FilterList nsFilters = new FilterList(FilterList.Operator.MUST_PASS_ALL);<a name="line.198"></a>
+<span class="sourceLineNo">199</span>        nsFilters.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.199"></a>
+<span class="sourceLineNo">200</span>            new RegexStringComparator(getUserRowKeyRegex(filter.getUserFilter()), 0)));<a name="line.200"></a>
+<span class="sourceLineNo">201</span>        nsFilters.addFilter(new QualifierFilter(CompareFilter.CompareOp.EQUAL,<a name="line.201"></a>
+<span class="sourceLineNo">202</span>            new RegexStringComparator(<a name="line.202"></a>
+<span class="sourceLineNo">203</span>              getSettingsQualifierRegexForUserNamespace(filter.getNamespaceFilter()), 0)));<a name="line.203"></a>
+<span class="sourceLineNo">204</span>        userFilters.addFilter(nsFilters);<a name="line.204"></a>
+<span class="sourceLineNo">205</span>        hasFilter = true;<a name="line.205"></a>
+<span class="sourceLineNo">206</span>      }<a name="line.206"></a>
+<span class="sourceLineNo">207</span>      if (!Strings.isEmpty(filter.getTableFilter())) {<a name="line.207"></a>
+<span class="sourceLineNo">208</span>        FilterList tableFilters = new FilterList(FilterList.Operator.MUST_PASS_ALL);<a name="line.208"></a>
+<span class="sourceLineNo">209</span>        tableFilters.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.209"></a>
+<span class="sourceLineNo">210</span>            new RegexStringComparator(getUserRowKeyRegex(filter.getUserFilter()), 0)));<a name="line.210"></a>
+<span class="sourceLineNo">211</span>        tableFilters.addFilter(new QualifierFilter(CompareFilter.CompareOp.EQUAL,<a name="line.211"></a>
+<span class="sourceLineNo">212</span>            new RegexStringComparator(<a name="line.212"></a>
+<span class="sourceLineNo">213</span>              getSettingsQualifierRegexForUserTable(filter.getTableFilter()), 0)));<a name="line.213"></a>
+<span class="sourceLineNo">214</span>        userFilters.addFilter(tableFilters);<a name="line.214"></a>
+<span class="sourceLineNo">215</span>        hasFilter = true;<a name="line.215"></a>
+<span class="sourceLineNo">216</span>      }<a name="line.216"></a>
+<span class="sourceLineNo">217</span>      if (!hasFilter) {<a name="line.217"></a>
+<span class="sourceLineNo">218</span>        userFilters.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.218"></a>
+<span class="sourceLineNo">219</span>            new RegexStringComparator(getUserRowKeyRegex(filter.getUserFilter()), 0)));<a name="line.219"></a>
+<span class="sourceLineNo">220</span>      }<a name="line.220"></a>
+<span class="sourceLineNo">221</span><a name="line.221"></a>
+<span class="sourceLineNo">222</span>      filterList.addFilter(userFilters);<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    } else if (!Strings.isEmpty(filter.getTableFilter())) {<a name="line.223"></a>
+<span class="sourceLineNo">224</span>      filterList.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.224"></a>
+<span class="sourceLineNo">225</span>          new RegexStringComparator(getTableRowKeyRegex(filter.getTableFilter()), 0)));<a name="line.225"></a>
+<span class="sourceLineNo">226</span>    } else if (!Strings.isEmpty(filter.getNamespaceFilter())) {<a name="line.226"></a>
+<span class="sourceLineNo">227</span>      filterList.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.227"></a>
+<span class="sourceLineNo">228</span>          new RegexStringComparator(getNamespaceRowKeyRegex(filter.getNamespaceFilter()), 0)));<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    }<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    return filterList;<a name="line.230"></a>
+<span class="sourceLineNo">231</span>  }<a name="line.231"></a>
+<span class="sourceLineNo">232</span><a name="line.232"></a>
+<span class="sourceLineNo">233</span>  /**<a name="line.233"></a>
+<span class="sourceLineNo">234</span>   * Creates a {@link Scan} which returns only quota snapshots from the quota table.<a name="line.234"></a>
+<span class="sourceLineNo">235</span>   */<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  public static Scan makeQuotaSnapshotScan() {<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    return makeQuotaSnapshotScanForTable(null);<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  }<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
+<span class="sourceLineNo">240</span>  /**<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   * Fetches all {@link SpaceQuotaSnapshot} objects from the {@code hbase:quota} table.<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   *<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   * @param conn The HBase connection<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   * @return A map of table names and their computed snapshot.<a name="line.244"></a>
+<span class="sourceLineNo">245</span>   */<a name="line.245"></a>
+<span class="sourceLineNo">246</span>  public static Map&lt;TableName,SpaceQuotaSnapshot&gt; getSnapshots(Connection conn) throws IOException {<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    Map&lt;TableName,SpaceQuotaSnapshot&gt; snapshots = new HashMap&lt;&gt;();<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    try (Table quotaTable = conn.getTable(QUOTA_TABLE_NAME);<a name="line.248"></a>
+<span class="sourceLineNo">249</span>        ResultScanner rs = quotaTable.getScanner(makeQuotaSnapshotScan())) {<a name="line.249"></a>
+<span class="sourceLineNo">250</span>      for (Result r : rs) {<a name="line.250"></a>
+<span class="sourceLineNo">251</span>        extractQuotaSnapshot(r, snapshots);<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      }<a name="line.252"></a>
+<span class="sourceLineNo">253</span>    }<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    return snapshots;<a name="line.254"></a>
+<span class="sourceLineNo">255</span>  }<a name="line.255"></a>
+<span class="sourceLineNo">256</span><a name="line.256"></a>
+<span class="sourceLineNo">257</span>  /**<a name="line.257"></a>
+<span class="sourceLineNo">258</span>   * Creates a {@link Scan} which returns only {@link SpaceQuotaSnapshot} from the quota table for a<a name="line.258"></a>
+<span class="sourceLineNo">259</span>   * specific table.<a name="line.259"></a>
+<span class="sourceLineNo">260</span>   * @param tn Optionally, a table name to limit the scan's rowkey space. Can be null.<a name="line.260"></a>
+<span class="sourceLineNo">261</span>   */<a name="line.261"></a>
+<span class="sourceLineNo">262</span>  public static Scan makeQuotaSnapshotScanForTable(TableName tn) {<a name="line.262"></a>
+<span class="sourceLineNo">263</span>    Scan s = new Scan();<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    // Limit to "u:v" column<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    s.addColumn(QUOTA_FAMILY_USAGE, QUOTA_QUALIFIER_POLICY);<a name="line.265"></a>
+<span class="sourceLineNo">266</span>    if (null == tn) {<a name="line.266"></a>
+<span class="sourceLineNo">267</span>      s.setRowPrefixFilter(QUOTA_TABLE_ROW_KEY_PREFIX);<a name="line.267"></a>
+<span class="sourceLineNo">268</span>    } else {<a name="line.268"></a>
+<span class="sourceLineNo">269</span>      byte[] row = getTableRowKey(tn);<a name="line.269"></a>
+<span class="sourceLineNo">270</span>      // Limit rowspace to the "t:" prefix<a name="line.270"></a>
+<span class="sourceLineNo">271</span>      s.withStartRow(row, true).withStopRow(row, true);<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    }<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    return s;<a name="line.273"></a>
+<span class="sourceLineNo">274</span>  }<a name="line.274"></a>
+<span class="sourceLineNo">275</span><a name="line.275"></a>
+<span class="sourceLineNo">276</span>  /**<a name="line.276"></a>
+<span class="sourceLineNo">277</span>   * Extracts the {@link SpaceViolationPolicy} and {@link TableName} from the provided<a n

<TRUNCATED>

[17/26] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.NamespaceQuotasVisitor.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.NamespaceQuotasVisitor.html b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.NamespaceQuotasVisitor.html
index 3c6f9b8..7d3deb8 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.NamespaceQuotasVisitor.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.NamespaceQuotasVisitor.html
@@ -39,731 +39,772 @@
 <span class="sourceLineNo">031</span>import org.apache.commons.logging.Log;<a name="line.31"></a>
 <span class="sourceLineNo">032</span>import org.apache.commons.logging.LogFactory;<a name="line.32"></a>
 <span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.Cell;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.ServerName;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.TableName;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.client.ClusterConnection;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.client.Get;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.client.Put;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.client.QuotaStatusCalls;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.client.Result;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.client.ResultScanner;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.client.Table;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.filter.ColumnPrefixFilter;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.filter.CompareFilter;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.filter.Filter;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.filter.FilterList;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.filter.QualifierFilter;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.filter.RegexStringComparator;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.filter.RowFilter;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.protobuf.ProtobufMagic;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.InvalidProtocolBufferException;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.UnsafeByteOperations;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetQuotaStatesResponse;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaRegionSizesResponse;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse.TableQuotaSnapshot;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaRegionSizesResponse.RegionSizes;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.util.Strings;<a name="line.70"></a>
-<span class="sourceLineNo">071</span><a name="line.71"></a>
-<span class="sourceLineNo">072</span>/**<a name="line.72"></a>
-<span class="sourceLineNo">073</span> * Helper class to interact with the quota table.<a name="line.73"></a>
-<span class="sourceLineNo">074</span> * &lt;table&gt;<a name="line.74"></a>
-<span class="sourceLineNo">075</span> *   &lt;tr&gt;&lt;th&gt;ROW-KEY&lt;/th&gt;&lt;th&gt;FAM/QUAL&lt;/th&gt;&lt;th&gt;DATA&lt;/th&gt;&lt;/tr&gt;<a name="line.75"></a>
-<span class="sourceLineNo">076</span> *   &lt;tr&gt;&lt;td&gt;n.&amp;lt;namespace&amp;gt;&lt;/td&gt;&lt;td&gt;q:s&lt;/td&gt;&lt;td&gt;&amp;lt;global-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.76"></a>
-<span class="sourceLineNo">077</span> *   &lt;tr&gt;&lt;td&gt;n.&amp;lt;namespace&amp;gt;&lt;/td&gt;&lt;td&gt;u:p&lt;/td&gt;&lt;td&gt;&amp;lt;namespace-quota policy&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.77"></a>
-<span class="sourceLineNo">078</span> *   &lt;tr&gt;&lt;td&gt;n.&amp;lt;namespace&amp;gt;&lt;/td&gt;&lt;td&gt;u:s&lt;/td&gt;&lt;td&gt;&amp;lt;SpaceQuotaSnapshot&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.78"></a>
-<span class="sourceLineNo">079</span> *   &lt;tr&gt;&lt;td&gt;t.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;q:s&lt;/td&gt;&lt;td&gt;&amp;lt;global-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.79"></a>
-<span class="sourceLineNo">080</span> *   &lt;tr&gt;&lt;td&gt;t.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;u:p&lt;/td&gt;&lt;td&gt;&amp;lt;table-quota policy&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.80"></a>
-<span class="sourceLineNo">081</span> *   &lt;tr&gt;&lt;td&gt;t.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;u:ss.&amp;lt;snapshot name&amp;gt;&lt;/td&gt;&lt;td&gt;&amp;lt;SpaceQuotaSnapshot&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.81"></a>
-<span class="sourceLineNo">082</span> *   &lt;tr&gt;&lt;td&gt;u.&amp;lt;user&amp;gt;&lt;/td&gt;&lt;td&gt;q:s&lt;/td&gt;&lt;td&gt;&amp;lt;global-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.82"></a>
-<span class="sourceLineNo">083</span> *   &lt;tr&gt;&lt;td&gt;u.&amp;lt;user&amp;gt;&lt;/td&gt;&lt;td&gt;q:s.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;&amp;lt;table-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.83"></a>
-<span class="sourceLineNo">084</span> *   &lt;tr&gt;&lt;td&gt;u.&amp;lt;user&amp;gt;&lt;/td&gt;&lt;td&gt;q:s.&amp;lt;ns&amp;gt;&lt;/td&gt;&lt;td&gt;&amp;lt;namespace-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.84"></a>
-<span class="sourceLineNo">085</span> * &lt;/table<a name="line.85"></a>
-<span class="sourceLineNo">086</span> */<a name="line.86"></a>
-<span class="sourceLineNo">087</span>@InterfaceAudience.Private<a name="line.87"></a>
-<span class="sourceLineNo">088</span>@InterfaceStability.Evolving<a name="line.88"></a>
-<span class="sourceLineNo">089</span>public class QuotaTableUtil {<a name="line.89"></a>
-<span class="sourceLineNo">090</span>  private static final Log LOG = LogFactory.getLog(QuotaTableUtil.class);<a name="line.90"></a>
-<span class="sourceLineNo">091</span><a name="line.91"></a>
-<span class="sourceLineNo">092</span>  /** System table for quotas */<a name="line.92"></a>
-<span class="sourceLineNo">093</span>  public static final TableName QUOTA_TABLE_NAME =<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      TableName.valueOf(NamespaceDescriptor.SYSTEM_NAMESPACE_NAME_STR, "quota");<a name="line.94"></a>
-<span class="sourceLineNo">095</span><a name="line.95"></a>
-<span class="sourceLineNo">096</span>  protected static final byte[] QUOTA_FAMILY_INFO = Bytes.toBytes("q");<a name="line.96"></a>
-<span class="sourceLineNo">097</span>  protected static final byte[] QUOTA_FAMILY_USAGE = Bytes.toBytes("u");<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  protected static final byte[] QUOTA_QUALIFIER_SETTINGS = Bytes.toBytes("s");<a name="line.98"></a>
-<span class="sourceLineNo">099</span>  protected static final byte[] QUOTA_QUALIFIER_SETTINGS_PREFIX = Bytes.toBytes("s.");<a name="line.99"></a>
-<span class="sourceLineNo">100</span>  protected static final byte[] QUOTA_QUALIFIER_POLICY = Bytes.toBytes("p");<a name="line.100"></a>
-<span class="sourceLineNo">101</span>  protected static final byte[] QUOTA_SNAPSHOT_SIZE_QUALIFIER = Bytes.toBytes("ss");<a name="line.101"></a>
-<span class="sourceLineNo">102</span>  protected static final String QUOTA_POLICY_COLUMN =<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      Bytes.toString(QUOTA_FAMILY_USAGE) + ":" + Bytes.toString(QUOTA_QUALIFIER_POLICY);<a name="line.103"></a>
-<span class="sourceLineNo">104</span>  protected static final byte[] QUOTA_USER_ROW_KEY_PREFIX = Bytes.toBytes("u.");<a name="line.104"></a>
-<span class="sourceLineNo">105</span>  protected static final byte[] QUOTA_TABLE_ROW_KEY_PREFIX = Bytes.toBytes("t.");<a name="line.105"></a>
-<span class="sourceLineNo">106</span>  protected static final byte[] QUOTA_NAMESPACE_ROW_KEY_PREFIX = Bytes.toBytes("n.");<a name="line.106"></a>
-<span class="sourceLineNo">107</span><a name="line.107"></a>
-<span class="sourceLineNo">108</span>  /* =========================================================================<a name="line.108"></a>
-<span class="sourceLineNo">109</span>   *  Quota "settings" helpers<a name="line.109"></a>
-<span class="sourceLineNo">110</span>   */<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  public static Quotas getTableQuota(final Connection connection, final TableName table)<a name="line.111"></a>
-<span class="sourceLineNo">112</span>      throws IOException {<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    return getQuotas(connection, getTableRowKey(table));<a name="line.113"></a>
-<span class="sourceLineNo">114</span>  }<a name="line.114"></a>
-<span class="sourceLineNo">115</span><a name="line.115"></a>
-<span class="sourceLineNo">116</span>  public static Quotas getNamespaceQuota(final Connection connection, final String namespace)<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      throws IOException {<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    return getQuotas(connection, getNamespaceRowKey(namespace));<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  }<a name="line.119"></a>
-<span class="sourceLineNo">120</span><a name="line.120"></a>
-<span class="sourceLineNo">121</span>  public static Quotas getUserQuota(final Connection connection, final String user)<a name="line.121"></a>
-<span class="sourceLineNo">122</span>      throws IOException {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    return getQuotas(connection, getUserRowKey(user));<a name="line.123"></a>
-<span class="sourceLineNo">124</span>  }<a name="line.124"></a>
-<span class="sourceLineNo">125</span><a name="line.125"></a>
-<span class="sourceLineNo">126</span>  public static Quotas getUserQuota(final Connection connection, final String user,<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      final TableName table) throws IOException {<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    return getQuotas(connection, getUserRowKey(user), getSettingsQualifierForUserTable(table));<a name="line.128"></a>
-<span class="sourceLineNo">129</span>  }<a name="line.129"></a>
-<span class="sourceLineNo">130</span><a name="line.130"></a>
-<span class="sourceLineNo">131</span>  public static Quotas getUserQuota(final Connection connection, final String user,<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      final String namespace) throws IOException {<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    return getQuotas(connection, getUserRowKey(user),<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      getSettingsQualifierForUserNamespace(namespace));<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  }<a name="line.135"></a>
-<span class="sourceLineNo">136</span><a name="line.136"></a>
-<span class="sourceLineNo">137</span>  private static Quotas getQuotas(final Connection connection, final byte[] rowKey)<a name="line.137"></a>
-<span class="sourceLineNo">138</span>      throws IOException {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    return getQuotas(connection, rowKey, QUOTA_QUALIFIER_SETTINGS);<a name="line.139"></a>
-<span class="sourceLineNo">140</span>  }<a name="line.140"></a>
-<span class="sourceLineNo">141</span><a name="line.141"></a>
-<span class="sourceLineNo">142</span>  private static Quotas getQuotas(final Connection connection, final byte[] rowKey,<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      final byte[] qualifier) throws IOException {<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    Get get = new Get(rowKey);<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    get.addColumn(QUOTA_FAMILY_INFO, qualifier);<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    Result result = doGet(connection, get);<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    if (result.isEmpty()) {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>      return null;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    }<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    return quotasFromData(result.getValue(QUOTA_FAMILY_INFO, qualifier));<a name="line.150"></a>
-<span class="sourceLineNo">151</span>  }<a name="line.151"></a>
-<span class="sourceLineNo">152</span><a name="line.152"></a>
-<span class="sourceLineNo">153</span>  public static Get makeGetForTableQuotas(final TableName table) {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    Get get = new Get(getTableRowKey(table));<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    get.addFamily(QUOTA_FAMILY_INFO);<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    return get;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>  }<a name="line.157"></a>
-<span class="sourceLineNo">158</span><a name="line.158"></a>
-<span class="sourceLineNo">159</span>  public static Get makeGetForNamespaceQuotas(final String namespace) {<a name="line.159"></a>
-<span class="sourceLineNo">160</span>    Get get = new Get(getNamespaceRowKey(namespace));<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    get.addFamily(QUOTA_FAMILY_INFO);<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    return get;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>  }<a name="line.163"></a>
-<span class="sourceLineNo">164</span><a name="line.164"></a>
-<span class="sourceLineNo">165</span>  public static Get makeGetForUserQuotas(final String user, final Iterable&lt;TableName&gt; tables,<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      final Iterable&lt;String&gt; namespaces) {<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    Get get = new Get(getUserRowKey(user));<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    get.addColumn(QUOTA_FAMILY_INFO, QUOTA_QUALIFIER_SETTINGS);<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    for (final TableName table: tables) {<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      get.addColumn(QUOTA_FAMILY_INFO, getSettingsQualifierForUserTable(table));<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    }<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    for (final String ns: namespaces) {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      get.addColumn(QUOTA_FAMILY_INFO, getSettingsQualifierForUserNamespace(ns));<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    }<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    return get;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>  }<a name="line.176"></a>
-<span class="sourceLineNo">177</span><a name="line.177"></a>
-<span class="sourceLineNo">178</span>  public static Scan makeScan(final QuotaFilter filter) {<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    Scan scan = new Scan();<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    scan.addFamily(QUOTA_FAMILY_INFO);<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    if (filter != null &amp;&amp; !filter.isNull()) {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>      scan.setFilter(makeFilter(filter));<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    }<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    return scan;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>  }<a name="line.185"></a>
-<span class="sourceLineNo">186</span><a name="line.186"></a>
-<span class="sourceLineNo">187</span>  /**<a name="line.187"></a>
-<span class="sourceLineNo">188</span>   * converts quotafilter to serializeable filterlists.<a name="line.188"></a>
-<span class="sourceLineNo">189</span>   */<a name="line.189"></a>
-<span class="sourceLineNo">190</span>  public static Filter makeFilter(final QuotaFilter filter) {<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    FilterList filterList = new FilterList(FilterList.Operator.MUST_PASS_ALL);<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    if (!Strings.isEmpty(filter.getUserFilter())) {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      FilterList userFilters = new FilterList(FilterList.Operator.MUST_PASS_ONE);<a name="line.193"></a>
-<span class="sourceLineNo">194</span>      boolean hasFilter = false;<a name="line.194"></a>
-<span class="sourceLineNo">195</span><a name="line.195"></a>
-<span class="sourceLineNo">196</span>      if (!Strings.isEmpty(filter.getNamespaceFilter())) {<a name="line.196"></a>
-<span class="sourceLineNo">197</span>        FilterList nsFilters = new FilterList(FilterList.Operator.MUST_PASS_ALL);<a name="line.197"></a>
-<span class="sourceLineNo">198</span>        nsFilters.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.198"></a>
-<span class="sourceLineNo">199</span>            new RegexStringComparator(getUserRowKeyRegex(filter.getUserFilter()), 0)));<a name="line.199"></a>
-<span class="sourceLineNo">200</span>        nsFilters.addFilter(new QualifierFilter(CompareFilter.CompareOp.EQUAL,<a name="line.200"></a>
-<span class="sourceLineNo">201</span>            new RegexStringComparator(<a name="line.201"></a>
-<span class="sourceLineNo">202</span>              getSettingsQualifierRegexForUserNamespace(filter.getNamespaceFilter()), 0)));<a name="line.202"></a>
-<span class="sourceLineNo">203</span>        userFilters.addFilter(nsFilters);<a name="line.203"></a>
-<span class="sourceLineNo">204</span>        hasFilter = true;<a name="line.204"></a>
-<span class="sourceLineNo">205</span>      }<a name="line.205"></a>
-<span class="sourceLineNo">206</span>      if (!Strings.isEmpty(filter.getTableFilter())) {<a name="line.206"></a>
-<span class="sourceLineNo">207</span>        FilterList tableFilters = new FilterList(FilterList.Operator.MUST_PASS_ALL);<a name="line.207"></a>
-<span class="sourceLineNo">208</span>        tableFilters.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.208"></a>
-<span class="sourceLineNo">209</span>            new RegexStringComparator(getUserRowKeyRegex(filter.getUserFilter()), 0)));<a name="line.209"></a>
-<span class="sourceLineNo">210</span>        tableFilters.addFilter(new QualifierFilter(CompareFilter.CompareOp.EQUAL,<a name="line.210"></a>
-<span class="sourceLineNo">211</span>            new RegexStringComparator(<a name="line.211"></a>
-<span class="sourceLineNo">212</span>              getSettingsQualifierRegexForUserTable(filter.getTableFilter()), 0)));<a name="line.212"></a>
-<span class="sourceLineNo">213</span>        userFilters.addFilter(tableFilters);<a name="line.213"></a>
-<span class="sourceLineNo">214</span>        hasFilter = true;<a name="line.214"></a>
-<span class="sourceLineNo">215</span>      }<a name="line.215"></a>
-<span class="sourceLineNo">216</span>      if (!hasFilter) {<a name="line.216"></a>
-<span class="sourceLineNo">217</span>        userFilters.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.217"></a>
-<span class="sourceLineNo">218</span>            new RegexStringComparator(getUserRowKeyRegex(filter.getUserFilter()), 0)));<a name="line.218"></a>
-<span class="sourceLineNo">219</span>      }<a name="line.219"></a>
-<span class="sourceLineNo">220</span><a name="line.220"></a>
-<span class="sourceLineNo">221</span>      filterList.addFilter(userFilters);<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    } else if (!Strings.isEmpty(filter.getTableFilter())) {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>      filterList.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.223"></a>
-<span class="sourceLineNo">224</span>          new RegexStringComparator(getTableRowKeyRegex(filter.getTableFilter()), 0)));<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    } else if (!Strings.isEmpty(filter.getNamespaceFilter())) {<a name="line.225"></a>
-<span class="sourceLineNo">226</span>      filterList.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.226"></a>
-<span class="sourceLineNo">227</span>          new RegexStringComparator(getNamespaceRowKeyRegex(filter.getNamespaceFilter()), 0)));<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    }<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    return filterList;<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  }<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>  /**<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   * Creates a {@link Scan} which returns only quota snapshots from the quota table.<a name="line.233"></a>
-<span class="sourceLineNo">234</span>   */<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  public static Scan makeQuotaSnapshotScan() {<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    return makeQuotaSnapshotScanForTable(null);<a name="line.236"></a>
-<span class="sourceLineNo">237</span>  }<a name="line.237"></a>
-<span class="sourceLineNo">238</span><a name="line.238"></a>
-<span class="sourceLineNo">239</span>  /**<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * Fetches all {@link SpaceQuotaSnapshot} objects from the {@code hbase:quota} table.<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   *<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   * @param conn The HBase connection<a name="line.242"></a>
-<span class="sourceLineNo">243</span>   * @return A map of table names and their computed snapshot.<a name="line.243"></a>
-<span class="sourceLineNo">244</span>   */<a name="line.244"></a>
-<span class="sourceLineNo">245</span>  public static Map&lt;TableName,SpaceQuotaSnapshot&gt; getSnapshots(Connection conn) throws IOException {<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    Map&lt;TableName,SpaceQuotaSnapshot&gt; snapshots = new HashMap&lt;&gt;();<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    try (Table quotaTable = conn.getTable(QUOTA_TABLE_NAME);<a name="line.247"></a>
-<span class="sourceLineNo">248</span>        ResultScanner rs = quotaTable.getScanner(makeQuotaSnapshotScan())) {<a name="line.248"></a>
-<span class="sourceLineNo">249</span>      for (Result r : rs) {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>        extractQuotaSnapshot(r, snapshots);<a name="line.250"></a>
-<span class="sourceLineNo">251</span>      }<a name="line.251"></a>
-<span class="sourceLineNo">252</span>    }<a name="line.252"></a>
-<span class="sourceLineNo">253</span>    return snapshots;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  }<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>  /**<a name="line.256"></a>
-<span class="sourceLineNo">257</span>   * Creates a {@link Scan} which returns only {@link SpaceQuotaSnapshot} from the quota table for a<a name="line.257"></a>
-<span class="sourceLineNo">258</span>   * specific table.<a name="line.258"></a>
-<span class="sourceLineNo">259</span>   * @param tn Optionally, a table name to limit the scan's rowkey space. Can be null.<a name="line.259"></a>
-<span class="sourceLineNo">260</span>   */<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  public static Scan makeQuotaSnapshotScanForTable(TableName tn) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    Scan s = new Scan();<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    // Limit to "u:v" column<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    s.addColumn(QUOTA_FAMILY_USAGE, QUOTA_QUALIFIER_POLICY);<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    if (null == tn) {<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      s.setRowPrefixFilter(QUOTA_TABLE_ROW_KEY_PREFIX);<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    } else {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      byte[] row = getTableRowKey(tn);<a name="line.268"></a>
-<span class="sourceLineNo">269</span>      // Limit rowspace to the "t:" prefix<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      s.withStartRow(row, true).withStopRow(row, true);<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    }<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    return s;<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  }<a name="line.273"></a>
-<span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>  /**<a name="line.275"></a>
-<span class="sourceLineNo">276</span>   * Extracts the {@link SpaceViolationPolicy} and {@link TableName} from the provided<a name="line.276"></a>
-<span class="sourceLineNo">277</span>   * {@link Result} and adds them to the given {@link Map}. If the result does not contain<a name="line.277"></a>
-<span class="sourceLineNo">278</span>   * the expected information or the serialized policy in the value is invalid, this method<a name="line.278"></a>
-<span class="sourceLineNo">279</span>   * will throw an {@link IllegalArgumentException}.<a name="line.279"></a>
-<span class="sourceLineNo">280</span>   *<a name="line.280"></a>
-<span class="sourceLineNo">281</span>   * @param result A row from the quota table.<a name="line.281"></a>
-<span class="sourceLineNo">282</span>   * @param snapshots A map of snapshots to add the result of this method into.<a name="line.282"></a>
-<span class="sourceLineNo">283</span>   */<a name="line.283"></a>
-<span class="sourceLineNo">284</span>  public static void extractQuotaSnapshot(<a name="line.284"></a>
-<span class="sourceLineNo">285</span>      Result result, Map&lt;TableName,SpaceQuotaSnapshot&gt; snapshots) {<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    byte[] row = Objects.requireNonNull(result).getRow();<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    if (row == null) {<a name="line.287"></a>
-<span class="sourceLineNo">288</span>      throw new IllegalArgumentException("Provided result had a null row");<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    }<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    final TableName targetTableName = getTableFromRowKey(row);<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    Cell c = result.getColumnLatestCell(QUOTA_FAMILY_USAGE, QUOTA_QUALIFIER_POLICY);<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    if (c == null) {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>      throw new IllegalArgumentException("Result did not contain the expected column "<a name="line.293"></a>
-<span class="sourceLineNo">294</span>          + QUOTA_POLICY_COLUMN + ", " + result.toString());<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    }<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    ByteString buffer = UnsafeByteOperations.unsafeWrap(<a name="line.296"></a>
-<span class="sourceLineNo">297</span>        c.getValueArray(), c.getValueOffset(), c.getValueLength());<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    try {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      QuotaProtos.SpaceQuotaSnapshot snapshot = QuotaProtos.SpaceQuotaSnapshot.parseFrom(buffer);<a name="line.299"></a>
-<span class="sourceLineNo">300</span>      snapshots.put(targetTableName, SpaceQuotaSnapshot.toSpaceQuotaSnapshot(snapshot));<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    } catch (InvalidProtocolBufferException e) {<a name="line.301"></a>
-<span class="sourceLineNo">302</span>      throw new IllegalArgumentException(<a name="line.302"></a>
-<span class="sourceLineNo">303</span>          "Result did not contain a valid SpaceQuota protocol buffer message", e);<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    }<a name="line.304"></a>
-<span class="sourceLineNo">305</span>  }<a name="line.305"></a>
-<span class="sourceLineNo">306</span><a name="line.306"></a>
-<span class="sourceLineNo">307</span>  public static interface UserQuotasVisitor {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    void visitUserQuotas(final String userName, final Quotas quotas)<a name="line.308"></a>
-<span class="sourceLineNo">309</span>      throws IOException;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    void visitUserQuotas(final String userName, final TableName table, final Quotas quotas)<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      throws IOException;<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    void visitUserQuotas(final String userName, final String namespace, final Quotas quotas)<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      throws IOException;<a name="line.313"></a>
-<span class="sourceLineNo">314</span>  }<a name="line.314"></a>
-<span class="sourceLineNo">315</span><a name="line.315"></a>
-<span class="sourceLineNo">316</span>  public static interface TableQuotasVisitor {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    void visitTableQuotas(final TableName tableName, final Quotas quotas)<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      throws IOException;<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  }<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>  public static interface NamespaceQuotasVisitor {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    void visitNamespaceQuotas(final String namespace, final Quotas quotas)<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      throws IOException;<a name="line.323"></a>
-<span class="sourceLineNo">324</span>  }<a name="line.324"></a>
-<span class="sourceLineNo">325</span><a name="line.325"></a>
-<span class="sourceLineNo">326</span>  public static interface QuotasVisitor extends UserQuotasVisitor,<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      TableQuotasVisitor, NamespaceQuotasVisitor {<a name="line.327"></a>
-<span class="sourceLineNo">328</span>  }<a name="line.328"></a>
-<span class="sourceLineNo">329</span><a name="line.329"></a>
-<span class="sourceLineNo">330</span>  public static void parseResult(final Result result, final QuotasVisitor visitor)<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      throws IOException {<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    byte[] row = result.getRow();<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    if (isNamespaceRowKey(row)) {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>      parseNamespaceResult(result, visitor);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>    } else if (isTableRowKey(row)) {<a name="line.335"></a>
-<span class="sourceLineNo">336</span>      parseTableResult(result, visitor);<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    } else if (isUserRowKey(row)) {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      parseUserResult(result, visitor);<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    } else {<a name="line.339"></a>
-<span class="sourceLineNo">340</span>      LOG.warn("unexpected row-key: " + Bytes.toString(row));<a name="line.340"></a>
-<span class="sourceLineNo">341</span>    }<a name="line.341"></a>
-<span class="sourceLineNo">342</span>  }<a name="line.342"></a>
-<span class="sourceLineNo">343</span><a name="line.343"></a>
-<span class="sourceLineNo">344</span>  public static void parseResultToCollection(final Result result,<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      Collection&lt;QuotaSettings&gt; quotaSettings) throws IOException {<a name="line.345"></a>
-<span class="sourceLineNo">346</span><a name="line.346"></a>
-<span class="sourceLineNo">347</span>    QuotaTableUtil.parseResult(result, new QuotaTableUtil.QuotasVisitor() {<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      @Override<a name="line.348"></a>
-<span class="sourceLineNo">349</span>      public void visitUserQuotas(String userName, Quotas quotas) {<a name="line.349"></a>
-<span class="sourceLineNo">350</span>        quotaSettings.addAll(QuotaSettingsFactory.fromUserQuotas(userName, quotas));<a name="line.350"></a>
-<span class="sourceLineNo">351</span>      }<a name="line.351"></a>
-<span class="sourceLineNo">352</span><a name="line.352"></a>
-<span class="sourceLineNo">353</span>      @Override<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      public void visitUserQuotas(String userName, TableName table, Quotas quotas) {<a name="line.354"></a>
-<span class="sourceLineNo">355</span>        quotaSettings.addAll(QuotaSettingsFactory.fromUserQuotas(userName, table, quotas));<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      }<a name="line.356"></a>
-<span class="sourceLineNo">357</span><a name="line.357"></a>
-<span class="sourceLineNo">358</span>      @Override<a name="line.358"></a>
-<span class="sourceLineNo">359</span>      public void visitUserQuotas(String userName, String namespace, Quotas quotas) {<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        quotaSettings.addAll(QuotaSettingsFactory.fromUserQuotas(userName, namespace, quotas));<a name="line.360"></a>
-<span class="sourceLineNo">361</span>      }<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>      @Override<a name="line.363"></a>
-<span class="sourceLineNo">364</span>      public void visitTableQuotas(TableName tableName, Quotas quotas) {<a name="line.364"></a>
-<span class="sourceLineNo">365</span>        quotaSettings.addAll(QuotaSettingsFactory.fromTableQuotas(tableName, quotas));<a name="line.365"></a>
-<span class="sourceLineNo">366</span>      }<a name="line.366"></a>
-<span class="sourceLineNo">367</span><a name="line.367"></a>
-<span class="sourceLineNo">368</span>      @Override<a name="line.368"></a>
-<span class="sourceLineNo">369</span>      public void visitNamespaceQuotas(String namespace, Quotas quotas) {<a name="line.369"></a>
-<span class="sourceLineNo">370</span>        quotaSettings.addAll(QuotaSettingsFactory.fromNamespaceQuotas(namespace, quotas));<a name="line.370"></a>
-<span class="sourceLineNo">371</span>      }<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    });<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  }<a name="line.373"></a>
-<span class="sourceLineNo">374</span><a name="line.374"></a>
-<span class="sourceLineNo">375</span>  public static void parseNamespaceResult(final Result result,<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      final NamespaceQuotasVisitor visitor) throws IOException {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    String namespace = getNamespaceFromRowKey(result.getRow());<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    parseNamespaceResult(namespace, result, visitor);<a name="line.378"></a>
-<span class="sourceLineNo">379</span>  }<a name="line.379"></a>
-<span class="sourceLineNo">380</span><a name="line.380"></a>
-<span class="sourceLineNo">381</span>  protected static void parseNamespaceResult(final String namespace, final Result result,<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      final NamespaceQuotasVisitor visitor) throws IOException {<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    byte[] data = result.getValue(QUOTA_FAMILY_INFO, QUOTA_QUALIFIER_SETTINGS);<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    if (data != null) {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>      Quotas quotas = quotasFromData(data);<a name="line.385"></a>
-<span class="sourceLineNo">386</span>      visitor.visitNamespaceQuotas(namespace, quotas);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    }<a name="line.387"></a>
-<span class="sourceLineNo">388</span>  }<a name="line.388"></a>
-<span class="sourceLineNo">389</span><a name="line.389"></a>
-<span class="sourceLineNo">390</span>  public static void parseTableResult(final Result result, final TableQuotasVisitor visitor)<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      throws IOException {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    TableName table = getTableFromRowKey(result.getRow());<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    parseTableResult(table, result, visitor);<a name="line.393"></a>
-<span class="sourceLineNo">394</span>  }<a name="line.394"></a>
-<span class="sourceLineNo">395</span><a name="line.395"></a>
-<span class="sourceLineNo">396</span>  protected static void parseTableResult(final TableName table, final Result result,<a name="line.396"></a>
-<span class="sourceLineNo">397</span>      final TableQuotasVisitor visitor) throws IOException {<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    byte[] data = result.getValue(QUOTA_FAMILY_INFO, QUOTA_QUALIFIER_SETTINGS);<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    if (data != null) {<a name="line.399"></a>
-<span class="sourceLineNo">400</span>      Quotas quotas = quotasFromData(data);<a name="line.400"></a>
-<span class="sourceLineNo">401</span>      visitor.visitTableQuotas(table, quotas);<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    }<a name="line.402"></a>
-<span class="sourceLineNo">403</span>  }<a name="line.403"></a>
-<span class="sourceLineNo">404</span><a name="line.404"></a>
-<span class="sourceLineNo">405</span>  public static void parseUserResult(final Result result, final UserQuotasVisitor visitor)<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      throws IOException {<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    String userName = getUserFromRowKey(result.getRow());<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    parseUserResult(userName, result, visitor);<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  }<a name="line.409"></a>
-<span class="sourceLineNo">410</span><a name="line.410"></a>
-<span class="sourceLineNo">411</span>  protected static void parseUserResult(final String userName, final Result result,<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      final UserQuotasVisitor visitor) throws IOException {<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    Map&lt;byte[], byte[]&gt; familyMap = result.getFamilyMap(QUOTA_FAMILY_INFO);<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    if (familyMap == null || familyMap.isEmpty()) return;<a name="line.414"></a>
-<span class="sourceLineNo">415</span><a name="line.415"></a>
-<span class="sourceLineNo">416</span>    for (Map.Entry&lt;byte[], byte[]&gt; entry: familyMap.entrySet()) {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      Quotas quotas = quotasFromData(entry.getValue());<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      if (Bytes.startsWith(entry.getKey(), QUOTA_QUALIFIER_SETTINGS_PREFIX)) {<a name="line.418"></a>
-<span class="sourceLineNo">419</span>        String name = Bytes.toString(entry.getKey(), QUOTA_QUALIFIER_SETTINGS_PREFIX.length);<a name="line.419"></a>
-<span class="sourceLineNo">420</span>        if (name.charAt(name.length() - 1) == TableName.NAMESPACE_DELIM) {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>          String namespace = name.substring(0, name.length() - 1);<a name="line.421"></a>
-<span class="sourceLineNo">422</span>          visitor.visitUserQuotas(userName, namespace, quotas);<a name="line.422"></a>
-<span class="sourceLineNo">423</span>        } else {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>          TableName table = TableName.valueOf(name);<a name="line.424"></a>
-<span class="sourceLineNo">425</span>          visitor.visitUserQuotas(userName, table, quotas);<a name="line.425"></a>
-<span class="sourceLineNo">426</span>        }<a name="line.426"></a>
-<span class="sourceLineNo">427</span>      } else if (Bytes.equals(entry.getKey(), QUOTA_QUALIFIER_SETTINGS)) {<a name="line.427"></a>
-<span class="sourceLineNo">428</span>        visitor.visitUserQuotas(userName, quotas);<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      }<a name="line.429"></a>
-<span class="sourceLineNo">430</span>    }<a name="line.430"></a>
-<span class="sourceLineNo">431</span>  }<a name="line.431"></a>
-<span class="sourceLineNo">432</span><a name="line.432"></a>
-<span class="sourceLineNo">433</span>  /**<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * Creates a {@link Put} to store the given {@code snapshot} for the given {@code tableName} in<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   * the quota table.<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   */<a name="line.436"></a>
-<span class="sourceLineNo">437</span>  static Put createPutForSpaceSnapshot(TableName tableName, SpaceQuotaSnapshot snapshot) {<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    Put p = new Put(getTableRowKey(tableName));<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    p.addColumn(<a name="line.439"></a>
-<span class="sourceLineNo">440</span>        QUOTA_FAMILY_USAGE, QUOTA_QUALIFIER_POLICY,<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        SpaceQuotaSnapshot.toProtoSnapshot(snapshot).toByteArray());<a name="line.441"></a>
-<span class="sourceLineNo">442</span>    return p;<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>  /**<a name="line.445"></a>
-<span class="sourceLineNo">446</span>   * Creates a {@link Get} for the HBase snapshot's size against the given table.<a name="line.446"></a>
-<span class="sourceLineNo">447</span>   */<a name="line.447"></a>
-<span class="sourceLineNo">448</span>  static Get makeGetForSnapshotSize(TableName tn, String snapshot) {<a name="line.448"></a>
-<span class="sourceLineNo">449</span>    Get g = new Get(Bytes.add(QUOTA_TABLE_ROW_KEY_PREFIX, Bytes.toBytes(tn.toString())));<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    g.addColumn(<a name="line.450"></a>
-<span class="sourceLineNo">451</span>        QUOTA_FAMILY_USAGE,<a name="line.451"></a>
-<span class="sourceLineNo">452</span>        Bytes.add(QUOTA_SNAPSHOT_SIZE_QUALIFIER, Bytes.toBytes(snapshot)));<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    return g;<a name="line.453"></a>
-<span class="sourceLineNo">454</span>  }<a name="line.454"></a>
-<span class="sourceLineNo">455</span><a name="line.455"></a>
-<span class="sourceLineNo">456</span>  /**<a name="line.456"></a>
-<span class="sourceLineNo">457</span>   * Creates a {@link Put} to persist the current size of the {@code snapshot} with respect to<a name="line.457"></a>
-<span class="sourceLineNo">458</span>   * the given {@code table}.<a name="line.458"></a>
-<span class="sourceLineNo">459</span>   */<a name="line.459"></a>
-<span class="sourceLineNo">460</span>  static Put createPutForSnapshotSize(TableName tableName, String snapshot, long size) {<a name="line.460"></a>
-<span class="sourceLineNo">461</span>    // We just need a pb message with some `long usage`, so we can just reuse the<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    // SpaceQuotaSnapshot message instead of creating a new one.<a name="line.462"></a>
-<span class="sourceLineNo">463</span>    Put p = new Put(getTableRowKey(tableName));<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    p.addColumn(QUOTA_FAMILY_USAGE, getSnapshotSizeQualifier(snapshot),<a name="line.464"></a>
-<span class="sourceLineNo">465</span>        org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuotaSnapshot<a name="line.465"></a>
-<span class="sourceLineNo">466</span>            .newBuilder().setQuotaUsage(size).build().toByteArray());<a name="line.466"></a>
-<span class="sourceLineNo">467</span>    return p;<a name="line.467"></a>
-<span class="sourceLineNo">468</span>  }<a name="line.468"></a>
-<span class="sourceLineNo">469</span><a name="line.469"></a>
-<span class="sourceLineNo">470</span>  /**<a name="line.470"></a>
-<span class="sourceLineNo">471</span>   * Creates a {@code Put} for the namespace's total snapshot size.<a name="line.471"></a>
-<span class="sourceLineNo">472</span>   */<a name="line.472"></a>
-<span class="sourceLineNo">473</span>  static Put createPutForNamespaceSnapshotSize(String namespace, long size) {<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    Put p = new Put(getNamespaceRowKey(namespace));<a name="line.474"></a>
-<span class="sourceLineNo">475</span>    p.addColumn(QUOTA_FAMILY_USAGE, QUOTA_SNAPSHOT_SIZE_QUALIFIER,<a name="line.475"></a>
-<span class="sourceLineNo">476</span>        org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuotaSnapshot<a name="line.476"></a>
-<span class="sourceLineNo">477</span>            .newBuilder().setQuotaUsage(size).build().toByteArray());<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    return p;<a name="line.478"></a>
-<span class="sourceLineNo">479</span>  }<a name="line.479"></a>
-<span class="sourceLineNo">480</span><a name="line.480"></a>
-<span class="sourceLineNo">481</span>  /**<a name="line.481"></a>
-<span class="sourceLineNo">482</span>   * Fetches the computed size of all snapshots against tables in a namespace for space quotas.<a name="line.482"></a>
-<span class="sourceLineNo">483</span>   */<a name="line.483"></a>
-<span class="sourceLineNo">484</span>  static long getNamespaceSnapshotSize(<a name="line.484"></a>
-<span class="sourceLineNo">485</span>      Connection conn, String namespace) throws IOException {<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    try (Table quotaTable = conn.getTable(QuotaTableUtil.QUOTA_TABLE_NAME)) {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      Result r = quotaTable.get(createGetNamespaceSnapshotSize(namespace));<a name="line.487"></a>
-<span class="sourceLineNo">488</span>      if (r.isEmpty()) {<a name="line.488"></a>
-<span class="sourceLineNo">489</span>        return 0L;<a name="line.489"></a>
-<span class="sourceLineNo">490</span>      }<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      r.advance();<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      return parseSnapshotSize(r.current());<a name="line.492"></a>
-<span class="sourceLineNo">493</span>    } catch (InvalidProtocolBufferException e) {<a name="line.493"></a>
-<span class="sourceLineNo">494</span>      throw new IOException("Could not parse snapshot size value for namespace " + namespace, e);<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    }<a name="line.495"></a>
-<span class="sourceLineNo">496</span>  }<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>  /**<a name="line.498"></a>
-<span class="sourceLineNo">499</span>   * Creates a {@code Get} to fetch the namespace's total snapshot size.<a name="line.499"></a>
-<span class="sourceLineNo">500</span>   */<a name="line.500"></a>
-<span class="sourceLineNo">501</span>  static Get createGetNamespaceSnapshotSize(String namespace) {<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    Get g = new Get(getNamespaceRowKey(namespace));<a name="line.502"></a>
-<span class="sourceLineNo">503</span>    g.addColumn(QUOTA_FAMILY_USAGE, QUOTA_SNAPSHOT_SIZE_QUALIFIER);<a name="line.503"></a>
-<span class="sourceLineNo">504</span>    return g;<a name="line.504"></a>
-<span class="sourceLineNo">505</span>  }<a name="line.505"></a>
-<span class="sourceLineNo">506</span><a name="line.506"></a>
-<span class="sourceLineNo">507</span>  /**<a name="line.507"></a>
-<span class="sourceLineNo">508</span>   * Parses the snapshot size from the given Cell's value.<a name="line.508"></a>
-<span class="sourceLineNo">509</span>   */<a name="line.509"></a>
-<span class="sourceLineNo">510</span>  static long parseSnapshotSize(Cell c) throws InvalidProtocolBufferException {<a name="line.510"></a>
-<span class="sourceLineNo">511</span>    ByteString bs = UnsafeByteOperations.unsafeWrap(<a name="line.511"></a>
-<span class="sourceLineNo">512</span>        c.getValueArray(), c.getValueOffset(), c.getValueLength());<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    return QuotaProtos.SpaceQuotaSnapshot.parseFrom(bs).getQuotaUsage();<a name="line.513"></a>
-<span class="sourceLineNo">514</span>  }<a name="line.514"></a>
-<span class="sourceLineNo">515</span><a name="line.515"></a>
-<span class="sourceLineNo">516</span>  static Scan createScanForSnapshotSizes(TableName table) {<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    byte[] rowkey = getTableRowKey(table);<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    return new Scan()<a name="line.518"></a>
-<span class="sourceLineNo">519</span>        // Fetch just this one row<a name="line.519"></a>
-<span class="sourceLineNo">520</span>        .withStartRow(rowkey)<a name="line.520"></a>
-<span class="sourceLineNo">521</span>        .withStopRow(rowkey, true)<a name="line.521"></a>
-<span class="sourceLineNo">522</span>        // Just the usage family<a name="line.522"></a>
-<span class="sourceLineNo">523</span>        .addFamily(QUOTA_FAMILY_USAGE)<a name="line.523"></a>
-<span class="sourceLineNo">524</span>        // Only the snapshot size qualifiers<a name="line.524"></a>
-<span class="sourceLineNo">525</span>        .setFilter(new ColumnPrefixFilter(QUOTA_SNAPSHOT_SIZE_QUALIFIER));<a name="line.525"></a>
-<span class="sourceLineNo">526</span>  }<a name="line.526"></a>
-<span class="sourceLineNo">527</span><a name="line.527"></a>
-<span class="sourceLineNo">528</span>  /* =========================================================================<a name="line.528"></a>
-<span class="sourceLineNo">529</span>   *  Space quota status RPC helpers<a name="line.529"></a>
-<span class="sourceLineNo">530</span>   */<a name="line.530"></a>
-<span class="sourceLineNo">531</span>  /**<a name="line.531"></a>
-<span class="sourceLineNo">532</span>   * Fetches the table sizes on the filesystem as tracked by the HBase Master.<a name="line.532"></a>
-<span class="sourceLineNo">533</span>   */<a name="line.533"></a>
-<span class="sourceLineNo">534</span>  public static Map&lt;TableName,Long&gt; getMasterReportedTableSizes(<a name="line.534"></a>
-<span class="sourceLineNo">535</span>      Connection conn) throws IOException {<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    if (!(conn instanceof ClusterConnection)) {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      throw new IllegalArgumentException("Expected a ClusterConnection");<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    }<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    ClusterConnection clusterConn = (ClusterConnection) conn;<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    GetSpaceQuotaRegionSizesResponse response = QuotaStatusCalls.getMasterRegionSizes(<a name="line.540"></a>
-<span class="sourceLineNo">541</span>        clusterConn, 0);<a name="line.541"></a>
-<span class="sourceLineNo">542</span>    Map&lt;TableName,Long&gt; tableSizes = new HashMap&lt;&gt;();<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    for (RegionSizes sizes : response.getSizesList()) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>      TableName tn = ProtobufUtil.toTableName(sizes.getTableName());<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      tableSizes.put(tn, sizes.getSize());<a name="line.545"></a>
-<span class="sourceLineNo">546</span>    }<a name="line.546"></a>
-<span class="sourceLineNo">547</span>    return tableSizes;<a name="line.547"></a>
-<span class="sourceLineNo">548</span>  }<a name="line.548"></a>
-<span class="sourceLineNo">549</span><a name="line.549"></a>
-<span class="sourceLineNo">550</span>  /**<a name="line.550"></a>
-<span class="sourceLineNo">551</span>   * Fetches the observed {@link SpaceQuotaSnapshot}s observed by a RegionServer.<a name="line.551"></a>
-<span class="sourceLineNo">552</span>   */<a name="line.552"></a>
-<span class="sourceLineNo">553</span>  public static Map&lt;TableName,SpaceQuotaSnapshot&gt; getRegionServerQuotaSnapshots(<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      Connection conn, ServerName regionServer) throws IOException {<a name="line.554"></a>
-<span class="sourceLineNo">555</span>    if (!(conn instanceof ClusterConnection)) {<a name="line.555"></a>
-<span class="sourceLineNo">556</span>      throw new IllegalArgumentException("Expected a ClusterConnection");<a name="line.556"></a>
-<span class="sourceLineNo">557</span>    }<a name="line.557"></a>
-<span class="sourceLineNo">558</span>    ClusterConnection clusterConn = (ClusterConnection) conn;<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    GetSpaceQuotaSnapshotsResponse response = QuotaStatusCalls.getRegionServerQuotaSnapshot(<a name="line.559"></a>
-<span class="sourceLineNo">560</span>        clusterConn, 0, regionServer);<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    Map&lt;TableName,SpaceQuotaSnapshot&gt; snapshots = new HashMap&lt;&gt;();<a name="line.561"></a>
-<span class="sourceLineNo">562</span>    for (TableQuotaSnapshot snapshot : response.getSnapshotsList()) {<a name="line.562"></a>
-<span class="sourceLineNo">563</span>      snapshots.put(<a name="line.563"></a>
-<span class="sourceLineNo">564</span>          ProtobufUtil.toTableName(snapshot.getTableName()),<a name="line.564"></a>
-<span class="sourceLineNo">565</span>          SpaceQuotaSnapshot.toSpaceQuotaSnapshot(snapshot.getSnapshot()));<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    }<a name="line.566"></a>
-<span class="sourceLineNo">567</span>    return snapshots;<a name="line.567"></a>
-<span class="sourceLineNo">568</span>  }<a name="line.568"></a>
-<span class="sourceLineNo">569</span><a name="line.569"></a>
-<span class="sourceLineNo">570</span>  /**<a name="line.570"></a>
-<span class="sourceLineNo">571</span>   * Returns the Master's view of a quota on the given {@code tableName} or null if the<a name="line.571"></a>
-<span class="sourceLineNo">572</span>   * Master has no quota information on that table.<a name="line.572"></a>
-<span class="sourceLineNo">573</span>   */<a name="line.573"></a>
-<span class="sourceLineNo">574</span>  public static SpaceQuotaSnapshot getCurrentSnapshot(<a name="line.574"></a>
-<span class="sourceLineNo">575</span>      Connection conn, TableName tn) throws IOException {<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    if (!(conn instanceof ClusterConnection)) {<a name="line.576"></a>
-<span class="sourceLineNo">577</span>      throw new IllegalArgumentException("Expected a ClusterConnection");<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    }<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    ClusterConnection clusterConn = (ClusterConnection) conn;<a name="line.579"></a>
-<span class="sourceLineNo">580</span>    GetQuotaStatesResponse resp = QuotaStatusCalls.getMasterQuotaStates(clusterConn, 0);<a name="line.580"></a>
-<span class="sourceLineNo">581</span>    HBaseProtos.TableName protoTableName = ProtobufUtil.toProtoTableName(tn);<a name="line.581"></a>
-<span class="sourceLineNo">582</span>    for (GetQuotaStatesResponse.TableQuotaSnapshot tableSnapshot : resp.getTableSnapshotsList()) {<a name="line.582"></a>
-<span class="sourceLineNo">583</span>      if (protoTableName.equals(tableSnapshot.getTableName())) {<a name="line.583"></a>
-<span class="sourceLineNo">584</span>        return SpaceQuotaSnapshot.toSpaceQuotaSnapshot(tableSnapshot.getSnapshot());<a name="line.584"></a>
-<span class="sourceLineNo">585</span>      }<a name="line.585"></a>
-<span class="sourceLineNo">586</span>    }<a name="line.586"></a>
-<span class="sourceLineNo">587</span>    return null;<a name="line.587"></a>
-<span class="sourceLineNo">588</span>  }<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span>  /**<a name="line.590"></a>
-<span class="sourceLineNo">591</span>   * Returns the Master's view of a quota on the given {@code namespace} or null if the<a name="line.591"></a>
-<span class="sourceLineNo">592</span>   * Master has no quota information on that namespace.<a name="line.592"></a>
-<span class="sourceLineNo">593</span>   */<a name="line.593"></a>
-<span class="sourceLineNo">594</span>  public static SpaceQuotaSnapshot getCurrentSnapshot(<a name="line.594"></a>
-<span class="sourceLineNo">595</span>      Connection conn, String namespace) throws IOException {<a name="line.595"></a>
-<span class="sourceLineNo">596</span>    if (!(conn instanceof ClusterConnection)) {<a name="line.596"></a>
-<span class="sourceLineNo">597</span>      throw new IllegalArgumentException("Expected a ClusterConnection");<a name="line.597"></a>
-<span class="sourceLineNo">598</span>    }<a name="line.598"></a>
-<span class="sourceLineNo">599</span>    ClusterConnection clusterConn = (ClusterConnection) conn;<a name="line.599"></a>
-<span class="sourceLineNo">600</span>    GetQuotaStatesResponse resp = QuotaStatusCalls.getMasterQuotaStates(clusterConn, 0);<a name="line.600"></a>
-<span class="sourceLineNo">601</span>    for (GetQuotaStatesResponse.NamespaceQuotaSnapshot nsSnapshot : resp.getNsSnapshotsList()) {<a name="line.601"></a>
-<span class="sourceLineNo">602</span>      if (namespace.equals(nsSnapshot.getNamespace())) {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>        return SpaceQuotaSnapshot.toSpaceQuotaSnapshot(nsSnapshot.getSnapshot());<a name="line.603"></a>
-<span class="sourceLineNo">604</span>      }<a name="line.604"></a>
-<span class="sourceLineNo">605</span>    }<a name="line.605"></a>
-<span class="sourceLineNo">606</span>    return null;<a name="line.606"></a>
-<span class="sourceLineNo">607</span>  }<a name="line.607"></a>
-<span class="sourceLineNo">608</span><a name="line.608"></a>
-<span class="sourceLineNo">609</span>  /* =========================================================================<a name="line.609"></a>
-<span class="sourceLineNo">610</span>   *  Quotas protobuf helpers<a name="line.610"></a>
-<span class="sourceLineNo">611</span>   */<a name="line.611"></a>
-<span class="sourceLineNo">612</span>  protected static Quotas quotasFromData(final byte[] data) throws IOException {<a name="line.612"></a>
-<span class="sourceLineNo">613</span>    return quotasFromData(data, 0, data.length);<a name="line.613"></a>
-<span class="sourceLineNo">614</span>  }<a name="line.614"></a>
-<span class="sourceLineNo">615</span><a name="line.615"></a>
-<span class="sourceLineNo">616</span>  protected static Quotas quotasFromData(<a name="line.616"></a>
-<span class="sourceLineNo">617</span>      final byte[] data, int offset, int length) throws IOException {<a name="line.617"></a>
-<span class="sourceLineNo">618</span>    int magicLen = ProtobufMagic.lengthOfPBMagic();<a name="line.618"></a>
-<span class="sourceLineNo">619</span>    if (!ProtobufMagic.isPBMagicPrefix(data, offset, magicLen)) {<a name="line.619"></a>
-<span class="sourceLineNo">620</span>      throw new IOException("Missing pb magic prefix");<a name="line.620"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.ServerName;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.TableName;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.client.ClusterConnection;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.client.Get;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.client.Put;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.client.QuotaStatusCalls;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.client.Result;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.client.ResultScanner;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.client.Table;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.filter.ColumnPrefixFilter;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.filter.CompareFilter;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.filter.Filter;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.filter.FilterList;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.filter.QualifierFilter;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.filter.RegexStringComparator;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.filter.RowFilter;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.protobuf.ProtobufMagic;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.InvalidProtocolBufferException;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.UnsafeByteOperations;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetQuotaStatesResponse;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaRegionSizesResponse;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse.TableQuotaSnapshot;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaRegionSizesResponse.RegionSizes;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.util.Strings;<a name="line.71"></a>
+<span class="sourceLineNo">072</span><a name="line.72"></a>
+<span class="sourceLineNo">073</span>/**<a name="line.73"></a>
+<span class="sourceLineNo">074</span> * Helper class to interact with the quota table.<a name="line.74"></a>
+<span class="sourceLineNo">075</span> * &lt;table&gt;<a name="line.75"></a>
+<span class="sourceLineNo">076</span> *   &lt;tr&gt;&lt;th&gt;ROW-KEY&lt;/th&gt;&lt;th&gt;FAM/QUAL&lt;/th&gt;&lt;th&gt;DATA&lt;/th&gt;&lt;/tr&gt;<a name="line.76"></a>
+<span class="sourceLineNo">077</span> *   &lt;tr&gt;&lt;td&gt;n.&amp;lt;namespace&amp;gt;&lt;/td&gt;&lt;td&gt;q:s&lt;/td&gt;&lt;td&gt;&amp;lt;global-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.77"></a>
+<span class="sourceLineNo">078</span> *   &lt;tr&gt;&lt;td&gt;n.&amp;lt;namespace&amp;gt;&lt;/td&gt;&lt;td&gt;u:p&lt;/td&gt;&lt;td&gt;&amp;lt;namespace-quota policy&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.78"></a>
+<span class="sourceLineNo">079</span> *   &lt;tr&gt;&lt;td&gt;n.&amp;lt;namespace&amp;gt;&lt;/td&gt;&lt;td&gt;u:s&lt;/td&gt;&lt;td&gt;&amp;lt;SpaceQuotaSnapshot&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.79"></a>
+<span class="sourceLineNo">080</span> *   &lt;tr&gt;&lt;td&gt;t.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;q:s&lt;/td&gt;&lt;td&gt;&amp;lt;global-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.80"></a>
+<span class="sourceLineNo">081</span> *   &lt;tr&gt;&lt;td&gt;t.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;u:p&lt;/td&gt;&lt;td&gt;&amp;lt;table-quota policy&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.81"></a>
+<span class="sourceLineNo">082</span> *   &lt;tr&gt;&lt;td&gt;t.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;u:ss.&amp;lt;snapshot name&amp;gt;&lt;/td&gt;&lt;td&gt;&amp;lt;SpaceQuotaSnapshot&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.82"></a>
+<span class="sourceLineNo">083</span> *   &lt;tr&gt;&lt;td&gt;u.&amp;lt;user&amp;gt;&lt;/td&gt;&lt;td&gt;q:s&lt;/td&gt;&lt;td&gt;&amp;lt;global-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.83"></a>
+<span class="sourceLineNo">084</span> *   &lt;tr&gt;&lt;td&gt;u.&amp;lt;user&amp;gt;&lt;/td&gt;&lt;td&gt;q:s.&amp;lt;table&amp;gt;&lt;/td&gt;&lt;td&gt;&amp;lt;table-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.84"></a>
+<span class="sourceLineNo">085</span> *   &lt;tr&gt;&lt;td&gt;u.&amp;lt;user&amp;gt;&lt;/td&gt;&lt;td&gt;q:s.&amp;lt;ns&amp;gt;&lt;/td&gt;&lt;td&gt;&amp;lt;namespace-quotas&amp;gt;&lt;/td&gt;&lt;/tr&gt;<a name="line.85"></a>
+<span class="sourceLineNo">086</span> * &lt;/table<a name="line.86"></a>
+<span class="sourceLineNo">087</span> */<a name="line.87"></a>
+<span class="sourceLineNo">088</span>@InterfaceAudience.Private<a name="line.88"></a>
+<span class="sourceLineNo">089</span>@InterfaceStability.Evolving<a name="line.89"></a>
+<span class="sourceLineNo">090</span>public class QuotaTableUtil {<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  private static final Log LOG = LogFactory.getLog(QuotaTableUtil.class);<a name="line.91"></a>
+<span class="sourceLineNo">092</span><a name="line.92"></a>
+<span class="sourceLineNo">093</span>  /** System table for quotas */<a name="line.93"></a>
+<span class="sourceLineNo">094</span>  public static final TableName QUOTA_TABLE_NAME =<a name="line.94"></a>
+<span class="sourceLineNo">095</span>      TableName.valueOf(NamespaceDescriptor.SYSTEM_NAMESPACE_NAME_STR, "quota");<a name="line.95"></a>
+<span class="sourceLineNo">096</span><a name="line.96"></a>
+<span class="sourceLineNo">097</span>  protected static final byte[] QUOTA_FAMILY_INFO = Bytes.toBytes("q");<a name="line.97"></a>
+<span class="sourceLineNo">098</span>  protected static final byte[] QUOTA_FAMILY_USAGE = Bytes.toBytes("u");<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  protected static final byte[] QUOTA_QUALIFIER_SETTINGS = Bytes.toBytes("s");<a name="line.99"></a>
+<span class="sourceLineNo">100</span>  protected static final byte[] QUOTA_QUALIFIER_SETTINGS_PREFIX = Bytes.toBytes("s.");<a name="line.100"></a>
+<span class="sourceLineNo">101</span>  protected static final byte[] QUOTA_QUALIFIER_POLICY = Bytes.toBytes("p");<a name="line.101"></a>
+<span class="sourceLineNo">102</span>  protected static final byte[] QUOTA_SNAPSHOT_SIZE_QUALIFIER = Bytes.toBytes("ss");<a name="line.102"></a>
+<span class="sourceLineNo">103</span>  protected static final String QUOTA_POLICY_COLUMN =<a name="line.103"></a>
+<span class="sourceLineNo">104</span>      Bytes.toString(QUOTA_FAMILY_USAGE) + ":" + Bytes.toString(QUOTA_QUALIFIER_POLICY);<a name="line.104"></a>
+<span class="sourceLineNo">105</span>  protected static final byte[] QUOTA_USER_ROW_KEY_PREFIX = Bytes.toBytes("u.");<a name="line.105"></a>
+<span class="sourceLineNo">106</span>  protected static final byte[] QUOTA_TABLE_ROW_KEY_PREFIX = Bytes.toBytes("t.");<a name="line.106"></a>
+<span class="sourceLineNo">107</span>  protected static final byte[] QUOTA_NAMESPACE_ROW_KEY_PREFIX = Bytes.toBytes("n.");<a name="line.107"></a>
+<span class="sourceLineNo">108</span><a name="line.108"></a>
+<span class="sourceLineNo">109</span>  /* =========================================================================<a name="line.109"></a>
+<span class="sourceLineNo">110</span>   *  Quota "settings" helpers<a name="line.110"></a>
+<span class="sourceLineNo">111</span>   */<a name="line.111"></a>
+<span class="sourceLineNo">112</span>  public static Quotas getTableQuota(final Connection connection, final TableName table)<a name="line.112"></a>
+<span class="sourceLineNo">113</span>      throws IOException {<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    return getQuotas(connection, getTableRowKey(table));<a name="line.114"></a>
+<span class="sourceLineNo">115</span>  }<a name="line.115"></a>
+<span class="sourceLineNo">116</span><a name="line.116"></a>
+<span class="sourceLineNo">117</span>  public static Quotas getNamespaceQuota(final Connection connection, final String namespace)<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      throws IOException {<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    return getQuotas(connection, getNamespaceRowKey(namespace));<a name="line.119"></a>
+<span class="sourceLineNo">120</span>  }<a name="line.120"></a>
+<span class="sourceLineNo">121</span><a name="line.121"></a>
+<span class="sourceLineNo">122</span>  public static Quotas getUserQuota(final Connection connection, final String user)<a name="line.122"></a>
+<span class="sourceLineNo">123</span>      throws IOException {<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    return getQuotas(connection, getUserRowKey(user));<a name="line.124"></a>
+<span class="sourceLineNo">125</span>  }<a name="line.125"></a>
+<span class="sourceLineNo">126</span><a name="line.126"></a>
+<span class="sourceLineNo">127</span>  public static Quotas getUserQuota(final Connection connection, final String user,<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      final TableName table) throws IOException {<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    return getQuotas(connection, getUserRowKey(user), getSettingsQualifierForUserTable(table));<a name="line.129"></a>
+<span class="sourceLineNo">130</span>  }<a name="line.130"></a>
+<span class="sourceLineNo">131</span><a name="line.131"></a>
+<span class="sourceLineNo">132</span>  public static Quotas getUserQuota(final Connection connection, final String user,<a name="line.132"></a>
+<span class="sourceLineNo">133</span>      final String namespace) throws IOException {<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    return getQuotas(connection, getUserRowKey(user),<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      getSettingsQualifierForUserNamespace(namespace));<a name="line.135"></a>
+<span class="sourceLineNo">136</span>  }<a name="line.136"></a>
+<span class="sourceLineNo">137</span><a name="line.137"></a>
+<span class="sourceLineNo">138</span>  private static Quotas getQuotas(final Connection connection, final byte[] rowKey)<a name="line.138"></a>
+<span class="sourceLineNo">139</span>      throws IOException {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    return getQuotas(connection, rowKey, QUOTA_QUALIFIER_SETTINGS);<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  }<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span>  private static Quotas getQuotas(final Connection connection, final byte[] rowKey,<a name="line.143"></a>
+<span class="sourceLineNo">144</span>      final byte[] qualifier) throws IOException {<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    Get get = new Get(rowKey);<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    get.addColumn(QUOTA_FAMILY_INFO, qualifier);<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    Result result = doGet(connection, get);<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    if (result.isEmpty()) {<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      return null;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    }<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    return quotasFromData(result.getValue(QUOTA_FAMILY_INFO, qualifier));<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  }<a name="line.152"></a>
+<span class="sourceLineNo">153</span><a name="line.153"></a>
+<span class="sourceLineNo">154</span>  public static Get makeGetForTableQuotas(final TableName table) {<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    Get get = new Get(getTableRowKey(table));<a name="line.155"></a>
+<span class="sourceLineNo">156</span>    get.addFamily(QUOTA_FAMILY_INFO);<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    return get;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>  }<a name="line.158"></a>
+<span class="sourceLineNo">159</span><a name="line.159"></a>
+<span class="sourceLineNo">160</span>  public static Get makeGetForNamespaceQuotas(final String namespace) {<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    Get get = new Get(getNamespaceRowKey(namespace));<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    get.addFamily(QUOTA_FAMILY_INFO);<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    return get;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>  }<a name="line.164"></a>
+<span class="sourceLineNo">165</span><a name="line.165"></a>
+<span class="sourceLineNo">166</span>  public static Get makeGetForUserQuotas(final String user, final Iterable&lt;TableName&gt; tables,<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      final Iterable&lt;String&gt; namespaces) {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    Get get = new Get(getUserRowKey(user));<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    get.addColumn(QUOTA_FAMILY_INFO, QUOTA_QUALIFIER_SETTINGS);<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    for (final TableName table: tables) {<a name="line.170"></a>
+<span class="sourceLineNo">171</span>      get.addColumn(QUOTA_FAMILY_INFO, getSettingsQualifierForUserTable(table));<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    }<a name="line.172"></a>
+<span class="sourceLineNo">173</span>    for (final String ns: namespaces) {<a name="line.173"></a>
+<span class="sourceLineNo">174</span>      get.addColumn(QUOTA_FAMILY_INFO, getSettingsQualifierForUserNamespace(ns));<a name="line.174"></a>
+<span class="sourceLineNo">175</span>    }<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    return get;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>  }<a name="line.177"></a>
+<span class="sourceLineNo">178</span><a name="line.178"></a>
+<span class="sourceLineNo">179</span>  public static Scan makeScan(final QuotaFilter filter) {<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    Scan scan = new Scan();<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    scan.addFamily(QUOTA_FAMILY_INFO);<a name="line.181"></a>
+<span class="sourceLineNo">182</span>    if (filter != null &amp;&amp; !filter.isNull()) {<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      scan.setFilter(makeFilter(filter));<a name="line.183"></a>
+<span class="sourceLineNo">184</span>    }<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    return scan;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>  }<a name="line.186"></a>
+<span class="sourceLineNo">187</span><a name="line.187"></a>
+<span class="sourceLineNo">188</span>  /**<a name="line.188"></a>
+<span class="sourceLineNo">189</span>   * converts quotafilter to serializeable filterlists.<a name="line.189"></a>
+<span class="sourceLineNo">190</span>   */<a name="line.190"></a>
+<span class="sourceLineNo">191</span>  public static Filter makeFilter(final QuotaFilter filter) {<a name="line.191"></a>
+<span class="sourceLineNo">192</span>    FilterList filterList = new FilterList(FilterList.Operator.MUST_PASS_ALL);<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    if (!Strings.isEmpty(filter.getUserFilter())) {<a name="line.193"></a>
+<span class="sourceLineNo">194</span>      FilterList userFilters = new FilterList(FilterList.Operator.MUST_PASS_ONE);<a name="line.194"></a>
+<span class="sourceLineNo">195</span>      boolean hasFilter = false;<a name="line.195"></a>
+<span class="sourceLineNo">196</span><a name="line.196"></a>
+<span class="sourceLineNo">197</span>      if (!Strings.isEmpty(filter.getNamespaceFilter())) {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>        FilterList nsFilters = new FilterList(FilterList.Operator.MUST_PASS_ALL);<a name="line.198"></a>
+<span class="sourceLineNo">199</span>        nsFilters.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.199"></a>
+<span class="sourceLineNo">200</span>            new RegexStringComparator(getUserRowKeyRegex(filter.getUserFilter()), 0)));<a name="line.200"></a>
+<span class="sourceLineNo">201</span>        nsFilters.addFilter(new QualifierFilter(CompareFilter.CompareOp.EQUAL,<a name="line.201"></a>
+<span class="sourceLineNo">202</span>            new RegexStringComparator(<a name="line.202"></a>
+<span class="sourceLineNo">203</span>              getSettingsQualifierRegexForUserNamespace(filter.getNamespaceFilter()), 0)));<a name="line.203"></a>
+<span class="sourceLineNo">204</span>        userFilters.addFilter(nsFilters);<a name="line.204"></a>
+<span class="sourceLineNo">205</span>        hasFilter = true;<a name="line.205"></a>
+<span class="sourceLineNo">206</span>      }<a name="line.206"></a>
+<span class="sourceLineNo">207</span>      if (!Strings.isEmpty(filter.getTableFilter())) {<a name="line.207"></a>
+<span class="sourceLineNo">208</span>        FilterList tableFilters = new FilterList(FilterList.Operator.MUST_PASS_ALL);<a name="line.208"></a>
+<span class="sourceLineNo">209</span>        tableFilters.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.209"></a>
+<span class="sourceLineNo">210</span>            new RegexStringComparator(getUserRowKeyRegex(filter.getUserFilter()), 0)));<a name="line.210"></a>
+<span class="sourceLineNo">211</span>        tableFilters.addFilter(new QualifierFilter(CompareFilter.CompareOp.EQUAL,<a name="line.211"></a>
+<span class="sourceLineNo">212</span>            new RegexStringComparator(<a name="line.212"></a>
+<span class="sourceLineNo">213</span>              getSettingsQualifierRegexForUserTable(filter.getTableFilter()), 0)));<a name="line.213"></a>
+<span class="sourceLineNo">214</span>        userFilters.addFilter(tableFilters);<a name="line.214"></a>
+<span class="sourceLineNo">215</span>        hasFilter = true;<a name="line.215"></a>
+<span class="sourceLineNo">216</span>      }<a name="line.216"></a>
+<span class="sourceLineNo">217</span>      if (!hasFilter) {<a name="line.217"></a>
+<span class="sourceLineNo">218</span>        userFilters.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.218"></a>
+<span class="sourceLineNo">219</span>            new RegexStringComparator(getUserRowKeyRegex(filter.getUserFilter()), 0)));<a name="line.219"></a>
+<span class="sourceLineNo">220</span>      }<a name="line.220"></a>
+<span class="sourceLineNo">221</span><a name="line.221"></a>
+<span class="sourceLineNo">222</span>      filterList.addFilter(userFilters);<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    } else if (!Strings.isEmpty(filter.getTableFilter())) {<a name="line.223"></a>
+<span class="sourceLineNo">224</span>      filterList.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.224"></a>
+<span class="sourceLineNo">225</span>          new RegexStringComparator(getTableRowKeyRegex(filter.getTableFilter()), 0)));<a name="line.225"></a>
+<span class="sourceLineNo">226</span>    } else if (!Strings.isEmpty(filter.getNamespaceFilter())) {<a name="line.226"></a>
+<span class="sourceLineNo">227</span>      filterList.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,<a name="line.227"></a>
+<span class="sourceLineNo">228</span>          new RegexStringComparator(getNamespaceRowKeyRegex(filter.getNamespaceFilter()), 0)));<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    }<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    return filterList;<a name="line.230"></a>
+<span class="sourceLineNo">231</span>  }<a name="line.231"></a>
+<span class="sourceLineNo">232</span><a name="line.232"></a>
+<span class="sourceLineNo">233</span>  /**<a name="line.233"></a>
+<span class="sourceLineNo">234</span>   * Creates a {@link Scan} which returns only quota snapshots from the quota table.<a name="line.234"></a>
+<span class="sourceLineNo">235</span>   */<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  public static Scan makeQuotaSnapshotScan() {<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    return makeQuotaSnapshotScanForTable(null);<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  }<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
+<span class="sourceLineNo">240</span>  /**<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   * Fetches all {@link SpaceQuotaSnapshot} objects from the {@code hbase:quota} table.<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   *<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   * @param conn The HBase connection<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   * @return A map of table names and their computed snapshot.<a name="line.244"></a>
+<span class="sourceLineNo">245</span>   */<a name="line.245"></a>
+<span class="sourceLineNo">246</span>  public static Map&lt;TableName,SpaceQuotaSnapshot&gt; getSnapshots(Connection conn) throws IOException {<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    Map&lt;TableName,SpaceQuotaSnapshot&gt; snapshots = new HashMap&lt;&gt;();<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    try (Table quotaTable = conn.getTable(QUOTA_TABLE_NAME);<a name="line.248"></a>
+<span class="sourceLineNo">249</span>        ResultScanner rs = quotaTable.getScanner(makeQuotaSnapshotScan())) {<a name="line.249"></a>
+<span class="sourceLineNo">250</span>      for (Result r : rs) {<a name="line.250"></a>
+<span class="sourceLineNo">251</span>        extractQuotaSnapshot(r, snapshots);<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      }<a name="line.252"></a>
+<span class="sourceLineNo">253</span>    }<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    return snapshots;<a name="line.254"></a>
+<span class="sourceLineNo">255</span>  }<a name="line.255"></a>
+<span class="sourceLineNo">256</span><a name="line.256"></a>
+<span class="sourceLineNo">257</span>  /**<a name="line.257"></a>
+<span class="sourceLineNo">258</span>   * Creates a {@link Scan} which returns only {@link SpaceQuotaSnapshot} from the quota table for a<a name="line.258"></a>
+<span class="sourceLineNo">259</span>   * specific table.<a name="line.259"></a>
+<span class="sourceLineNo">260</span>   * @param tn Optionally, a table name to limit the scan's rowkey space. Can be null.<a name="line.260"></a>
+<span class="sourceLineNo">261</span>   */<a name="line.261"></a>
+<span class="sourceLineNo">262</span>  public static Scan makeQuotaSnapshotScanForTable(TableName tn) {<a name="line.262"></a>
+<span class="sourceLineNo">263</span>    Scan s = new Scan();<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    // Limit to "u:v" column<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    s.addColumn(QUOTA_FAMILY_USAGE, QUOTA_QUALIFIER_POLICY);<a name="line.265"></a>
+<span class="sourceLineNo">266</span>    if (null == tn) {<a name="line.266"></a>
+<span class="sourceLineNo">267</span>      s.setRowPrefixFilter(QUOTA_TABLE_ROW_KEY_PREFIX);<a name="line.267"></a>
+<span class="sourceLineNo">268</span>    } else {<a name="line.268"></a>
+<span class="sourceLineNo">269</span>      byte[] row = getTableRowKey(tn);<a name="line.269"></a>
+<span class="sourceLineNo">270</span>      // Limit rowspace to the "t:" prefix<a name="line.270"></a>
+<span class="sourceLineNo">271</span>      s.withStartRow(row, true).withStopRow(row, true);<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    }<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    return s;<a name="line.273"></a>
+<span class="sourceLineNo">274</span>  }<a name="line.274"></a>
+<span class="sourceLineNo">275</span><a name="line.275"></a>
+<span class="sourceLineNo">276</span>  /**<a name="line.276"></a>
+<span class="sourceLineNo">277</span>   * Extracts the {@link SpaceViolationPolicy} and {@link TableName} f

<TRUNCATED>

[04/26] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
index ffdf85e..5a359fc 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
@@ -34,27 +34,27 @@
 <span class="sourceLineNo">026</span><a name="line.26"></a>
 <span class="sourceLineNo">027</span>{<a name="line.27"></a>
 <span class="sourceLineNo">028</span>  private final HRegionServer regionServer;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>  private final String filter;<a name="line.29"></a>
+<span class="sourceLineNo">029</span>  private final String format;<a name="line.29"></a>
 <span class="sourceLineNo">030</span>  private final String bcn;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>  private final String format;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>  private final String bcv;<a name="line.32"></a>
+<span class="sourceLineNo">031</span>  private final String bcv;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>  private final String filter;<a name="line.32"></a>
 <span class="sourceLineNo">033</span>  protected static org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl.ImplData __jamon_setOptionalArguments(org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl.ImplData p_implData)<a name="line.33"></a>
 <span class="sourceLineNo">034</span>  {<a name="line.34"></a>
-<span class="sourceLineNo">035</span>    if(! p_implData.getFilter__IsNotDefault())<a name="line.35"></a>
+<span class="sourceLineNo">035</span>    if(! p_implData.getFormat__IsNotDefault())<a name="line.35"></a>
 <span class="sourceLineNo">036</span>    {<a name="line.36"></a>
-<span class="sourceLineNo">037</span>      p_implData.setFilter("general");<a name="line.37"></a>
+<span class="sourceLineNo">037</span>      p_implData.setFormat("html");<a name="line.37"></a>
 <span class="sourceLineNo">038</span>    }<a name="line.38"></a>
 <span class="sourceLineNo">039</span>    if(! p_implData.getBcn__IsNotDefault())<a name="line.39"></a>
 <span class="sourceLineNo">040</span>    {<a name="line.40"></a>
 <span class="sourceLineNo">041</span>      p_implData.setBcn("");<a name="line.41"></a>
 <span class="sourceLineNo">042</span>    }<a name="line.42"></a>
-<span class="sourceLineNo">043</span>    if(! p_implData.getFormat__IsNotDefault())<a name="line.43"></a>
+<span class="sourceLineNo">043</span>    if(! p_implData.getBcv__IsNotDefault())<a name="line.43"></a>
 <span class="sourceLineNo">044</span>    {<a name="line.44"></a>
-<span class="sourceLineNo">045</span>      p_implData.setFormat("html");<a name="line.45"></a>
+<span class="sourceLineNo">045</span>      p_implData.setBcv("");<a name="line.45"></a>
 <span class="sourceLineNo">046</span>    }<a name="line.46"></a>
-<span class="sourceLineNo">047</span>    if(! p_implData.getBcv__IsNotDefault())<a name="line.47"></a>
+<span class="sourceLineNo">047</span>    if(! p_implData.getFilter__IsNotDefault())<a name="line.47"></a>
 <span class="sourceLineNo">048</span>    {<a name="line.48"></a>
-<span class="sourceLineNo">049</span>      p_implData.setBcv("");<a name="line.49"></a>
+<span class="sourceLineNo">049</span>      p_implData.setFilter("general");<a name="line.49"></a>
 <span class="sourceLineNo">050</span>    }<a name="line.50"></a>
 <span class="sourceLineNo">051</span>    return p_implData;<a name="line.51"></a>
 <span class="sourceLineNo">052</span>  }<a name="line.52"></a>
@@ -62,10 +62,10 @@
 <span class="sourceLineNo">054</span>  {<a name="line.54"></a>
 <span class="sourceLineNo">055</span>    super(p_templateManager, __jamon_setOptionalArguments(p_implData));<a name="line.55"></a>
 <span class="sourceLineNo">056</span>    regionServer = p_implData.getRegionServer();<a name="line.56"></a>
-<span class="sourceLineNo">057</span>    filter = p_implData.getFilter();<a name="line.57"></a>
+<span class="sourceLineNo">057</span>    format = p_implData.getFormat();<a name="line.57"></a>
 <span class="sourceLineNo">058</span>    bcn = p_implData.getBcn();<a name="line.58"></a>
-<span class="sourceLineNo">059</span>    format = p_implData.getFormat();<a name="line.59"></a>
-<span class="sourceLineNo">060</span>    bcv = p_implData.getBcv();<a name="line.60"></a>
+<span class="sourceLineNo">059</span>    bcv = p_implData.getBcv();<a name="line.59"></a>
+<span class="sourceLineNo">060</span>    filter = p_implData.getFilter();<a name="line.60"></a>
 <span class="sourceLineNo">061</span>  }<a name="line.61"></a>
 <span class="sourceLineNo">062</span>  <a name="line.62"></a>
 <span class="sourceLineNo">063</span>  @Override public void renderNoFlush(final java.io.Writer jamonWriter)<a name="line.63"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/export_control.html
----------------------------------------------------------------------
diff --git a/export_control.html b/export_control.html
index 3e96556..262f30a 100644
--- a/export_control.html
+++ b/export_control.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="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Export Control
@@ -336,7 +336,7 @@ for more details.</p>
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-06-20</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-06-21</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-annotations/checkstyle.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/checkstyle.html b/hbase-annotations/checkstyle.html
index 1e5912a..168e9c1 100644
--- a/hbase-annotations/checkstyle.html
+++ b/hbase-annotations/checkstyle.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-annotations/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependencies.html b/hbase-annotations/dependencies.html
index c2a8e8a..42f28c6 100644
--- a/hbase-annotations/dependencies.html
+++ b/hbase-annotations/dependencies.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-annotations/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependency-convergence.html b/hbase-annotations/dependency-convergence.html
index 6282bdf..200af3d 100644
--- a/hbase-annotations/dependency-convergence.html
+++ b/hbase-annotations/dependency-convergence.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-annotations/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependency-info.html b/hbase-annotations/dependency-info.html
index 7c8be18..359b1f5 100644
--- a/hbase-annotations/dependency-info.html
+++ b/hbase-annotations/dependency-info.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-annotations/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependency-management.html b/hbase-annotations/dependency-management.html
index 090071c..bab9d79 100644
--- a/hbase-annotations/dependency-management.html
+++ b/hbase-annotations/dependency-management.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-annotations/index.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/index.html b/hbase-annotations/index.html
index b776d20..60fe33a 100644
--- a/hbase-annotations/index.html
+++ b/hbase-annotations/index.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-annotations/integration.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/integration.html b/hbase-annotations/integration.html
index 3e305f8..8a78be9 100644
--- a/hbase-annotations/integration.html
+++ b/hbase-annotations/integration.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-annotations/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/issue-tracking.html b/hbase-annotations/issue-tracking.html
index b857f7b..985aa30 100644
--- a/hbase-annotations/issue-tracking.html
+++ b/hbase-annotations/issue-tracking.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-annotations/license.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/license.html b/hbase-annotations/license.html
index 60c9b38..868ec84 100644
--- a/hbase-annotations/license.html
+++ b/hbase-annotations/license.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-annotations/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/mail-lists.html b/hbase-annotations/mail-lists.html
index 8c5781a..c6d491c 100644
--- a/hbase-annotations/mail-lists.html
+++ b/hbase-annotations/mail-lists.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-annotations/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/plugin-management.html b/hbase-annotations/plugin-management.html
index b1205de..c8525a6 100644
--- a/hbase-annotations/plugin-management.html
+++ b/hbase-annotations/plugin-management.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-annotations/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/plugins.html b/hbase-annotations/plugins.html
index c368677..54929ec 100644
--- a/hbase-annotations/plugins.html
+++ b/hbase-annotations/plugins.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-annotations/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/project-info.html b/hbase-annotations/project-info.html
index f26251c..289872f 100644
--- a/hbase-annotations/project-info.html
+++ b/hbase-annotations/project-info.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-annotations/project-reports.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/project-reports.html b/hbase-annotations/project-reports.html
index 733bc72..93031c7 100644
--- a/hbase-annotations/project-reports.html
+++ b/hbase-annotations/project-reports.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-annotations/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/project-summary.html b/hbase-annotations/project-summary.html
index 44205ba..a8c2941 100644
--- a/hbase-annotations/project-summary.html
+++ b/hbase-annotations/project-summary.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-annotations/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/source-repository.html b/hbase-annotations/source-repository.html
index 7b25ed2..9f2fd57 100644
--- a/hbase-annotations/source-repository.html
+++ b/hbase-annotations/source-repository.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-annotations/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/team-list.html b/hbase-annotations/team-list.html
index 305190e..a6f6832 100644
--- a/hbase-annotations/team-list.html
+++ b/hbase-annotations/team-list.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/dependencies.html b/hbase-archetypes/dependencies.html
index 0addb55..7ae4ecb 100644
--- a/hbase-archetypes/dependencies.html
+++ b/hbase-archetypes/dependencies.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/dependency-convergence.html b/hbase-archetypes/dependency-convergence.html
index 5f48599..46d80db 100644
--- a/hbase-archetypes/dependency-convergence.html
+++ b/hbase-archetypes/dependency-convergence.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/dependency-info.html b/hbase-archetypes/dependency-info.html
index 77038c6..a31318f 100644
--- a/hbase-archetypes/dependency-info.html
+++ b/hbase-archetypes/dependency-info.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/dependency-management.html b/hbase-archetypes/dependency-management.html
index a2cb465..ee7b3bd 100644
--- a/hbase-archetypes/dependency-management.html
+++ b/hbase-archetypes/dependency-management.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-archetype-builder/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/dependencies.html b/hbase-archetypes/hbase-archetype-builder/dependencies.html
index c046101..2fbd2fd 100644
--- a/hbase-archetypes/hbase-archetype-builder/dependencies.html
+++ b/hbase-archetypes/hbase-archetype-builder/dependencies.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-archetype-builder/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/dependency-convergence.html b/hbase-archetypes/hbase-archetype-builder/dependency-convergence.html
index d32e521..77714de 100644
--- a/hbase-archetypes/hbase-archetype-builder/dependency-convergence.html
+++ b/hbase-archetypes/hbase-archetype-builder/dependency-convergence.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-archetype-builder/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/dependency-info.html b/hbase-archetypes/hbase-archetype-builder/dependency-info.html
index c4fa055..66b32d7 100644
--- a/hbase-archetypes/hbase-archetype-builder/dependency-info.html
+++ b/hbase-archetypes/hbase-archetype-builder/dependency-info.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-archetype-builder/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/dependency-management.html b/hbase-archetypes/hbase-archetype-builder/dependency-management.html
index 9453499..7f5e110 100644
--- a/hbase-archetypes/hbase-archetype-builder/dependency-management.html
+++ b/hbase-archetypes/hbase-archetype-builder/dependency-management.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-archetype-builder/index.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/index.html b/hbase-archetypes/hbase-archetype-builder/index.html
index 47e7a1f..a3f4659 100644
--- a/hbase-archetypes/hbase-archetype-builder/index.html
+++ b/hbase-archetypes/hbase-archetype-builder/index.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-archetype-builder/integration.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/integration.html b/hbase-archetypes/hbase-archetype-builder/integration.html
index 4a206e5..6a58cc8 100644
--- a/hbase-archetypes/hbase-archetype-builder/integration.html
+++ b/hbase-archetypes/hbase-archetype-builder/integration.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-archetype-builder/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/issue-tracking.html b/hbase-archetypes/hbase-archetype-builder/issue-tracking.html
index 902a25d..2240c7f 100644
--- a/hbase-archetypes/hbase-archetype-builder/issue-tracking.html
+++ b/hbase-archetypes/hbase-archetype-builder/issue-tracking.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-archetype-builder/license.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/license.html b/hbase-archetypes/hbase-archetype-builder/license.html
index 2af5048..c916c73 100644
--- a/hbase-archetypes/hbase-archetype-builder/license.html
+++ b/hbase-archetypes/hbase-archetype-builder/license.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-archetype-builder/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/mail-lists.html b/hbase-archetypes/hbase-archetype-builder/mail-lists.html
index 6aad5f2..0f66122 100644
--- a/hbase-archetypes/hbase-archetype-builder/mail-lists.html
+++ b/hbase-archetypes/hbase-archetype-builder/mail-lists.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-archetype-builder/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/plugin-management.html b/hbase-archetypes/hbase-archetype-builder/plugin-management.html
index d7170dd..af092dc 100644
--- a/hbase-archetypes/hbase-archetype-builder/plugin-management.html
+++ b/hbase-archetypes/hbase-archetype-builder/plugin-management.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-archetype-builder/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/plugins.html b/hbase-archetypes/hbase-archetype-builder/plugins.html
index 36e144a..7c0b86f 100644
--- a/hbase-archetypes/hbase-archetype-builder/plugins.html
+++ b/hbase-archetypes/hbase-archetype-builder/plugins.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-archetype-builder/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/project-info.html b/hbase-archetypes/hbase-archetype-builder/project-info.html
index a77622a..12e3b19 100644
--- a/hbase-archetypes/hbase-archetype-builder/project-info.html
+++ b/hbase-archetypes/hbase-archetype-builder/project-info.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-archetype-builder/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/project-summary.html b/hbase-archetypes/hbase-archetype-builder/project-summary.html
index 0f75b7f..d3c26e5 100644
--- a/hbase-archetypes/hbase-archetype-builder/project-summary.html
+++ b/hbase-archetypes/hbase-archetype-builder/project-summary.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-archetype-builder/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/source-repository.html b/hbase-archetypes/hbase-archetype-builder/source-repository.html
index 0205944..293e861 100644
--- a/hbase-archetypes/hbase-archetype-builder/source-repository.html
+++ b/hbase-archetypes/hbase-archetype-builder/source-repository.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-archetype-builder/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/team-list.html b/hbase-archetypes/hbase-archetype-builder/team-list.html
index 2c91695..6c38ea3 100644
--- a/hbase-archetypes/hbase-archetype-builder/team-list.html
+++ b/hbase-archetypes/hbase-archetype-builder/team-list.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-client-project/checkstyle.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/checkstyle.html b/hbase-archetypes/hbase-client-project/checkstyle.html
index d2415a4..694cb6c 100644
--- a/hbase-archetypes/hbase-client-project/checkstyle.html
+++ b/hbase-archetypes/hbase-client-project/checkstyle.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-client-project/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/dependencies.html b/hbase-archetypes/hbase-client-project/dependencies.html
index 5613680..592dc93 100644
--- a/hbase-archetypes/hbase-client-project/dependencies.html
+++ b/hbase-archetypes/hbase-client-project/dependencies.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-client-project/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/dependency-convergence.html b/hbase-archetypes/hbase-client-project/dependency-convergence.html
index be2b1a2..535932c 100644
--- a/hbase-archetypes/hbase-client-project/dependency-convergence.html
+++ b/hbase-archetypes/hbase-client-project/dependency-convergence.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-client-project/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/dependency-info.html b/hbase-archetypes/hbase-client-project/dependency-info.html
index 7587118..b4657c9 100644
--- a/hbase-archetypes/hbase-client-project/dependency-info.html
+++ b/hbase-archetypes/hbase-client-project/dependency-info.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-client-project/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/dependency-management.html b/hbase-archetypes/hbase-client-project/dependency-management.html
index 03db153..78de514 100644
--- a/hbase-archetypes/hbase-client-project/dependency-management.html
+++ b/hbase-archetypes/hbase-client-project/dependency-management.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-client-project/index.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/index.html b/hbase-archetypes/hbase-client-project/index.html
index 67ec112..e1a0aee 100644
--- a/hbase-archetypes/hbase-client-project/index.html
+++ b/hbase-archetypes/hbase-client-project/index.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-client-project/integration.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/integration.html b/hbase-archetypes/hbase-client-project/integration.html
index ffe00b1..07a8072 100644
--- a/hbase-archetypes/hbase-client-project/integration.html
+++ b/hbase-archetypes/hbase-client-project/integration.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-client-project/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/issue-tracking.html b/hbase-archetypes/hbase-client-project/issue-tracking.html
index 49c6e22..0358e52 100644
--- a/hbase-archetypes/hbase-client-project/issue-tracking.html
+++ b/hbase-archetypes/hbase-client-project/issue-tracking.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-client-project/license.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/license.html b/hbase-archetypes/hbase-client-project/license.html
index 17f212e..cc7eb96 100644
--- a/hbase-archetypes/hbase-client-project/license.html
+++ b/hbase-archetypes/hbase-client-project/license.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-client-project/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/mail-lists.html b/hbase-archetypes/hbase-client-project/mail-lists.html
index 7350f4c..908e4ea 100644
--- a/hbase-archetypes/hbase-client-project/mail-lists.html
+++ b/hbase-archetypes/hbase-client-project/mail-lists.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-client-project/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/plugin-management.html b/hbase-archetypes/hbase-client-project/plugin-management.html
index a82b6d1..2708f4d 100644
--- a/hbase-archetypes/hbase-client-project/plugin-management.html
+++ b/hbase-archetypes/hbase-client-project/plugin-management.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-client-project/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/plugins.html b/hbase-archetypes/hbase-client-project/plugins.html
index 2c05f34..462b8c3 100644
--- a/hbase-archetypes/hbase-client-project/plugins.html
+++ b/hbase-archetypes/hbase-client-project/plugins.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>


[03/26] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-client-project/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/project-info.html b/hbase-archetypes/hbase-client-project/project-info.html
index 5e7ce44..691d57a 100644
--- a/hbase-archetypes/hbase-client-project/project-info.html
+++ b/hbase-archetypes/hbase-client-project/project-info.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-client-project/project-reports.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/project-reports.html b/hbase-archetypes/hbase-client-project/project-reports.html
index 415d47f..539645c 100644
--- a/hbase-archetypes/hbase-client-project/project-reports.html
+++ b/hbase-archetypes/hbase-client-project/project-reports.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-client-project/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/project-summary.html b/hbase-archetypes/hbase-client-project/project-summary.html
index ba5c131..1b38cc4 100644
--- a/hbase-archetypes/hbase-client-project/project-summary.html
+++ b/hbase-archetypes/hbase-client-project/project-summary.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-client-project/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/source-repository.html b/hbase-archetypes/hbase-client-project/source-repository.html
index 7ed95ec..f1bd2e9 100644
--- a/hbase-archetypes/hbase-client-project/source-repository.html
+++ b/hbase-archetypes/hbase-client-project/source-repository.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-client-project/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/team-list.html b/hbase-archetypes/hbase-client-project/team-list.html
index 9ff9c96..120c13e 100644
--- a/hbase-archetypes/hbase-client-project/team-list.html
+++ b/hbase-archetypes/hbase-client-project/team-list.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-shaded-client-project/checkstyle.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/checkstyle.html b/hbase-archetypes/hbase-shaded-client-project/checkstyle.html
index 835e9db..46c6581 100644
--- a/hbase-archetypes/hbase-shaded-client-project/checkstyle.html
+++ b/hbase-archetypes/hbase-shaded-client-project/checkstyle.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-shaded-client-project/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/dependencies.html b/hbase-archetypes/hbase-shaded-client-project/dependencies.html
index fc6b321..9025245 100644
--- a/hbase-archetypes/hbase-shaded-client-project/dependencies.html
+++ b/hbase-archetypes/hbase-shaded-client-project/dependencies.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-shaded-client-project/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/dependency-convergence.html b/hbase-archetypes/hbase-shaded-client-project/dependency-convergence.html
index 9f0df6b..6277358 100644
--- a/hbase-archetypes/hbase-shaded-client-project/dependency-convergence.html
+++ b/hbase-archetypes/hbase-shaded-client-project/dependency-convergence.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-shaded-client-project/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/dependency-info.html b/hbase-archetypes/hbase-shaded-client-project/dependency-info.html
index c59712b..c8c2dce 100644
--- a/hbase-archetypes/hbase-shaded-client-project/dependency-info.html
+++ b/hbase-archetypes/hbase-shaded-client-project/dependency-info.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-shaded-client-project/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/dependency-management.html b/hbase-archetypes/hbase-shaded-client-project/dependency-management.html
index 284aaf2..df40316 100644
--- a/hbase-archetypes/hbase-shaded-client-project/dependency-management.html
+++ b/hbase-archetypes/hbase-shaded-client-project/dependency-management.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-shaded-client-project/index.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/index.html b/hbase-archetypes/hbase-shaded-client-project/index.html
index d84a58b..83d31f4 100644
--- a/hbase-archetypes/hbase-shaded-client-project/index.html
+++ b/hbase-archetypes/hbase-shaded-client-project/index.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-shaded-client-project/integration.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/integration.html b/hbase-archetypes/hbase-shaded-client-project/integration.html
index d2a97b8..d412bd6 100644
--- a/hbase-archetypes/hbase-shaded-client-project/integration.html
+++ b/hbase-archetypes/hbase-shaded-client-project/integration.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-shaded-client-project/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/issue-tracking.html b/hbase-archetypes/hbase-shaded-client-project/issue-tracking.html
index 8b270df..d03b70b 100644
--- a/hbase-archetypes/hbase-shaded-client-project/issue-tracking.html
+++ b/hbase-archetypes/hbase-shaded-client-project/issue-tracking.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-shaded-client-project/license.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/license.html b/hbase-archetypes/hbase-shaded-client-project/license.html
index 5aaeb5a..cb38da9 100644
--- a/hbase-archetypes/hbase-shaded-client-project/license.html
+++ b/hbase-archetypes/hbase-shaded-client-project/license.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-shaded-client-project/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/mail-lists.html b/hbase-archetypes/hbase-shaded-client-project/mail-lists.html
index 7134113..f8899a2 100644
--- a/hbase-archetypes/hbase-shaded-client-project/mail-lists.html
+++ b/hbase-archetypes/hbase-shaded-client-project/mail-lists.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-shaded-client-project/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/plugin-management.html b/hbase-archetypes/hbase-shaded-client-project/plugin-management.html
index e049e81..d29ec0e 100644
--- a/hbase-archetypes/hbase-shaded-client-project/plugin-management.html
+++ b/hbase-archetypes/hbase-shaded-client-project/plugin-management.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-shaded-client-project/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/plugins.html b/hbase-archetypes/hbase-shaded-client-project/plugins.html
index 2e6566b..2df5e05 100644
--- a/hbase-archetypes/hbase-shaded-client-project/plugins.html
+++ b/hbase-archetypes/hbase-shaded-client-project/plugins.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-shaded-client-project/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/project-info.html b/hbase-archetypes/hbase-shaded-client-project/project-info.html
index ac1118c..c501bc8 100644
--- a/hbase-archetypes/hbase-shaded-client-project/project-info.html
+++ b/hbase-archetypes/hbase-shaded-client-project/project-info.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-shaded-client-project/project-reports.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/project-reports.html b/hbase-archetypes/hbase-shaded-client-project/project-reports.html
index b8ba56c..49b0595 100644
--- a/hbase-archetypes/hbase-shaded-client-project/project-reports.html
+++ b/hbase-archetypes/hbase-shaded-client-project/project-reports.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-shaded-client-project/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/project-summary.html b/hbase-archetypes/hbase-shaded-client-project/project-summary.html
index 75f97ad..98f7b9a 100644
--- a/hbase-archetypes/hbase-shaded-client-project/project-summary.html
+++ b/hbase-archetypes/hbase-shaded-client-project/project-summary.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-shaded-client-project/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/source-repository.html b/hbase-archetypes/hbase-shaded-client-project/source-repository.html
index 9019d97..f6282cd 100644
--- a/hbase-archetypes/hbase-shaded-client-project/source-repository.html
+++ b/hbase-archetypes/hbase-shaded-client-project/source-repository.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/hbase-shaded-client-project/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/team-list.html b/hbase-archetypes/hbase-shaded-client-project/team-list.html
index 8e64548..3dc09a8 100644
--- a/hbase-archetypes/hbase-shaded-client-project/team-list.html
+++ b/hbase-archetypes/hbase-shaded-client-project/team-list.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/index.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/index.html b/hbase-archetypes/index.html
index 6b056e8..67c5dab 100644
--- a/hbase-archetypes/index.html
+++ b/hbase-archetypes/index.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/integration.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/integration.html b/hbase-archetypes/integration.html
index 275be61..3bee3e4 100644
--- a/hbase-archetypes/integration.html
+++ b/hbase-archetypes/integration.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/issue-tracking.html b/hbase-archetypes/issue-tracking.html
index aa59565..c4171f5 100644
--- a/hbase-archetypes/issue-tracking.html
+++ b/hbase-archetypes/issue-tracking.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/license.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/license.html b/hbase-archetypes/license.html
index 922e442..bb4a580 100644
--- a/hbase-archetypes/license.html
+++ b/hbase-archetypes/license.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/mail-lists.html b/hbase-archetypes/mail-lists.html
index a8623fa..ac6a3f9 100644
--- a/hbase-archetypes/mail-lists.html
+++ b/hbase-archetypes/mail-lists.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/plugin-management.html b/hbase-archetypes/plugin-management.html
index 91c7067..95b5107 100644
--- a/hbase-archetypes/plugin-management.html
+++ b/hbase-archetypes/plugin-management.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/plugins.html b/hbase-archetypes/plugins.html
index fca7976..ab76ef2 100644
--- a/hbase-archetypes/plugins.html
+++ b/hbase-archetypes/plugins.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/project-info.html b/hbase-archetypes/project-info.html
index b563b54..7ce85be 100644
--- a/hbase-archetypes/project-info.html
+++ b/hbase-archetypes/project-info.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/project-summary.html b/hbase-archetypes/project-summary.html
index 87d4a0b..df995fa 100644
--- a/hbase-archetypes/project-summary.html
+++ b/hbase-archetypes/project-summary.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/source-repository.html b/hbase-archetypes/source-repository.html
index 8961934..9ce7510 100644
--- a/hbase-archetypes/source-repository.html
+++ b/hbase-archetypes/source-repository.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-archetypes/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/team-list.html b/hbase-archetypes/team-list.html
index f621c37..1424a59 100644
--- a/hbase-archetypes/team-list.html
+++ b/hbase-archetypes/team-list.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-spark/checkstyle.html
----------------------------------------------------------------------
diff --git a/hbase-spark/checkstyle.html b/hbase-spark/checkstyle.html
index 9b6ab60..50a47b1 100644
--- a/hbase-spark/checkstyle.html
+++ b/hbase-spark/checkstyle.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-spark/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-spark/dependencies.html b/hbase-spark/dependencies.html
index e85e87b..b5667fc 100644
--- a/hbase-spark/dependencies.html
+++ b/hbase-spark/dependencies.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>
@@ -5585,7 +5585,7 @@ The following provides more details on the included cryptographic software:
 <td>compile: 1</td></tr>
 <tr class="b">
 <td>test: 17</td>
-<td>test: 26.08 MB</td>
+<td>test: 26.09 MB</td>
 <td>test: 6,305</td>
 <td>test: 5,665</td>
 <td>test: 154</td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-spark/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-spark/dependency-convergence.html b/hbase-spark/dependency-convergence.html
index 9f8b469..3cc63a2 100644
--- a/hbase-spark/dependency-convergence.html
+++ b/hbase-spark/dependency-convergence.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-spark/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-spark/dependency-info.html b/hbase-spark/dependency-info.html
index f5c37e6..0b8cfe0 100644
--- a/hbase-spark/dependency-info.html
+++ b/hbase-spark/dependency-info.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-spark/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-spark/dependency-management.html b/hbase-spark/dependency-management.html
index ee69e81..f687857 100644
--- a/hbase-spark/dependency-management.html
+++ b/hbase-spark/dependency-management.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-spark/index.html
----------------------------------------------------------------------
diff --git a/hbase-spark/index.html b/hbase-spark/index.html
index ef827af..6bb684d 100644
--- a/hbase-spark/index.html
+++ b/hbase-spark/index.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-spark/integration.html
----------------------------------------------------------------------
diff --git a/hbase-spark/integration.html b/hbase-spark/integration.html
index 146f854..073bc9a 100644
--- a/hbase-spark/integration.html
+++ b/hbase-spark/integration.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-spark/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-spark/issue-tracking.html b/hbase-spark/issue-tracking.html
index f1e205c..ce5b4c0 100644
--- a/hbase-spark/issue-tracking.html
+++ b/hbase-spark/issue-tracking.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-spark/license.html
----------------------------------------------------------------------
diff --git a/hbase-spark/license.html b/hbase-spark/license.html
index e2bfecc..b9fb5d7 100644
--- a/hbase-spark/license.html
+++ b/hbase-spark/license.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-spark/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-spark/mail-lists.html b/hbase-spark/mail-lists.html
index fa55e10..beeaca1 100644
--- a/hbase-spark/mail-lists.html
+++ b/hbase-spark/mail-lists.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-spark/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-spark/plugin-management.html b/hbase-spark/plugin-management.html
index 51f6aae..b41b65f 100644
--- a/hbase-spark/plugin-management.html
+++ b/hbase-spark/plugin-management.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-spark/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-spark/plugins.html b/hbase-spark/plugins.html
index 8bff085..45e5e29 100644
--- a/hbase-spark/plugins.html
+++ b/hbase-spark/plugins.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-spark/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-spark/project-info.html b/hbase-spark/project-info.html
index b384d43..3dbcba8 100644
--- a/hbase-spark/project-info.html
+++ b/hbase-spark/project-info.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-spark/project-reports.html
----------------------------------------------------------------------
diff --git a/hbase-spark/project-reports.html b/hbase-spark/project-reports.html
index bcc6dbe..6b1443c 100644
--- a/hbase-spark/project-reports.html
+++ b/hbase-spark/project-reports.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-spark/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-spark/project-summary.html b/hbase-spark/project-summary.html
index 7f0fe94..f5d3261 100644
--- a/hbase-spark/project-summary.html
+++ b/hbase-spark/project-summary.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-spark/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-spark/source-repository.html b/hbase-spark/source-repository.html
index 49f74c4..8b27f0b 100644
--- a/hbase-spark/source-repository.html
+++ b/hbase-spark/source-repository.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/hbase-spark/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-spark/team-list.html b/hbase-spark/team-list.html
index 235cd72..99bd9e0 100644
--- a/hbase-spark/team-list.html
+++ b/hbase-spark/team-list.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-20 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-06-21 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-06-20</span>
+        <span id="publishDate">Last Published: 2017-06-21</span>
                   &nbsp;| <span id="projectVersion">Version: 3.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/index.html
----------------------------------------------------------------------
diff --git a/index.html b/index.html
index 5ca8da8..8ef96d0 100644
--- a/index.html
+++ b/index.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="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Apache HBaseâ„¢ Home</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -438,7 +438,7 @@ Apache HBase is an open-source, distributed, versioned, non-relational database
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-06-20</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-06-21</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/integration.html
----------------------------------------------------------------------
diff --git a/integration.html b/integration.html
index 325da0b..dcd83f5 100644
--- a/integration.html
+++ b/integration.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="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Continuous Integration</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -296,7 +296,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-06-20</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-06-21</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/issue-tracking.html
----------------------------------------------------------------------
diff --git a/issue-tracking.html b/issue-tracking.html
index c08d07f..3998b3a 100644
--- a/issue-tracking.html
+++ b/issue-tracking.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="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Issue Tracking</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -293,7 +293,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-06-20</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-06-21</li>
             </p>
                 </div>
 


[24/26] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/apache_hbase_reference_guide.pdfmarks
----------------------------------------------------------------------
diff --git a/apache_hbase_reference_guide.pdfmarks b/apache_hbase_reference_guide.pdfmarks
index 39073cc..8b2fe38 100644
--- a/apache_hbase_reference_guide.pdfmarks
+++ b/apache_hbase_reference_guide.pdfmarks
@@ -2,8 +2,8 @@
   /Author (Apache HBase Team)
   /Subject ()
   /Keywords ()
-  /ModDate (D:20170620144949)
-  /CreationDate (D:20170620144949)
+  /ModDate (D:20170621144949)
+  /CreationDate (D:20170621144949)
   /Creator (Asciidoctor PDF 1.5.0.alpha.6, based on Prawn 1.2.1)
   /Producer ()
   /DOCINFO pdfmark

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/book.html
----------------------------------------------------------------------
diff --git a/book.html b/book.html
index d388365..337ce1e 100644
--- a/book.html
+++ b/book.html
@@ -3747,6 +3747,21 @@ Configuration that it is thought rare anyone would change can exist only in code
 </dd>
 </dl>
 </div>
+<div id="hbase.regionserver.hostname.disable.master.reversedns" class="dlist">
+<dl>
+<dt class="hdlist1"><code>hbase.regionserver.hostname.disable.master.reversedns</code></dt>
+<dd>
+<div class="paragraph">
+<div class="title">Description</div>
+<p>This config is for experts: don&#8217;t set its value unless you really know what you are doing. When set to true, regionserver will use the current node hostname for the servername and HMaster will skip reverse DNS lookup and use the hostname sent by regionserver instead. Note that this config and hbase.regionserver.hostname are mutually exclusive. See <a href="https://issues.apache.org/jira/browse/HBASE-18226" class="bare">https://issues.apache.org/jira/browse/HBASE-18226</a> for more details.</p>
+</div>
+<div class="paragraph">
+<div class="title">Default</div>
+<p><code>false</code></p>
+</div>
+</dd>
+</dl>
+</div>
 <div id="hbase.master.keytab.file" class="dlist">
 <dl>
 <dt class="hdlist1"><code>hbase.master.keytab.file</code></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/bulk-loads.html
----------------------------------------------------------------------
diff --git a/bulk-loads.html b/bulk-loads.html
index 9ee2aba..873b90c 100644
--- a/bulk-loads.html
+++ b/bulk-loads.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="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Bulk Loads in Apache HBase (TM)
@@ -311,7 +311,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: 2017-06-20</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-06-21</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/checkstyle-aggregate.html
----------------------------------------------------------------------
diff --git a/checkstyle-aggregate.html b/checkstyle-aggregate.html
index 6aac1ed..432110e 100644
--- a/checkstyle-aggregate.html
+++ b/checkstyle-aggregate.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="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Checkstyle Results</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -7326,12 +7326,12 @@
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_javadoc.html#JavadocTagContinuationIndentation">JavadocTagContinuationIndentation</a>
 <ul>
 <li>offset: <tt>&quot;2&quot;</tt></li></ul></td>
-<td>811</td>
+<td>798</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
 <tr class="b">
 <td></td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_javadoc.html#NonEmptyAtclauseDescription">NonEmptyAtclauseDescription</a></td>
-<td>3213</td>
+<td>3226</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
 <tr class="a">
 <td>misc</td>
@@ -13127,7 +13127,7 @@
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
-<td>JavadocTagContinuationIndentation</td>
+<td>NonEmptyAtclauseDescription</td>
 <td>Javadoc comment at column 43 has parse error. Missed HTML close tag 'TableName'. Sometimes it means that close tag missed for one of previous tags.</td>
 <td>181</td></tr>
 <tr class="a">
@@ -16676,7 +16676,7 @@
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
-<td>JavadocTagContinuationIndentation</td>
+<td>NonEmptyAtclauseDescription</td>
 <td>Javadoc comment at column 64 has parse error. Missed HTML close tag 'code'. Sometimes it means that close tag missed for one of previous tags.</td>
 <td>1956</td></tr>
 <tr class="b">
@@ -21335,7 +21335,7 @@
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
-<td>JavadocTagContinuationIndentation</td>
+<td>NonEmptyAtclauseDescription</td>
 <td>Javadoc comment at column 37 has parse error. Details: no viable alternative at input '&lt;ColumnFamily,' while parsing HTML_ELEMENT</td>
 <td>29</td></tr></table></div>
 <div class="section">
@@ -36914,7 +36914,7 @@
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
-<td>JavadocTagContinuationIndentation</td>
+<td>NonEmptyAtclauseDescription</td>
 <td>Javadoc comment at column 80 has parse error. Details: no viable alternative at input '&lt;TableName&gt; tables)\n   * Used when region startKeys of each table is available, input as &lt;TableName,' while parsing HTML_TAG</td>
 <td>206</td></tr>
 <tr class="a">
@@ -36944,19 +36944,19 @@
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
-<td>JavadocTagContinuationIndentation</td>
+<td>NonEmptyAtclauseDescription</td>
 <td>Javadoc comment at column 66 has parse error. Details: no viable alternative at input '&lt;table,' while parsing HTML_ELEMENT</td>
 <td>334</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
-<td>JavadocTagContinuationIndentation</td>
+<td>NonEmptyAtclauseDescription</td>
 <td>Javadoc comment at column 66 has parse error. Details: no viable alternative at input '&lt;table,' while parsing HTML_ELEMENT</td>
 <td>342</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
-<td>JavadocTagContinuationIndentation</td>
+<td>NonEmptyAtclauseDescription</td>
 <td>Javadoc comment at column 32 has parse error. Details: no viable alternative at input '&lt;tableName,' while parsing HTML_ELEMENT</td>
 <td>351</td></tr>
 <tr class="b">
@@ -36968,7 +36968,7 @@
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
-<td>JavadocTagContinuationIndentation</td>
+<td>NonEmptyAtclauseDescription</td>
 <td>Javadoc comment at column 24 has parse error. Details: no viable alternative at input '&lt;tableName,' while parsing HTML_ELEMENT</td>
 <td>379</td></tr>
 <tr class="b">
@@ -36980,7 +36980,7 @@
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
-<td>JavadocTagContinuationIndentation</td>
+<td>NonEmptyAtclauseDescription</td>
 <td>Javadoc comment at column 43 has parse error. Details: no viable alternative at input '&lt;table,' while parsing HTML_ELEMENT</td>
 <td>421</td></tr>
 <tr class="b">
@@ -36998,7 +36998,7 @@
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
-<td>JavadocTagContinuationIndentation</td>
+<td>NonEmptyAtclauseDescription</td>
 <td>Javadoc comment at column 36 has parse error. Details: no viable alternative at input '&lt;TableName,' while parsing HTML_ELEMENT</td>
 <td>487</td></tr></table></div>
 <div class="section">
@@ -51686,7 +51686,7 @@
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
-<td>JavadocTagContinuationIndentation</td>
+<td>NonEmptyAtclauseDescription</td>
 <td>Javadoc comment at column 60 has parse error. Missed HTML close tag 'Comparable'. Sometimes it means that close tag missed for one of previous tags.</td>
 <td>28</td></tr>
 <tr class="b">
@@ -54613,31 +54613,31 @@
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaRegionSizesResponse.RegionSizes' import.</td>
-<td>66</td></tr>
+<td>67</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
-<td>JavadocTagContinuationIndentation</td>
+<td>NonEmptyAtclauseDescription</td>
 <td>Javadoc comment at column 0 has parse error. Unrecognized error from ANTLR parser: null</td>
-<td>72</td></tr>
+<td>73</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 108).</td>
-<td>81</td></tr>
+<td>82</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>design</td>
 <td>HideUtilityClassConstructor</td>
 <td>Utility classes should not have a public or default constructor.</td>
-<td>87</td></tr>
+<td>88</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>414</td></tr></table></div>
+<td>415</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.quotas.QuotaUtil.java">org/apache/hadoop/hbase/quotas/QuotaUtil.java</h3>
 <table border="0" class="table table-striped">
@@ -57847,763 +57847,763 @@
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>747</td></tr>
+<td>762</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>760</td></tr>
+<td>775</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>761</td></tr>
+<td>776</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>766</td></tr>
+<td>781</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>781</td></tr>
+<td>796</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>793</td></tr>
+<td>808</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>794</td></tr>
+<td>809</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>827</td></tr>
+<td>842</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>828</td></tr>
+<td>843</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>893</td></tr>
+<td>908</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>MethodLength</td>
 <td>Method length is 227 lines (max allowed is 150).</td>
-<td>971</td></tr>
+<td>986</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>1063</td></tr>
+<td>1078</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>1087</td></tr>
+<td>1102</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>1088</td></tr>
+<td>1103</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>1089</td></tr>
+<td>1104</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>1090</td></tr>
+<td>1105</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>1091</td></tr>
+<td>1106</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>1092</td></tr>
+<td>1107</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>1093</td></tr>
+<td>1108</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>EmptyBlock</td>
 <td>Must have at least one statement.</td>
-<td>1110</td></tr>
+<td>1125</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>1123</td></tr>
+<td>1138</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>1205</td></tr>
+<td>1220</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>1406</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>'if rcurly' have incorrect indentation level 14, expected level should be 10.</td>
-<td>1448</td></tr>
+<td>1463</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>1708</td></tr>
+<td>1723</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>1744</td></tr>
+<td>1759</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>1750</td></tr>
+<td>1765</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>1789</td></tr>
+<td>1804</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>1823</td></tr>
+<td>1838</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>1831</td></tr>
+<td>1846</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>1907</td></tr>
+<td>1922</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>1908</td></tr>
+<td>1923</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>1909</td></tr>
+<td>1924</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>1910</td></tr>
+<td>1925</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>1911</td></tr>
+<td>1926</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>1912</td></tr>
+<td>1927</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>1913</td></tr>
+<td>1928</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>1949</td></tr>
+<td>1964</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>1962</td></tr>
+<td>1977</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' child have incorrect indentation level 7, expected level should be 8.</td>
-<td>2126</td></tr>
+<td>2141</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>2248</td></tr>
+<td>2263</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>2381</td></tr>
+<td>2396</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>2382</td></tr>
+<td>2397</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>2383</td></tr>
+<td>2398</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>2384</td></tr>
+<td>2399</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>2385</td></tr>
+<td>2400</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>2386</td></tr>
+<td>2401</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>2402</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>2388</td></tr>
+<td>2403</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>2403</td></tr>
+<td>2418</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>2419</td></tr>
+<td>2434</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>2428</td></tr>
+<td>2443</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>2526</td></tr>
+<td>2541</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>2541</td></tr>
+<td>2556</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>2627</td></tr>
+<td>2642</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>2632</td></tr>
+<td>2647</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>2719</td></tr>
+<td>2734</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>2720</td></tr>
+<td>2735</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>2927</td></tr>
+<td>2942</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>2928</td></tr>
+<td>2943</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>2965</td></tr>
+<td>2980</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 have incorrect indentation level 5, expected level should be 4.</td>
-<td>2970</td></tr>
+<td>2985</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'synchronized' have incorrect indentation level 5, expected level should be 4.</td>
-<td>2971</td></tr>
+<td>2986</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'for' have incorrect indentation level 7, expected level should be 6.</td>
-<td>2972</td></tr>
+<td>2987</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'for' child have incorrect indentation level 9, expected level should be 8.</td>
-<td>2973</td></tr>
+<td>2988</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' have incorrect indentation level 9, expected level should be 8.</td>
-<td>2974</td></tr>
+<td>2989</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 have incorrect indentation level 11, expected level should be 10.</td>
-<td>2975</td></tr>
+<td>2990</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' have incorrect indentation level 9, expected level should be 8.</td>
-<td>2976</td></tr>
+<td>2991</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'for rcurly' have incorrect indentation level 7, expected level should be 6.</td>
-<td>2977</td></tr>
+<td>2992</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'synchronized rcurly' have incorrect indentation level 5, expected level should be 4.</td>
-<td>2978</td></tr>
+<td>2993</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 have incorrect indentation level 5, expected level should be 4.</td>
-<td>2979</td></tr>
+<td>2994</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' have incorrect indentation level 3, expected level should be 2.</td>
-<td>2980</td></tr>
+<td>2995</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>3131</td></tr>
+<td>3146</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' have incorrect indentation level 1, expected level should be 2.</td>
-<td>3133</td></tr>
+<td>3148</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'for' have incorrect indentation level 3, expected level should be 4.</td>
-<td>3135</td></tr>
+<td>3150</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'for' child have incorrect indentation level 5, expected level should be 6.</td>
-<td>3136</td></tr>
+<td>3151</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' have incorrect indentation level 5, expected level should be 6.</td>
-<td>3137</td></tr>
+<td>3152</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' child have incorrect indentation level 7, expected level should be 8.</td>
-<td>3138</td></tr>
+<td>3153</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 have incorrect indentation level 7, expected level should be 8.</td>
-<td>3139</td></tr>
+<td>3154</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'try' have incorrect indentation level 7, expected level should be 8.</td>
-<td>3140</td></tr>
+<td>3155</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'try' child have incorrect indentation level 9, expected level should be 10.</td>
-<td>3141</td></tr>
+<td>3156</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'try rcurly' have incorrect indentation level 7, expected level should be 8.</td>
-<td>3142</td></tr>
+<td>3157</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'catch' child have incorrect indentation level 9, expected level should be 10.</td>
-<td>3143</td></tr>
+<td>3158</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'catch rcurly' have incorrect indentation level 7, expected level should be 8.</td>
-<td>3144</td></tr>
+<td>3159</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' have incorrect indentation level 7, expected level should be 8.</td>
-<td>3145</td></tr>
+<td>3160</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' child have incorrect indentation level 9, expected level should be 10.</td>
-<td>3147</td></tr>
+<td>3162</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' have incorrect indentation level 7, expected level should be 8.</td>
-<td>3149</td></tr>
+<td>3164</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' have incorrect indentation level 7, expected level should be 8.</td>
-<td>3151</td></tr>
+<td>3166</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>3152</td></tr>
+<td>3167</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' have incorrect indentation level 9, expected level should be 10.</td>
-<td>3152</td></tr>
+<td>3167</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 have incorrect indentation level 9, expected level should be 10.</td>
-<td>3153</td></tr>
+<td>3168</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' have incorrect indentation level 7, expected level should be 8.</td>
-<td>3154</td></tr>
+<td>3169</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' have incorrect indentation level 7, expected level should be 8.</td>
-<td>3155</td></tr>
+<td>3170</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' child have incorrect indentation level 9, expected level should be 10.</td>
-<td>3159</td></tr>
+<td>3174</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' have incorrect indentation level 9, expected level should be 10.</td>
-<td>3160</td></tr>
+<td>3175</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' child have incorrect indentation level 11, expected level should be 12.</td>
-<td>3162</td></tr>
+<td>3177</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' have incorrect indentation level 11, expected level should be 12.</td>
-<td>3163</td></tr>
+<td>3178</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' child have incorrect indentation level 13, expected level should be 14.</td>
-<td>3165</td></tr>
+<td>3180</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' have incorrect indentation level 11, expected level should be 12.</td>
-<td>3166</td></tr>
+<td>3181</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' have incorrect indentation level 9, expected level should be 10.</td>
-<td>3167</td></tr>
+<td>3182</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'else' child have incorrect indentation level 11, expected level should be 12.</td>
-<td>3168</td></tr>
+<td>3183</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'else rcurly' have incorrect indentation level 9, expected level should be 10.</td>
-<td>3169</td></tr>
+<td>3184</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 have incorrect indentation level 9, expected level should be 10.</td>
-<td>3170</td></tr>
+<td>3185</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' child have incorrect indentation level 9, expected level should be 10.</td>
-<td>3174</td></tr>
+<td>3189</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' have incorrect indentation level 7, expected level should be 8.</td>
-<td>3175</td></tr>
+<td>3190</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' child have incorrect indentation level 7, expected level should be 8.</td>
-<td>3177</td></tr>
+<td>3192</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' have incorrect indentation level 5, expected level should be 6.</td>
-<td>3178</td></tr>
+<td>3193</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'for rcurly' have incorrect indentation level 3, expected level should be 4.</td>
-<td>3179</td></tr>
+<td>3194</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 have incorrect indentation level 3, expected level should be 4.</td>
-<td>3180</td></tr>
+<td>3195</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>3184</td></tr>
+<td>3199</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>3211</td></tr>
+<td>3226</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>3225</td></tr>
+<td>3240</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>3333</td></tr>
+<td>3348</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'ctor def rcurly' have incorrect indentation level 5, expected level should be 4.</td>
-<td>3355</td></tr>
+<td>3370</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 have incorrect indentation level 8, expected level should be 4.</td>
-<td>3428</td></tr>
+<td>3443</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>LeftCurly</td>
 <td>'{' at column 48 should have line break after.</td>
-<td>3450</td></tr>
+<td>3465</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>LeftCurly</td>
 <td>'{' at column 46 should have line break after.</td>
-<td>3451</td></tr>
+<td>3466</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>3493</td></tr>
+<td>3508</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>3494</td></tr>
+<td>3509</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>3550</td></tr>
+<td>3565</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>3551</td></tr>
+<td>3566</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' have incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>3603</td></tr>
+<td>3618</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' have incorrect indentation level 10, expected level should be one of the following: 12, 14.</td>
-<td>3605</td></tr>
+<td>3620</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' child have incorrect indentation level 12, expected level should be one of the following: 14, 16.</td>
-<td>3606</td></tr>
+<td>3621</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' have incorrect indentation level 10, expected level should be one of the following: 12, 14.</td>
-<td>3607</td></tr>
+<td>3622</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' have incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>3608</td></tr>
+<td>3623</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' have incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>3609</td></tr></table></div>
+<td>3624</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine.java">org/apache/hadoop/hbase/regionserver/HRegionServerCommandLine.java</h3>
 <table border="0" class="table table-striped">
@@ -88025,7 +88025,7 @@
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
-<td>JavadocTagContinuationIndentation</td>
+<td>NonEmptyAtclauseDescription</td>
 <td>Javadoc comment at column 33 has parse error. It is forbidden to close singleton HTML tags. Tag: br.</td>
 <td>63</td></tr>
 <tr class="a">
@@ -107411,7 +107411,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-06-20</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-06-21</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/coc.html
----------------------------------------------------------------------
diff --git a/coc.html b/coc.html
index 77e19b0..277d438 100644
--- 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="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Code of Conduct Policy
@@ -380,7 +380,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: 2017-06-20</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-06-21</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/cygwin.html
----------------------------------------------------------------------
diff --git a/cygwin.html b/cygwin.html
index 62662fa..396fee5 100644
--- a/cygwin.html
+++ b/cygwin.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="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Installing Apache HBase (TM) on Windows using Cygwin</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -679,7 +679,7 @@ Now your <b>HBase </b>server is running, <b>start coding</b> and build that next
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-06-20</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-06-21</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/dependencies.html
----------------------------------------------------------------------
diff --git a/dependencies.html b/dependencies.html
index 8822965..12d6d49 100644
--- a/dependencies.html
+++ b/dependencies.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="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Dependencies</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -524,7 +524,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-06-20</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-06-21</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/dependency-convergence.html b/dependency-convergence.html
index b67cd54..103c21c 100644
--- a/dependency-convergence.html
+++ b/dependency-convergence.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="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Reactor Dependency Convergence</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -1841,7 +1841,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-06-20</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-06-21</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/dependency-info.html
----------------------------------------------------------------------
diff --git a/dependency-info.html b/dependency-info.html
index 434768a..f5a7ed6 100644
--- a/dependency-info.html
+++ b/dependency-info.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="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Dependency Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -318,7 +318,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-06-20</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-06-21</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/dependency-management.html
----------------------------------------------------------------------
diff --git a/dependency-management.html b/dependency-management.html
index 5d80199..a80f97f 100644
--- a/dependency-management.html
+++ b/dependency-management.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="20170620" />
+    <meta name="Date-Revision-yyyymmdd" content="20170621" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Dependency Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -894,7 +894,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-06-20</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-06-21</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/constant-values.html
----------------------------------------------------------------------
diff --git a/devapidocs/constant-values.html b/devapidocs/constant-values.html
index 803369d..f076d72 100644
--- a/devapidocs/constant-values.html
+++ b/devapidocs/constant-values.html
@@ -3815,21 +3815,21 @@
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://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 Jun 20 14:39:32 UTC 2017"</code></td>
+<td class="colLast"><code>"Wed Jun 21 14:39:31 UTC 2017"</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="http://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#revision">revision</a></code></td>
-<td class="colLast"><code>"af466bf722450ce6f61ee2bc1e26ab202dea7fb5"</code></td>
+<td class="colLast"><code>"83be50c2ab01b428df3b0496215fda8d66ae1bd6"</code></td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.srcChecksum">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://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>"7cac104029b1c04119dd3de2bb0f1882"</code></td>
+<td class="colLast"><code>"d59203aa283aa829e340f777d4965ae4"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.url">
@@ -17845,13 +17845,20 @@
 <td class="colLast"><code>"regionserver"</code></td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.regionserver.HRegionServer.RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY">
+<!--   -->
+</a><code>static&nbsp;final&nbsp;<a href="http://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/regionserver/HRegionServer.html#RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY">RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY</a></code></td>
+<td class="colLast"><code>"hbase.regionserver.hostname.disable.master.reversedns"</code></td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.regionserver.HRegionServer.RS_HOSTNAME_KEY">
 <!--   -->
 </a><code>static&nbsp;final&nbsp;<a href="http://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/regionserver/HRegionServer.html#RS_HOSTNAME_KEY">RS_HOSTNAME_KEY</a></code></td>
 <td class="colLast"><code>"hbase.regionserver.hostname"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.regionserver.HRegionServer.TIMEOUT_REGION_MOVED">
 <!--   -->
 </a><code>private&nbsp;static&nbsp;final&nbsp;int</code></td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/index-all.html
----------------------------------------------------------------------
diff --git a/devapidocs/index-all.html b/devapidocs/index-all.html
index 93cfeab..7742123 100644
--- a/devapidocs/index-all.html
+++ b/devapidocs/index-all.html
@@ -19544,7 +19544,9 @@
 <dd>
 <div class="block">Creates Scan operation to load last RS log roll results</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#createScanForSnapshotSizes-org.apache.hadoop.hbase.TableName-">createScanForSnapshotSizes(TableName)</a></span> - Static method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/QuotaTableUtil.html" title="class in org.apache.hadoop.hbase.quotas">QuotaTableUtil</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#createScanForSpaceSnapshotSizes--">createScanForSpaceSnapshotSizes()</a></span> - Static method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/QuotaTableUtil.html" title="class in org.apache.hadoop.hbase.quotas">QuotaTableUtil</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#createScanForSpaceSnapshotSizes-org.apache.hadoop.hbase.TableName-">createScanForSpaceSnapshotSizes(TableName)</a></span> - Static method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/QuotaTableUtil.html" title="class in org.apache.hadoop.hbase.quotas">QuotaTableUtil</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TableInputFormat.html#createScanFromConfiguration-org.apache.hadoop.conf.Configuration-">createScanFromConfiguration(Configuration)</a></span> - Static method in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TableInputFormat.html" title="class in org.apache.hadoop.hbase.mapreduce">TableInputFormat</a></dt>
 <dd>
@@ -28318,6 +28320,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.html#extractScanFromConf-org.apache.hadoop.conf.Configuration-">extractScanFromConf(Configuration)</a></span> - Static method in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.html" title="class in org.apache.hadoop.hbase.mapreduce">TableSnapshotInputFormatImpl</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#extractSnapshotNameFromSizeCell-org.apache.hadoop.hbase.Cell-">extractSnapshotNameFromSizeCell(Cell)</a></span> - Static method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/QuotaTableUtil.html" title="class in org.apache.hadoop.hbase.quotas">QuotaTableUtil</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#extractSnapshotSize-byte:A-int-int-">extractSnapshotSize(byte[], int, int)</a></span> - Static method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/QuotaTableUtil.html" title="class in org.apache.hadoop.hbase.quotas">QuotaTableUtil</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/visibility/VisibilityUtils.html#extractVisibilityTags-org.apache.hadoop.hbase.Cell-java.util.List-">extractVisibilityTags(Cell, List&lt;Tag&gt;)</a></span> - Static method in class org.apache.hadoop.hbase.security.visibility.<a href="org/apache/hadoop/hbase/security/visibility/VisibilityUtils.html" title="class in org.apache.hadoop.hbase.security.visibility">VisibilityUtils</a></dt>
@@ -41879,6 +41883,10 @@
 <dd>
 <div class="block">Initialize the model from a protobuf representation.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getObservedSnapshotSizes-org.apache.hadoop.hbase.client.Connection-">getObservedSnapshotSizes(Connection)</a></span> - Static method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/QuotaTableUtil.html" title="class in org.apache.hadoop.hbase.quotas">QuotaTableUtil</a></dt>
+<dd>
+<div class="block">Fetches any persisted HBase snapshot sizes stored in the quota table.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HStore.html#getOffPeakHours--">getOffPeakHours()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/compactions/CompactionConfiguration.html#getOffPeakMaxCompactSize--">getOffPeakMaxCompactSize()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.compactions.<a href="org/apache/hadoop/hbase/regionserver/compactions/CompactionConfiguration.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionConfiguration</a></dt>
@@ -92325,6 +92333,8 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MetricsCoprocessor.html#RS_COPROC_METRICS_NAME">RS_COPROC_METRICS_NAME</a></span> - Static variable in class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/MetricsCoprocessor.html" title="class in org.apache.hadoop.hbase.coprocessor">MetricsCoprocessor</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegionServer.html#RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY">RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY</a></span> - Static variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegionServer.html#RS_HOSTNAME_KEY">RS_HOSTNAME_KEY</a></span> - Static variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/impl/BackupSystemTable.html#RS_LOG_TS_PREFIX">RS_LOG_TS_PREFIX</a></span> - Static variable in class org.apache.hadoop.hbase.backup.impl.<a href="org/apache/hadoop/hbase/backup/impl/BackupSystemTable.html" title="class in org.apache.hadoop.hbase.backup.impl">BackupSystemTable</a></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html b/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
index c7afb1f..c8025d7 100644
--- a/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
@@ -166,10 +166,10 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupInfo.BackupState.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupInfo.BackupState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupRestoreConstants.BackupCommand.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupRestoreConstants.BackupCommand</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupInfo.BackupPhase.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupInfo.BackupPhase</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupRestoreConstants.BackupCommand.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupRestoreConstants.BackupCommand</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupType.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupInfo.BackupState.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupInfo.BackupState</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/class-use/Cell.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/class-use/Cell.html b/devapidocs/org/apache/hadoop/hbase/class-use/Cell.html
index bd79f29..dc1b4b5 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/Cell.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/Cell.html
@@ -4469,6 +4469,10 @@ service.</div>
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code>protected static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuotaTableUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#extractSnapshotNameFromSizeCell-org.apache.hadoop.hbase.Cell-">extractSnapshotNameFromSizeCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) static long</code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaTableUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#parseSnapshotSize-org.apache.hadoop.hbase.Cell-">parseSnapshotSize</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">Parses the snapshot size from the given Cell's value.</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html b/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html
index d5c3ea8..b60c322 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html
@@ -8027,7 +8027,7 @@ service.</div>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>(package private) static <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
-<td class="colLast"><span class="typeNameLabel">QuotaTableUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#createScanForSnapshotSizes-org.apache.hadoop.hbase.TableName-">createScanForSnapshotSizes</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">QuotaTableUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#createScanForSpaceSnapshotSizes-org.apache.hadoop.hbase.TableName-">createScanForSpaceSnapshotSizes</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceViolationPolicyEnforcement.html" title="interface in org.apache.hadoop.hbase.quotas">SpaceViolationPolicyEnforcement</a></code></td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/classification/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/classification/package-tree.html b/devapidocs/org/apache/hadoop/hbase/classification/package-tree.html
index 940e7a2..8b41e15 100644
--- a/devapidocs/org/apache/hadoop/hbase/classification/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/classification/package-tree.html
@@ -88,12 +88,12 @@
 </ul>
 <h2 title="Annotation Type Hierarchy">Annotation Type Hierarchy</h2>
 <ul>
-<li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="typeNameLink">InterfaceAudience.Private</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
-<li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.LimitedPrivate.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="typeNameLink">InterfaceAudience.LimitedPrivate</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceStability.Unstable.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="typeNameLink">InterfaceStability.Unstable</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceStability.Stable.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="typeNameLink">InterfaceStability.Stable</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceStability.Evolving.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="typeNameLink">InterfaceStability.Evolving</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Public.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="typeNameLink">InterfaceAudience.Public</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
+<li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="typeNameLink">InterfaceAudience.Private</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
+<li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.LimitedPrivate.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="typeNameLink">InterfaceAudience.LimitedPrivate</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
 </ul>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/client/class-use/Connection.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/class-use/Connection.html b/devapidocs/org/apache/hadoop/hbase/client/class-use/Connection.html
index d79d539..1348a15 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/class-use/Connection.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/class-use/Connection.html
@@ -1919,61 +1919,67 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">QuotaTableUtil.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getObservedSnapshotSizes-org.apache.hadoop.hbase.client.Connection-">getObservedSnapshotSizes</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn)</code>
+<div class="block">Fetches any persisted HBase snapshot sizes stored in the quota table.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>private static org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas</code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaTableUtil.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getQuotas-org.apache.hadoop.hbase.client.Connection-byte:A-">getQuotas</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
          byte[]&nbsp;rowKey)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private static org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas</code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaTableUtil.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getQuotas-org.apache.hadoop.hbase.client.Connection-byte:A-byte:A-">getQuotas</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
          byte[]&nbsp;rowKey,
          byte[]&nbsp;qualifier)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="../../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshot.html" title="class in org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshot</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaTableUtil.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getRegionServerQuotaSnapshots-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.ServerName-">getRegionServerQuotaSnapshots</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn,
                              <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;regionServer)</code>
 <div class="block">Fetches the observed <a href="../../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshot.html" title="class in org.apache.hadoop.hbase.quotas"><code>SpaceQuotaSnapshot</code></a>s observed by a RegionServer.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="../../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshot.html" title="class in org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshot</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaTableUtil.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getSnapshots-org.apache.hadoop.hbase.client.Connection-">getSnapshots</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn)</code>
 <div class="block">Fetches all <a href="../../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshot.html" title="class in org.apache.hadoop.hbase.quotas"><code>SpaceQuotaSnapshot</code></a> objects from the <code>hbase:quota</code> table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas</code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaTableUtil.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getTableQuota-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-">getTableQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
              <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas</code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaTableUtil.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getUserQuota-org.apache.hadoop.hbase.client.Connection-java.lang.String-">getUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas</code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaTableUtil.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getUserQuota-org.apache.hadoop.hbase.client.Connection-java.lang.String-java.lang.String-">getUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
             <a href="http://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)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas</code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaTableUtil.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getUserQuota-org.apache.hadoop.hbase.client.Connection-java.lang.String-org.apache.hadoop.hbase.TableName-">getUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
             <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaRetriever.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaRetriever.html#init-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.client.Scan-">init</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn,
     <a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">TableSpaceQuotaSnapshotNotifier.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/TableSpaceQuotaSnapshotNotifier.html#initialize-org.apache.hadoop.hbase.client.Connection-">initialize</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">SpaceQuotaSnapshotNotifier.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotNotifier.html#initialize-org.apache.hadoop.hbase.client.Connection-">initialize</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn)</code>
 <div class="block">Initializes the notifier.</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/fdcfc8d5/devapidocs/org/apache/hadoop/hbase/client/class-use/Scan.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/class-use/Scan.html b/devapidocs/org/apache/hadoop/hbase/client/class-use/Scan.html
index 44be906..9c00e0b 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/class-use/Scan.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/class-use/Scan.html
@@ -1808,22 +1808,26 @@ service.</div>
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>(package private) static <a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
-<td class="colLast"><span class="typeNameLabel">QuotaTableUtil.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#createScanForSnapshotSizes-org.apache.hadoop.hbase.TableName-">createScanForSnapshotSizes</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">QuotaTableUtil.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#createScanForSpaceSnapshotSizes--">createScanForSpaceSnapshotSizes</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>(package private) static <a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuotaTableUtil.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#createScanForSpaceSnapshotSizes-org.apache.hadoop.hbase.TableName-">createScanForSpaceSnapshotSizes</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaTableUtil.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#makeQuotaSnapshotScan--">makeQuotaSnapshotScan</a></span>()</code>
 <div class="block">Creates a <a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client"><code>Scan</code></a> which returns only quota snapshots from the quota table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaTableUtil.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#makeQuotaSnapshotScanForTable-org.apache.hadoop.hbase.TableName-">makeQuotaSnapshotScanForTable</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn)</code>
 <div class="block">Creates a <a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client"><code>Scan</code></a> which returns only <a href="../../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshot.html" title="class in org.apache.hadoop.hbase.quotas"><code>SpaceQuotaSnapshot</code></a> from the quota table for a
  specific table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaTableUtil.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#makeScan-org.apache.hadoop.hbase.quotas.QuotaFilter-">makeScan</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaFilter.html" title="class in org.apache.hadoop.hbase.quotas">QuotaFilter</a>&nbsp;filter)</code>&nbsp;</td>
 </tr>