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 2019/09/09 14:46:23 UTC
[hbase-site] branch asf-site updated: Published site at
ac8fe1627a7db7e31f54318a3e94da06b30f0760.
This is an automated email from the ASF dual-hosted git repository.
git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/hbase-site.git
The following commit(s) were added to refs/heads/asf-site by this push:
new 7014ec2 Published site at ac8fe1627a7db7e31f54318a3e94da06b30f0760.
7014ec2 is described below
commit 7014ec2aa1c61a297dce0241d1476407c9703e87
Author: jenkins <bu...@apache.org>
AuthorDate: Mon Sep 9 14:46:06 2019 +0000
Published site at ac8fe1627a7db7e31f54318a3e94da06b30f0760.
---
acid-semantics.html | 2 +-
apache_hbase_reference_guide.pdf | 4 +-
book.html | 2 +-
bulk-loads.html | 2 +-
checkstyle-aggregate.html | 144 +-
checkstyle.rss | 4 +-
coc.html | 2 +-
dependencies.html | 2 +-
dependency-convergence.html | 2 +-
dependency-info.html | 2 +-
dependency-management.html | 2 +-
devapidocs/allclasses-frame.html | 1 +
devapidocs/allclasses-noframe.html | 1 +
devapidocs/constant-values.html | 4 +-
devapidocs/index-all.html | 44 +-
.../apache/hadoop/hbase/backup/package-tree.html | 4 +-
.../apache/hadoop/hbase/client/package-tree.html | 18 +-
.../apache/hadoop/hbase/filter/package-tree.html | 8 +-
.../hadoop/hbase/hbtop/field/package-tree.html | 2 +-
.../hbase/hbtop/mode/RegionServerModeStrategy.html | 16 +-
.../hadoop/hbase/hbtop/mode/TableModeStrategy.html | 16 +-
.../hbase/hbtop/screen/field/FieldScreenView.html | 6 +-
.../hbase/hbtop/screen/mode/ModeScreenView.html | 6 +-
.../screen/top/FilterDisplayModeScreenView.html | 2 +-
.../hbase/hbtop/screen/top/TopScreenView.html | 22 +-
.../hbtop/terminal/impl/KeyPressGenerator.html | 20 +-
.../org/apache/hadoop/hbase/http/package-tree.html | 2 +-
.../hbase/io/class-use/ByteBuffAllocator.html | 2 +-
.../hfile/bucket/BucketCache.BucketEntryGroup.html | 18 +-
.../io/hfile/bucket/BucketCache.RAMCache.html | 20 +-
.../io/hfile/bucket/BucketCache.RAMQueueEntry.html | 24 +-
.../hfile/bucket/BucketCache.StatisticsThread.html | 8 +-
.../io/hfile/bucket/BucketCache.WriterThread.html | 16 +-
.../hadoop/hbase/io/hfile/bucket/BucketCache.html | 82 +-
.../bucket/BucketEntry.BucketEntryHandler.html | 4 +-
.../hadoop/hbase/io/hfile/bucket/BucketEntry.html | 32 +-
.../hfile/bucket/ExclusiveMemoryMmapIOEngine.html | 6 +-
.../io/hfile/bucket/FileIOEngine.FileAccessor.html | 12 +-
.../bucket/FileIOEngine.FileReadAccessor.html | 16 +-
.../bucket/FileIOEngine.FileWriteAccessor.html | 16 +-
.../hadoop/hbase/io/hfile/bucket/FileIOEngine.html | 32 +-
.../class-use/FileIOEngine.FileAccessor.html | 4 +-
.../hadoop/hbase/io/hfile/class-use/Cacheable.html | 4 +
.../apache/hadoop/hbase/io/hfile/package-tree.html | 6 +-
.../org/apache/hadoop/hbase/ipc/package-tree.html | 2 +-
.../hadoop/hbase/mapreduce/package-tree.html | 2 +-
.../hbase/master/assignment/package-tree.html | 2 +-
.../apache/hadoop/hbase/master/package-tree.html | 6 +-
.../hbase/master/procedure/package-tree.html | 2 +-
.../ByteBuff.ChannelReader.html} | 82 +-
.../org/apache/hadoop/hbase/nio/ByteBuff.html | 367 ++--
.../hadoop/hbase/nio/HBaseReferenceCounted.html | 4 +-
.../org/apache/hadoop/hbase/nio/MultiByteBuff.html | 340 +--
.../apache/hadoop/hbase/nio/SingleByteBuff.html | 205 +-
.../nio/class-use/ByteBuff.ChannelReader.html | 191 ++
.../hadoop/hbase/nio/class-use/ByteBuff.html | 36 +-
.../org/apache/hadoop/hbase/nio/package-frame.html | 1 +
.../apache/hadoop/hbase/nio/package-summary.html | 6 +
.../org/apache/hadoop/hbase/nio/package-tree.html | 1 +
.../org/apache/hadoop/hbase/nio/package-use.html | 11 +-
.../org/apache/hadoop/hbase/package-tree.html | 18 +-
.../hadoop/hbase/procedure2/package-tree.html | 6 +-
.../apache/hadoop/hbase/quotas/package-tree.html | 6 +-
.../hadoop/hbase/regionserver/package-tree.html | 18 +-
.../regionserver/querymatcher/package-tree.html | 4 +-
.../hbase/regionserver/wal/package-tree.html | 4 +-
.../hadoop/hbase/replication/package-tree.html | 2 +-
.../replication/regionserver/package-tree.html | 2 +-
.../hadoop/hbase/security/access/package-tree.html | 6 +-
.../apache/hadoop/hbase/security/package-tree.html | 4 +-
.../apache/hadoop/hbase/thrift/package-tree.html | 2 +-
.../hadoop/hbase/tool/BulkLoadHFilesTool.html | 38 +-
.../org/apache/hadoop/hbase/util/package-tree.html | 8 +-
.../org/apache/hadoop/hbase/wal/package-tree.html | 2 +-
devapidocs/overview-tree.html | 1 +
.../src-html/org/apache/hadoop/hbase/Version.html | 4 +-
.../org/apache/hadoop/hbase/hbtop/HBTop.html | 2 +-
.../hbase/hbtop/mode/RegionServerModeStrategy.html | 185 +-
.../hadoop/hbase/hbtop/mode/TableModeStrategy.html | 157 +-
.../hbase/hbtop/screen/field/FieldScreenView.html | 182 +-
.../hbase/hbtop/screen/mode/ModeScreenView.html | 98 +-
.../screen/top/FilterDisplayModeScreenView.html | 35 +-
.../hbase/hbtop/screen/top/TopScreenView.html | 342 +--
.../impl/KeyPressGenerator.ParseState.html | 496 ++---
.../hbtop/terminal/impl/KeyPressGenerator.html | 496 ++---
.../hfile/bucket/BucketCache.BucketEntryGroup.html | 2181 ++++++++++----------
.../io/hfile/bucket/BucketCache.RAMCache.html | 2181 ++++++++++----------
.../io/hfile/bucket/BucketCache.RAMQueueEntry.html | 2181 ++++++++++----------
.../hfile/bucket/BucketCache.StatisticsThread.html | 2181 ++++++++++----------
.../io/hfile/bucket/BucketCache.WriterThread.html | 2181 ++++++++++----------
.../hadoop/hbase/io/hfile/bucket/BucketCache.html | 2181 ++++++++++----------
.../bucket/BucketEntry.BucketEntryHandler.html | 97 +-
.../hadoop/hbase/io/hfile/bucket/BucketEntry.html | 97 +-
.../hfile/bucket/ExclusiveMemoryMmapIOEngine.html | 47 +-
.../io/hfile/bucket/FileIOEngine.FileAccessor.html | 392 ++--
.../bucket/FileIOEngine.FileReadAccessor.html | 392 ++--
.../bucket/FileIOEngine.FileWriteAccessor.html | 392 ++--
.../hadoop/hbase/io/hfile/bucket/FileIOEngine.html | 392 ++--
.../hadoop/hbase/nio/ByteBuff.ChannelReader.html | 697 +++++++
.../org/apache/hadoop/hbase/nio/ByteBuff.html | 1169 ++++++-----
.../org/apache/hadoop/hbase/nio/MultiByteBuff.html | 2161 +++++++++----------
.../apache/hadoop/hbase/nio/SingleByteBuff.html | 767 +++----
.../tool/BulkLoadHFilesTool.BulkHFileVisitor.html | 1268 ++++++------
.../hadoop/hbase/tool/BulkLoadHFilesTool.html | 1268 ++++++------
downloads.html | 2 +-
export_control.html | 2 +-
index.html | 2 +-
issue-tracking.html | 2 +-
mail-lists.html | 2 +-
metrics.html | 2 +-
old_news.html | 2 +-
plugin-management.html | 2 +-
plugins.html | 2 +-
poweredbyhbase.html | 2 +-
project-info.html | 2 +-
project-reports.html | 2 +-
project-summary.html | 2 +-
pseudo-distributed.html | 2 +-
replication.html | 2 +-
resources.html | 2 +-
source-repository.html | 2 +-
sponsors.html | 2 +-
supportingprojects.html | 2 +-
team-list.html | 2 +-
testdevapidocs/index-all.html | 16 +-
.../apache/hadoop/hbase/backup/package-tree.html | 2 +-
.../hfile/TestHFileScannerImplReferenceCount.html | 141 +-
...eBufferIOEngine.BufferGrabbingDeserializer.html | 14 +-
.../TestByteBufferIOEngine.MockBucketEntry.html | 59 +-
.../io/hfile/bucket/TestByteBufferIOEngine.html | 43 +-
.../hbase/io/hfile/bucket/TestFileIOEngine.html | 45 +-
.../org/apache/hadoop/hbase/package-tree.html | 10 +-
.../hadoop/hbase/procedure/package-tree.html | 8 +-
.../hadoop/hbase/procedure2/package-tree.html | 2 +-
.../regionserver/TestHRegionWithInMemoryFlush.html | 2 +-
.../hadoop/hbase/regionserver/package-tree.html | 2 +-
.../org/apache/hadoop/hbase/test/package-tree.html | 2 +-
.../tool/TestBulkLoadHFilesSplitRecovery.html | 28 +-
.../TestSecureBulkLoadHFilesSplitRecovery.html | 2 +-
.../org/apache/hadoop/hbase/wal/package-tree.html | 2 +-
.../hfile/TestHFileScannerImplReferenceCount.html | 850 ++++----
...eBufferIOEngine.BufferGrabbingDeserializer.html | 339 +--
.../TestByteBufferIOEngine.MockBucketEntry.html | 339 +--
.../io/hfile/bucket/TestByteBufferIOEngine.html | 339 +--
.../hbase/io/hfile/bucket/TestFileIOEngine.html | 318 +--
.../regionserver/TestHRegionWithInMemoryFlush.html | 87 +-
.../tool/TestBulkLoadHFilesSplitRecovery.html | 87 +-
147 files changed, 15344 insertions(+), 13676 deletions(-)
diff --git a/acid-semantics.html b/acid-semantics.html
index 9c321c6..5f393b8 100644
--- a/acid-semantics.html
+++ b/acid-semantics.html
@@ -450,7 +450,7 @@
<div class="row">
<p>Copyright ©2007–2019
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-09-08</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-09-09</li>
</p>
</div>
<p id="poweredBy" class="pull-right"><a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
diff --git a/apache_hbase_reference_guide.pdf b/apache_hbase_reference_guide.pdf
index 0ede80e..8eda501 100644
--- a/apache_hbase_reference_guide.pdf
+++ b/apache_hbase_reference_guide.pdf
@@ -5,8 +5,8 @@
/Author (Apache HBase Team)
/Creator (Asciidoctor PDF 1.5.0.alpha.15, based on Prawn 2.2.2)
/Producer (Apache HBase Team)
-/ModDate (D:20190908143831+00'00')
-/CreationDate (D:20190908143831+00'00')
+/ModDate (D:20190909144251+00'00')
+/CreationDate (D:20190909144251+00'00')
>>
endobj
2 0 obj
diff --git a/book.html b/book.html
index 6755ae6..90dda27 100644
--- a/book.html
+++ b/book.html
@@ -43080,7 +43080,7 @@ org/apache/hadoop/hbase/security/access/AccessControlClient.revoke:(Lorg/apache/
<div id="footer">
<div id="footer-text">
Version 3.0.0-SNAPSHOT<br>
-Last updated 2019-09-08 14:29:52 UTC
+Last updated 2019-09-09 14:30:06 UTC
</div>
</div>
</body>
diff --git a/bulk-loads.html b/bulk-loads.html
index d643983..2018e6f 100644
--- a/bulk-loads.html
+++ b/bulk-loads.html
@@ -155,7 +155,7 @@
<div class="row">
<p>Copyright ©2007–2019
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-09-08</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-09-09</li>
</p>
</div>
<p id="poweredBy" class="pull-right"><a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
diff --git a/checkstyle-aggregate.html b/checkstyle-aggregate.html
index 497874e..0e84461 100644
--- a/checkstyle-aggregate.html
+++ b/checkstyle-aggregate.html
@@ -152,7 +152,7 @@
<td>4016</td>
<td>0</td>
<td>0</td>
-<td>11704</td></tr></table></div>
+<td>11702</td></tr></table></div>
<div class="section">
<h2><a name="Files"></a>Files</h2>
<table border="0" class="table table-striped">
@@ -4350,7 +4350,7 @@
<td><a href="#org.apache.hadoop.hbase.nio.MultiByteBuff.java">org/apache/hadoop/hbase/nio/MultiByteBuff.java</a></td>
<td>0</td>
<td>0</td>
-<td>28</td></tr>
+<td>26</td></tr>
<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure.MasterProcedureManager.java">org/apache/hadoop/hbase/procedure/MasterProcedureManager.java</a></td>
<td>0</td>
@@ -8132,7 +8132,7 @@
<tr class="a">
<td></td>
<td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_blocks.html#NeedBraces">NeedBraces</a></td>
-<td>1495</td>
+<td>1493</td>
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td></tr>
<tr class="b">
<td>coding</td>
@@ -37586,49 +37586,49 @@
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>920</td></tr>
+<td>923</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
-<td>1157</td></tr>
+<td>1160</td></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'for' construct must use '{}'s.</td>
-<td>1161</td></tr>
+<td>1164</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'for' construct must use '{}'s.</td>
-<td>1170</td></tr>
+<td>1173</td></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'if' child has incorrect indentation level 10, expected level should be 8.</td>
-<td>1251</td></tr>
+<td>1254</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>1386</td></tr>
+<td>1389</td></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
-<td>1452</td></tr>
+<td>1455</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
-<td>1455</td></tr></table></div>
+<td>1458</td></tr></table></div>
<div class="section">
<h3 id="org.apache.hadoop.hbase.io.hfile.bucket.BucketCacheStats.java">org/apache/hadoop/hbase/io/hfile/bucket/BucketCacheStats.java</h3>
<table border="0" class="table table-striped">
@@ -37694,25 +37694,25 @@
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>163</td></tr>
+<td>168</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>175</td></tr>
+<td>177</td></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>258</td></tr>
+<td>262</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>259</td></tr></table></div>
+<td>263</td></tr></table></div>
<div class="section">
<h3 id="org.apache.hadoop.hbase.io.hfile.bucket.FileMmapIOEngine.java">org/apache/hadoop/hbase/io/hfile/bucket/FileMmapIOEngine.java</h3>
<table border="0" class="table table-striped">
@@ -37955,7 +37955,7 @@
<td>indentation</td>
<td>Indentation</td>
<td>'array initialization' child has incorrect indentation level 6, expected level should be one of the following: 4, 46, 47.</td>
-<td>56</td></tr></table></div>
+<td>63</td></tr></table></div>
<div class="section">
<h3 id="org.apache.hadoop.hbase.io.util.Dictionary.java">org/apache/hadoop/hbase/io/util/Dictionary.java</h3>
<table border="0" class="table table-striped">
@@ -53990,133 +53990,133 @@
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>90</td></tr>
+<td>91</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>120</td></tr>
+<td>121</td></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>217</td></tr>
+<td>218</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>226</td></tr>
+<td>227</td></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>233</td></tr>
+<td>234</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>240</td></tr>
+<td>241</td></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>241</td></tr>
+<td>242</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>249</td></tr>
+<td>250</td></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>268</td></tr>
+<td>269</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>274</td></tr>
+<td>275</td></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>283</td></tr>
+<td>284</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>318</td></tr>
+<td>319</td></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>327</td></tr>
+<td>328</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>353</td></tr>
+<td>354</td></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>362</td></tr>
+<td>363</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>389</td></tr>
+<td>390</td></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>398</td></tr>
+<td>399</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>JavadocTagContinuationIndentation</td>
<td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>429</td></tr>
+<td>430</td></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>447</td></tr>
+<td>448</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>449</td></tr>
+<td>450</td></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>misc</td>
<td>UpperEll</td>
<td>Should use uppercase 'L'.</td>
-<td>529</td></tr>
+<td>558</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>misc</td>
<td>UpperEll</td>
<td>Should use uppercase 'L'.</td>
-<td>529</td></tr></table></div>
+<td>558</td></tr></table></div>
<div class="section">
<h3 id="org.apache.hadoop.hbase.nio.MultiByteBuff.java">org/apache/hadoop/hbase/nio/MultiByteBuff.java</h3>
<table border="0" class="table table-striped">
@@ -54131,169 +54131,157 @@
<td>javadoc</td>
<td>JavadocTagContinuationIndentation</td>
<td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>102</td></tr>
+<td>122</td></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>JavadocTagContinuationIndentation</td>
<td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>111</td></tr>
+<td>131</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>141</td></tr>
+<td>161</td></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>191</td></tr>
+<td>211</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>224</td></tr>
+<td>244</td></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>335</td></tr>
+<td>355</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>377</td></tr>
+<td>397</td></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
-<td>442</td></tr>
+<td>462</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>563</td></tr>
+<td>583</td></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>573</td></tr>
+<td>593</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
-<td>586</td></tr>
+<td>606</td></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
-<td>603</td></tr>
+<td>623</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>613</td></tr>
+<td>633</td></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>686</td></tr>
+<td>706</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>705</td></tr>
+<td>725</td></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>706</td></tr>
+<td>726</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
-<td>742</td></tr>
+<td>762</td></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>808</td></tr>
+<td>828</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>818</td></tr>
+<td>838</td></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>899</td></tr>
+<td>919</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>922</td></tr>
-<tr class="a">
-<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
-<td>blocks</td>
-<td>NeedBraces</td>
-<td>'if' construct must use '{}'s.</td>
-<td>967</td></tr>
-<tr class="b">
-<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
-<td>blocks</td>
-<td>NeedBraces</td>
-<td>'if' construct must use '{}'s.</td>
-<td>1014</td></tr>
+<td>942</td></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
-<td>1074</td></tr>
+<td>987</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
-<td>1081</td></tr>
+<td>1034</td></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
-<td>1097</td></tr>
+<td>1138</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
-<td>1098</td></tr>
+<td>1139</td></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
-<td>1100</td></tr></table></div>
+<td>1141</td></tr></table></div>
<div class="section">
<h3 id="org.apache.hadoop.hbase.procedure.MasterProcedureManager.java">org/apache/hadoop/hbase/procedure/MasterProcedureManager.java</h3>
<table border="0" class="table table-striped">
@@ -83567,7 +83555,7 @@
<td>coding</td>
<td>InnerAssignment</td>
<td>Inner assignments should be avoided.</td>
-<td>476</td></tr></table></div>
+<td>525</td></tr></table></div>
<div class="section">
<h3 id="org.apache.hadoop.hbase.tool.TestCanaryTool.java">org/apache/hadoop/hbase/tool/TestCanaryTool.java</h3>
<table border="0" class="table table-striped">
@@ -92801,7 +92789,7 @@
<div class="row">
<p>Copyright ©2007–2019
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-09-08</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-09-09</li>
</p>
</div>
<p id="poweredBy" class="pull-right"><a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
diff --git a/checkstyle.rss b/checkstyle.rss
index edc502d..c155c55 100644
--- a/checkstyle.rss
+++ b/checkstyle.rss
@@ -26,7 +26,7 @@ under the License.
<copyright>©2007 - 2019 The Apache Software Foundation</copyright>
<item>
<title>File: 4016,
- Errors: 11704,
+ Errors: 11702,
Warnings: 0,
Infos: 0
</title>
@@ -37477,7 +37477,7 @@ under the License.
0
</td>
<td>
- 28
+ 26
</td>
</tr>
<tr>
diff --git a/coc.html b/coc.html
index eed0c9e..2565d40 100644
--- a/coc.html
+++ b/coc.html
@@ -224,7 +224,7 @@ email to <a class="externalLink" href="mailto:private@hbase.apache.org">the priv
<div class="row">
<p>Copyright ©2007–2019
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-09-08</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-09-09</li>
</p>
</div>
<p id="poweredBy" class="pull-right"><a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
diff --git a/dependencies.html b/dependencies.html
index 7bf9e2a..e89af29 100644
--- a/dependencies.html
+++ b/dependencies.html
@@ -296,7 +296,7 @@
<div class="row">
<p>Copyright ©2007–2019
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-09-08</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-09-09</li>
</p>
</div>
<p id="poweredBy" class="pull-right"><a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
diff --git a/dependency-convergence.html b/dependency-convergence.html
index 9231281..6fcb3df 100644
--- a/dependency-convergence.html
+++ b/dependency-convergence.html
@@ -541,7 +541,7 @@
<div class="row">
<p>Copyright ©2007–2019
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-09-08</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-09-09</li>
</p>
</div>
<p id="poweredBy" class="pull-right"><a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
diff --git a/dependency-info.html b/dependency-info.html
index a34c1b1..797a3ad 100644
--- a/dependency-info.html
+++ b/dependency-info.html
@@ -177,7 +177,7 @@
<div class="row">
<p>Copyright ©2007–2019
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-09-08</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-09-09</li>
</p>
</div>
<p id="poweredBy" class="pull-right"><a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
diff --git a/dependency-management.html b/dependency-management.html
index 345a6e7..6375658 100644
--- a/dependency-management.html
+++ b/dependency-management.html
@@ -899,7 +899,7 @@
<div class="row">
<p>Copyright ©2007–2019
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-09-08</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last Published: 2019-09-09</li>
</p>
</div>
<p id="poweredBy" class="pull-right"><a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
diff --git a/devapidocs/allclasses-frame.html b/devapidocs/allclasses-frame.html
index 4d3f5d3..4fc277d 100644
--- a/devapidocs/allclasses-frame.html
+++ b/devapidocs/allclasses-frame.html
@@ -349,6 +349,7 @@
<li><a href="org/apache/hadoop/hbase/util/ByteArrayHashKey.html" title="class in org.apache.hadoop.hbase.util" target="classFrame">ByteArrayHashKey</a></li>
<li><a href="org/apache/hadoop/hbase/io/ByteArrayOutputStream.html" title="class in org.apache.hadoop.hbase.io" target="classFrame">ByteArrayOutputStream</a></li>
<li><a href="org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio" target="classFrame">ByteBuff</a></li>
+<li><a href="org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio" target="classFrame"><span class="interfaceName">ByteBuff.ChannelReader</span></a></li>
<li><a href="org/apache/hadoop/hbase/io/ByteBuffAllocator.html" title="class in org.apache.hadoop.hbase.io" target="classFrame">ByteBuffAllocator</a></li>
<li><a href="org/apache/hadoop/hbase/io/ByteBuffAllocator.Recycler.html" title="interface in org.apache.hadoop.hbase.io" target="classFrame"><span class="interfaceName">ByteBuffAllocator.Recycler</span></a></li>
<li><a href="org/apache/hadoop/hbase/util/ByteBufferAllocator.html" title="interface in org.apache.hadoop.hbase.util" target="classFrame"><span class="interfaceName">ByteBufferAllocator</span></a></li>
diff --git a/devapidocs/allclasses-noframe.html b/devapidocs/allclasses-noframe.html
index 157733c..e552cd4 100644
--- a/devapidocs/allclasses-noframe.html
+++ b/devapidocs/allclasses-noframe.html
@@ -349,6 +349,7 @@
<li><a href="org/apache/hadoop/hbase/util/ByteArrayHashKey.html" title="class in org.apache.hadoop.hbase.util">ByteArrayHashKey</a></li>
<li><a href="org/apache/hadoop/hbase/io/ByteArrayOutputStream.html" title="class in org.apache.hadoop.hbase.io">ByteArrayOutputStream</a></li>
<li><a href="org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></li>
+<li><a href="org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio"><span class="interfaceName">ByteBuff.ChannelReader</span></a></li>
<li><a href="org/apache/hadoop/hbase/io/ByteBuffAllocator.html" title="class in org.apache.hadoop.hbase.io">ByteBuffAllocator</a></li>
<li><a href="org/apache/hadoop/hbase/io/ByteBuffAllocator.Recycler.html" title="interface in org.apache.hadoop.hbase.io"><span class="interfaceName">ByteBuffAllocator.Recycler</span></a></li>
<li><a href="org/apache/hadoop/hbase/util/ByteBufferAllocator.html" title="interface in org.apache.hadoop.hbase.util"><span class="interfaceName">ByteBufferAllocator</span></a></li>
diff --git a/devapidocs/constant-values.html b/devapidocs/constant-values.html
index b015951..86e91eb 100644
--- a/devapidocs/constant-values.html
+++ b/devapidocs/constant-values.html
@@ -4006,14 +4006,14 @@
<!-- -->
</a><code>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td><code><a href="org/apache/hadoop/hbase/Version.html#date">date</a></code></td>
-<td class="colLast"><code>"Sun Sep 8 14:34:49 UTC 2019"</code></td>
+<td class="colLast"><code>"Mon Sep 9 14:37:26 UTC 2019"</code></td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a name="org.apache.hadoop.hbase.Version.revision">
<!-- -->
</a><code>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td><code><a href="org/apache/hadoop/hbase/Version.html#revision">revision</a></code></td>
-<td class="colLast"><code>"693f201f3d474ee216f590e013f9df49dd1503df"</code></td>
+<td class="colLast"><code>"ac8fe1627a7db7e31f54318a3e94da06b30f0760"</code></td>
</tr>
<tr class="altColor">
<td class="colFirst"><a name="org.apache.hadoop.hbase.Version.srcChecksum">
diff --git a/devapidocs/index-all.html b/devapidocs/index-all.html
index 737b351..626f743 100644
--- a/devapidocs/index-all.html
+++ b/devapidocs/index-all.html
@@ -609,11 +609,11 @@
<dd>
<div class="block">Block has been accessed.</div>
</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileAccessor.html#access-java.nio.channels.FileChannel-java.nio.ByteBuffer-long-">access(FileChannel, ByteBuffer, long)</a></span> - Method in interface org.apache.hadoop.hbase.io.hfile.bucket.<a href="org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileAccessor.html" title="interface in org.apache.hadoop.hbase.io.hfile.bucket">FileIOEngine.FileAccessor</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileAccessor.html#access-java.nio.channels.FileChannel-org.apache.hadoop.hbase.nio.ByteBuff-long-">access(FileChannel, ByteBuff, long)</a></span> - Method in interface org.apache.hadoop.hbase.io.hfile.bucket.<a href="org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileAccessor.html" title="interface in org.apache.hadoop.hbase.io.hfile.bucket">FileIOEngine.FileAccessor</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileReadAccessor.html#access-java.nio.channels.FileChannel-java.nio.ByteBuffer-long-">access(FileChannel, ByteBuffer, long)</a></span> - Method in class org.apache.hadoop.hbase.io.hfile.bucket.<a href="org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileReadAccessor.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">FileIOEngine.FileReadAccessor</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileReadAccessor.html#access-java.nio.channels.FileChannel-org.apache.hadoop.hbase.nio.ByteBuff-long-">access(FileChannel, ByteBuff, long)</a></span> - Method in class org.apache.hadoop.hbase.io.hfile.bucket.<a href="org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileReadAccessor.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">FileIOEngine.FileReadAccessor</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileWriteAccessor.html#access-java.nio.channels.FileChannel-java.nio.ByteBuffer-long-">access(FileChannel, ByteBuffer, long)</a></span> - Method in class org.apache.hadoop.hbase.io.hfile.bucket.<a href="org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileWriteAccessor.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">FileIOEngine.FileWriteAccessor</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileWriteAccessor.html#access-java.nio.channels.FileChannel-org.apache.hadoop.hbase.nio.ByteBuff-long-">access(FileChannel, ByteBuff, long)</a></span> - Method in class org.apache.hadoop.hbase.io.hfile.bucket.<a href="org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileWriteAccessor.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">FileIOEngine.FileWriteAccessor</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/LruCachedBlock.html#access-long-">access(long)</a></span> - Method in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/LruCachedBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">LruCachedBlock</a></dt>
<dd>
@@ -702,7 +702,7 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/AccessDeniedException.html#AccessDeniedException-java.lang.Throwable-">AccessDeniedException(Throwable)</a></span> - Constructor for exception org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/AccessDeniedException.html" title="class in org.apache.hadoop.hbase.security">AccessDeniedException</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html#accessFile-org.apache.hadoop.hbase.io.hfile.bucket.FileIOEngine.FileAccessor-java.nio.ByteBuffer-long-">accessFile(FileIOEngine.FileAccessor, ByteBuffer, long)</a></span> - Method in class org.apache.hadoop.hbase.io.hfile.bucket.<a href="org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">FileIOEngine</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html#accessFile-org.apache.hadoop.hbase.io.hfile.bucket.FileIOEngine.FileAccessor-org.apache.hadoop.hbase.nio.ByteBuff-long-">accessFile(FileIOEngine.FileAccessor, ByteBuff, long)</a></span> - Method in class org.apache.hadoop.hbase.io.hfile.bucket.<a href="org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">FileIOEngine</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/LruCachedBlock.html#accessTime">accessTime</a></span> - Variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/LruCachedBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">LruCachedBlock</a></dt>
<dd> </dd>
@@ -7287,6 +7287,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/CommonFSUtils.DfsBuilderUtility.html#bufferSizeMethod">bufferSizeMethod</a></span> - Static variable in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/CommonFSUtils.DfsBuilderUtility.html" title="class in org.apache.hadoop.hbase.util">CommonFSUtils.DfsBuilderUtility</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/nio/MultiByteBuff.html#buffsIterator">buffsIterator</a></span> - Variable in class org.apache.hadoop.hbase.nio.<a href="org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/ByteBuffAllocator.html#bufSize">bufSize</a></span> - Variable in class org.apache.hadoop.hbase.io.<a href="org/apache/hadoop/hbase/io/ByteBuffAllocator.html" title="class in org.apache.hadoop.hbase.io">ByteBuffAllocator</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/ByteBufferWriterOutputStream.html#bufSize">bufSize</a></span> - Variable in class org.apache.hadoop.hbase.io.<a href="org/apache/hadoop/hbase/io/ByteBufferWriterOutputStream.html" title="class in org.apache.hadoop.hbase.io">ByteBufferWriterOutputStream</a></dt>
@@ -7945,6 +7947,10 @@
</dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/nio/ByteBuff.html#ByteBuff--">ByteBuff()</a></span> - Constructor for class org.apache.hadoop.hbase.nio.<a href="org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></dt>
<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio"><span class="typeNameLink">ByteBuff.ChannelReader</span></a> - Interface in <a href="org/apache/hadoop/hbase/nio/package-summary.html">org.apache.hadoop.hbase.nio</a></dt>
+<dd>
+<div class="block">function interface for Channel read</div>
+</dd>
<dt><a href="org/apache/hadoop/hbase/io/ByteBuffAllocator.html" title="class in org.apache.hadoop.hbase.io"><span class="typeNameLink">ByteBuffAllocator</span></a> - Class in <a href="org/apache/hadoop/hbase/io/package-summary.html">org.apache.hadoop.hbase.io</a></dt>
<dd>
<div class="block">ByteBuffAllocator is used for allocating/freeing the ByteBuffers from/to NIO ByteBuffer pool, and
@@ -10140,6 +10146,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/ClusterStatusPublisher.MulticastPublisher.html#channel">channel</a></span> - Variable in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/ClusterStatusPublisher.MulticastPublisher.html" title="class in org.apache.hadoop.hbase.master">ClusterStatusPublisher.MulticastPublisher</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/nio/ByteBuff.html#CHANNEL_READER">CHANNEL_READER</a></span> - Static variable in class org.apache.hadoop.hbase.nio.<a href="org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/example/HttpProxyExample.RequestHandler.html#channelActive-org.apache.hbase.thirdparty.io.netty.channel.ChannelHandlerContext-">channelActive(ChannelHandlerContext)</a></span> - Method in class org.apache.hadoop.hbase.client.example.<a href="org/apache/hadoop/hbase/client/example/HttpProxyExample.RequestHandler.html" title="class in org.apache.hadoop.hbase.client.example">HttpProxyExample.RequestHandler</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/NettyRpcServerRequestDecoder.html#channelActive-org.apache.hbase.thirdparty.io.netty.channel.ChannelHandlerContext-">channelActive(ChannelHandlerContext)</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/NettyRpcServerRequestDecoder.html" title="class in org.apache.hadoop.hbase.ipc">NettyRpcServerRequestDecoder</a></dt>
@@ -10192,8 +10200,6 @@
<dd>
<div class="block">This is a wrapper around <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/ReadableByteChannel.html?is-external=true#read-java.nio.ByteBuffer-" title="class or interface in java.nio.channels"><code>ReadableByteChannel.read(java.nio.ByteBuffer)</code></a>.</div>
</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/nio/ByteBuff.html#channelRead-java.nio.channels.ReadableByteChannel-java.nio.ByteBuffer-">channelRead(ReadableByteChannel, ByteBuffer)</a></span> - Static method in class org.apache.hadoop.hbase.nio.<a href="org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></dt>
-<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ClusterStatusListener.MulticastListener.ClusterStatusHandler.html#channelRead0-org.apache.hbase.thirdparty.io.netty.channel.ChannelHandlerContext-org.apache.hbase.thirdparty.io.netty.channel.socket.DatagramPacket-">channelRead0(ChannelHandlerContext, DatagramPacket)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ClusterStatusListener.MulticastListener.ClusterStatu [...]
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/example/HttpProxyExample.RequestHandler.html#channelRead0-org.apache.hbase.thirdparty.io.netty.channel.ChannelHandlerContext-org.apache.hbase.thirdparty.io.netty.handler.codec.http.FullHttpRequest-">channelRead0(ChannelHandlerContext, FullHttpRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.example.<a href="org/apache/hadoop/hbase/client/example/HttpProxyExample.RequestHandler.html" title="class [...]
@@ -31438,6 +31444,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html#FILE_DELIMITER">FILE_DELIMITER</a></span> - Static variable in class org.apache.hadoop.hbase.io.hfile.bucket.<a href="org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">FileIOEngine</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/nio/ByteBuff.html#FILE_READER">FILE_READER</a></span> - Static variable in class org.apache.hadoop.hbase.nio.<a href="org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.html#FILE_STATUS_ID_COMPARATOR">FILE_STATUS_ID_COMPARATOR</a></span> - Static variable in class org.apache.hadoop.hbase.procedure2.store.wal.<a href="org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.html" title="class in org.apache.hadoop.hbase.procedure2.store.wal">WALProcedureStore</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServerQuotaSource.html#FILE_SYSTEM_UTILIZATION_CHORE_TIME">FILE_SYSTEM_UTILIZATION_CHORE_TIME</a></span> - Static variable in interface org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServerQuotaSource.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerQuotaSource</a></dt>
@@ -62699,6 +62707,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/thrift/IncrementCoalescer.html#internalQueueTincrement-org.apache.hadoop.hbase.thrift.generated.TIncrement-">internalQueueTincrement(TIncrement)</a></span> - Method in class org.apache.hadoop.hbase.thrift.<a href="org/apache/hadoop/hbase/thrift/IncrementCoalescer.html" title="class in org.apache.hadoop.hbase.thrift">IncrementCoalescer</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/nio/MultiByteBuff.html#internalRead-java.nio.channels.ReadableByteChannel-long-org.apache.hadoop.hbase.nio.ByteBuff.ChannelReader-">internalRead(ReadableByteChannel, long, ByteBuff.ChannelReader)</a></span> - Method in class org.apache.hadoop.hbase.nio.<a href="org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html#internalRestoreSnapshot-java.lang.String-org.apache.hadoop.hbase.TableName-boolean-">internalRestoreSnapshot(String, TableName, boolean)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin</a></dt>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/regionserver/InternalScan.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">InternalScan</span></a> - Class in <a href="org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a></dt>
@@ -90086,14 +90096,26 @@ service.</div>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/HashTable.TableHash.html#read-org.apache.hadoop.conf.Configuration-org.apache.hadoop.fs.Path-">read(Configuration, Path)</a></span> - Static method in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/HashTable.TableHash.html" title="class in org.apache.hadoop.hbase.mapreduce">HashTable.TableHash</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html#read-java.nio.channels.ReadableByteChannel-java.nio.ByteBuffer-long-">read(ReadableByteChannel, ByteBuffer, long)</a></span> - Method in interface org.apache.hadoop.hbase.nio.<a href="org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio">ByteBuff.ChannelReader</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/nio/ByteBuff.html#read-java.nio.channels.ReadableByteChannel-">read(ReadableByteChannel)</a></span> - Method in class org.apache.hadoop.hbase.nio.<a href="org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></dt>
<dd>
<div class="block">Reads bytes from the given channel into this ByteBuff</div>
</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/nio/ByteBuff.html#read-java.nio.channels.FileChannel-long-">read(FileChannel, long)</a></span> - Method in class org.apache.hadoop.hbase.nio.<a href="org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></dt>
+<dd>
+<div class="block">Reads bytes from FileChannel into this ByteBuff</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/nio/ByteBuff.html#read-java.nio.channels.ReadableByteChannel-java.nio.ByteBuffer-long-org.apache.hadoop.hbase.nio.ByteBuff.ChannelReader-">read(ReadableByteChannel, ByteBuffer, long, ByteBuff.ChannelReader)</a></span> - Static method in class org.apache.hadoop.hbase.nio.<a href="org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/nio/MultiByteBuff.html#read-java.nio.channels.ReadableByteChannel-">read(ReadableByteChannel)</a></span> - Method in class org.apache.hadoop.hbase.nio.<a href="org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/nio/MultiByteBuff.html#read-java.nio.channels.FileChannel-long-">read(FileChannel, long)</a></span> - Method in class org.apache.hadoop.hbase.nio.<a href="org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/nio/SingleByteBuff.html#read-java.nio.channels.ReadableByteChannel-">read(ReadableByteChannel)</a></span> - Method in class org.apache.hadoop.hbase.nio.<a href="org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/nio/SingleByteBuff.html#read-java.nio.channels.FileChannel-long-">read(FileChannel, long)</a></span> - Method in class org.apache.hadoop.hbase.nio.<a href="org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFormatReader.html#read-org.apache.hadoop.hbase.procedure2.store.wal.ProcedureWALFile-">read(ProcedureWALFile)</a></span> - Method in class org.apache.hadoop.hbase.procedure2.store.wal.<a href="org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFormatReader.html" title="class in org.apache.hadoop.hbase.procedure2.store.wal">ProcedureWALFormatReader</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rest/filter/GZIPRequestStream.html#read--">read()</a></span> - Method in class org.apache.hadoop.hbase.rest.filter.<a href="org/apache/hadoop/hbase/rest/filter/GZIPRequestStream.html" title="class in org.apache.hadoop.hbase.rest.filter">GZIPRequestStream</a></dt>
@@ -125483,6 +125505,8 @@ the order they are declared.</div>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.html#wrapAsCacheable-java.nio.ByteBuffer:A-">wrapAsCacheable(ByteBuffer[])</a></span> - Method in class org.apache.hadoop.hbase.io.hfile.bucket.<a href="org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketEntry</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.html#wrapAsCacheable-org.apache.hadoop.hbase.nio.ByteBuff-">wrapAsCacheable(ByteBuff)</a></span> - Method in class org.apache.hadoop.hbase.io.hfile.bucket.<a href="org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketEntry</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/IPCUtil.html#wrapException-java.net.InetSocketAddress-java.lang.Throwable-">wrapException(InetSocketAddress, Throwable)</a></span> - Static method in class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/IPCUtil.html" title="class in org.apache.hadoop.hbase.ipc">IPCUtil</a></dt>
<dd>
<div class="block">Takes an Exception and the address we were trying to connect to and return an IOException with
@@ -125780,6 +125804,14 @@ the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html#write-java.io.DataOutput-">write(DataOutput)</a></span> - Method in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html" title="class in org.apache.hadoop.hbase.mapreduce">WALInputFormat.WALSplit</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/nio/ByteBuff.html#write-java.nio.channels.FileChannel-long-">write(FileChannel, long)</a></span> - Method in class org.apache.hadoop.hbase.nio.<a href="org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></dt>
+<dd>
+<div class="block">Write this ByteBuff's data into target file</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/nio/MultiByteBuff.html#write-java.nio.channels.FileChannel-long-">write(FileChannel, long)</a></span> - Method in class org.apache.hadoop.hbase.nio.<a href="org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a></dt>
+<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/nio/SingleByteBuff.html#write-java.nio.channels.FileChannel-long-">write(FileChannel, long)</a></span> - Method in class org.apache.hadoop.hbase.nio.<a href="org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/NoTagsKeyValue.html#write-java.io.OutputStream-boolean-">write(OutputStream, boolean)</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/NoTagsKeyValue.html" title="class in org.apache.hadoop.hbase">NoTagsKeyValue</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/PrivateCellUtil.TagRewriteByteBufferExtendedCell.html#write-java.io.OutputStream-boolean-">write(OutputStream, boolean)</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/PrivateCellUtil.TagRewriteByteBufferExtendedCell.html" title="class in org.apache.hadoop.hbase">PrivateCellUtil.TagRewriteByteBufferExtendedCell</a></dt>
diff --git a/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html b/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
index a4c979f..1c26a95 100644
--- a/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
@@ -167,10 +167,10 @@
<ul>
<li type="circle">java.lang.<a href="https://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><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
<ul>
+<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/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>
<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/BackupInfo.BackupState.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupInfo.BackupState</span></a></li>
</ul>
</li>
</ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/client/package-tree.html b/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
index 3db0e5c..e934ab2 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
@@ -425,20 +425,20 @@
<li type="circle">java.lang.<a href="https://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><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
<ul>
<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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</span></a></li>
</ul>
</li>
</ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html b/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
index adc1a56..eca27ed 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
@@ -189,13 +189,13 @@
<ul>
<li type="circle">java.lang.<a href="https://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><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
<ul>
-<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/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/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/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/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.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/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/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/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FuzzyRowFilter.SatisfiesCode</span></a></li>
</ul>
</li>
</ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/hbtop/field/package-tree.html b/devapidocs/org/apache/hadoop/hbase/hbtop/field/package-tree.html
index abc40ba..9eebaf0 100644
--- a/devapidocs/org/apache/hadoop/hbase/hbtop/field/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/hbtop/field/package-tree.html
@@ -92,8 +92,8 @@
<ul>
<li type="circle">java.lang.<a href="https://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><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
<ul>
-<li type="circle">org.apache.hadoop.hbase.hbtop.field.<a href="../../../../../../org/apache/hadoop/hbase/hbtop/field/FieldValueType.html" title="enum in org.apache.hadoop.hbase.hbtop.field"><span class="typeNameLink">FieldValueType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.hbtop.field.<a href="../../../../../../org/apache/hadoop/hbase/hbtop/field/Field.html" title="enum in org.apache.hadoop.hbase.hbtop.field"><span class="typeNameLink">Field</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.hbtop.field.<a href="../../../../../../org/apache/hadoop/hbase/hbtop/field/FieldValueType.html" title="enum in org.apache.hadoop.hbase.hbtop.field"><span class="typeNameLink">FieldValueType</span></a></li>
</ul>
</li>
</ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/hbtop/mode/RegionServerModeStrategy.html b/devapidocs/org/apache/hadoop/hbase/hbtop/mode/RegionServerModeStrategy.html
index 56b4380..de25701 100644
--- a/devapidocs/org/apache/hadoop/hbase/hbtop/mode/RegionServerModeStrategy.html
+++ b/devapidocs/org/apache/hadoop/hbase/hbtop/mode/RegionServerModeStrategy.html
@@ -114,7 +114,7 @@ var activeTableTab = "activeTableTab";
<hr>
<br>
<pre>@InterfaceAudience.Private
-public final class <a href="../../../../../../src-html/org/apache/hadoop/hbase/hbtop/mode/RegionServerModeStrategy.html#line.41">RegionServerModeStrategy</a>
+public final class <a href="../../../../../../src-html/org/apache/hadoop/hbase/hbtop/mode/RegionServerModeStrategy.html#line.40">RegionServerModeStrategy</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/ModeStrategy.html" title="interface in org.apache.hadoop.hbase.hbtop.mode">ModeStrategy</a></pre>
<div class="block">Implementation for <a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/ModeStrategy.html" title="interface in org.apache.hadoop.hbase.hbtop.mode"><code>ModeStrategy</code></a> for RegionServer Mode.</div>
@@ -220,7 +220,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/ModeStr
<ul class="blockList">
<li class="blockList">
<h4>fieldInfos</h4>
-<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/hbtop/field/FieldInfo.html" title="class in org.apache.hadoop.hbase.hbtop.field">FieldInfo</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/hbtop/mode/RegionServerModeStrategy.html#line.43">fieldInfos</a></pre>
+<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/hbtop/field/FieldInfo.html" title="class in org.apache.hadoop.hbase.hbtop.field">FieldInfo</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/hbtop/mode/RegionServerModeStrategy.html#line.42">fieldInfos</a></pre>
</li>
</ul>
<a name="regionModeStrategy">
@@ -229,7 +229,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/ModeStr
<ul class="blockListLast">
<li class="blockList">
<h4>regionModeStrategy</h4>
-<pre>private final <a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/RegionModeStrategy.html" title="class in org.apache.hadoop.hbase.hbtop.mode">RegionModeStrategy</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/hbtop/mode/RegionServerModeStrategy.html#line.59">regionModeStrategy</a></pre>
+<pre>private final <a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/RegionModeStrategy.html" title="class in org.apache.hadoop.hbase.hbtop.mode">RegionModeStrategy</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/hbtop/mode/RegionServerModeStrategy.html#line.58">regionModeStrategy</a></pre>
</li>
</ul>
</li>
@@ -246,7 +246,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/ModeStr
<ul class="blockListLast">
<li class="blockList">
<h4>RegionServerModeStrategy</h4>
-<pre><a href="../../../../../../src-html/org/apache/hadoop/hbase/hbtop/mode/RegionServerModeStrategy.html#line.61">RegionServerModeStrategy</a>()</pre>
+<pre><a href="../../../../../../src-html/org/apache/hadoop/hbase/hbtop/mode/RegionServerModeStrategy.html#line.60">RegionServerModeStrategy</a>()</pre>
</li>
</ul>
</li>
@@ -263,7 +263,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/ModeStr
<ul class="blockList">
<li class="blockList">
<h4>getFieldInfos</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/hbtop/field/FieldInfo.html" title="class in org.apache.hadoop.hbase.hbtop.field">FieldInfo</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/hbtop/mode/RegionServerModeStrategy.html#line.65">getFieldInfos</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/hbtop/field/FieldInfo.html" title="class in org.apache.hadoop.hbase.hbtop.field">FieldInfo</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/hbtop/mode/RegionServerModeStrategy.html#line.64">getFieldInfos</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/ModeStrategy.html#getFieldInfos--">getFieldInfos</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/ModeStrategy.html" title="interface in org.apache.hadoop.hbase.hbtop.mode">ModeStrategy</a></code></dd>
@@ -276,7 +276,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/ModeStr
<ul class="blockList">
<li class="blockList">
<h4>getDefaultSortField</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/hbtop/field/Field.html" title="enum in org.apache.hadoop.hbase.hbtop.field">Field</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/hbtop/mode/RegionServerModeStrategy.html#line.70">getDefaultSortField</a>()</pre>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/hbtop/field/Field.html" title="enum in org.apache.hadoop.hbase.hbtop.field">Field</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/hbtop/mode/RegionServerModeStrategy.html#line.69">getDefaultSortField</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/ModeStrategy.html#getDefaultSortField--">getDefaultSortField</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/ModeStrategy.html" title="interface in org.apache.hadoop.hbase.hbtop.mode">ModeStrategy</a></code></dd>
@@ -289,7 +289,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/ModeStr
<ul class="blockList">
<li class="blockList">
<h4>getRecords</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/hbtop/Record.html" title="class in org.apache.hadoop.hbase.hbtop">Record</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/hbtop/mode/RegionServerModeStrategy.html#line.75">getRecords</a>(<a href="../../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" [...]
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/hbtop/Record.html" title="class in org.apache.hadoop.hbase.hbtop">Record</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/hbtop/mode/RegionServerModeStrategy.html#line.74">getRecords</a>(<a href="../../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" [...]
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/ModeStrategy.html#getRecords-org.apache.hadoop.hbase.ClusterMetrics-">getRecords</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/ModeStrategy.html" title="interface in org.apache.hadoop.hbase.hbtop.mode">ModeStrategy</a></code></dd>
@@ -302,7 +302,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/ModeStr
<ul class="blockListLast">
<li class="blockList">
<h4>drillDown</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/DrillDownInfo.html" title="class in org.apache.hadoop.hbase.hbtop.mode">DrillDownInfo</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/hbtop/mode/RegionServerModeStrategy.html#line.114">drillDown</a>(<a href="../../../../../../org/apache/hadoop/hbase/hbtop/Record.html" title="class in org.apache.hadoop.hbase.hbtop">Record</a> selectedRecord)</pre>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/DrillDownInfo.html" title="class in org.apache.hadoop.hbase.hbtop.mode">DrillDownInfo</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/hbtop/mode/RegionServerModeStrategy.html#line.113">drillDown</a>(<a href="../../../../../../org/apache/hadoop/hbase/hbtop/Record.html" title="class in org.apache.hadoop.hbase.hbtop">Record</a> selectedRecord)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/ModeStrategy.html#drillDown-org.apache.hadoop.hbase.hbtop.Record-">drillDown</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/ModeStrategy.html" title="interface in org.apache.hadoop.hbase.hbtop.mode">ModeStrategy</a></code></dd>
diff --git a/devapidocs/org/apache/hadoop/hbase/hbtop/mode/TableModeStrategy.html b/devapidocs/org/apache/hadoop/hbase/hbtop/mode/TableModeStrategy.html
index a428a21..021012f 100644
--- a/devapidocs/org/apache/hadoop/hbase/hbtop/mode/TableModeStrategy.html
+++ b/devapidocs/org/apache/hadoop/hbase/hbtop/mode/TableModeStrategy.html
@@ -114,7 +114,7 @@ var activeTableTab = "activeTableTab";
<hr>
<br>
<pre>@InterfaceAudience.Private
-public final class <a href="../../../../../../src-html/org/apache/hadoop/hbase/hbtop/mode/TableModeStrategy.html#line.38">TableModeStrategy</a>
+public final class <a href="../../../../../../src-html/org/apache/hadoop/hbase/hbtop/mode/TableModeStrategy.html#line.37">TableModeStrategy</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/ModeStrategy.html" title="interface in org.apache.hadoop.hbase.hbtop.mode">ModeStrategy</a></pre>
<div class="block">Implementation for <a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/ModeStrategy.html" title="interface in org.apache.hadoop.hbase.hbtop.mode"><code>ModeStrategy</code></a> for Table Mode.</div>
@@ -220,7 +220,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/ModeStr
<ul class="blockList">
<li class="blockList">
<h4>fieldInfos</h4>
-<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/hbtop/field/FieldInfo.html" title="class in org.apache.hadoop.hbase.hbtop.field">FieldInfo</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/hbtop/mode/TableModeStrategy.html#line.40">fieldInfos</a></pre>
+<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/hbtop/field/FieldInfo.html" title="class in org.apache.hadoop.hbase.hbtop.field">FieldInfo</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/hbtop/mode/TableModeStrategy.html#line.39">fieldInfos</a></pre>
</li>
</ul>
<a name="regionModeStrategy">
@@ -229,7 +229,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/ModeStr
<ul class="blockListLast">
<li class="blockList">
<h4>regionModeStrategy</h4>
-<pre>private final <a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/RegionModeStrategy.html" title="class in org.apache.hadoop.hbase.hbtop.mode">RegionModeStrategy</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/hbtop/mode/TableModeStrategy.html#line.54">regionModeStrategy</a></pre>
+<pre>private final <a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/RegionModeStrategy.html" title="class in org.apache.hadoop.hbase.hbtop.mode">RegionModeStrategy</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/hbtop/mode/TableModeStrategy.html#line.53">regionModeStrategy</a></pre>
</li>
</ul>
</li>
@@ -246,7 +246,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/ModeStr
<ul class="blockListLast">
<li class="blockList">
<h4>TableModeStrategy</h4>
-<pre><a href="../../../../../../src-html/org/apache/hadoop/hbase/hbtop/mode/TableModeStrategy.html#line.56">TableModeStrategy</a>()</pre>
+<pre><a href="../../../../../../src-html/org/apache/hadoop/hbase/hbtop/mode/TableModeStrategy.html#line.55">TableModeStrategy</a>()</pre>
</li>
</ul>
</li>
@@ -263,7 +263,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/ModeStr
<ul class="blockList">
<li class="blockList">
<h4>getFieldInfos</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/hbtop/field/FieldInfo.html" title="class in org.apache.hadoop.hbase.hbtop.field">FieldInfo</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/hbtop/mode/TableModeStrategy.html#line.60">getFieldInfos</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/hbtop/field/FieldInfo.html" title="class in org.apache.hadoop.hbase.hbtop.field">FieldInfo</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/hbtop/mode/TableModeStrategy.html#line.59">getFieldInfos</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/ModeStrategy.html#getFieldInfos--">getFieldInfos</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/ModeStrategy.html" title="interface in org.apache.hadoop.hbase.hbtop.mode">ModeStrategy</a></code></dd>
@@ -276,7 +276,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/ModeStr
<ul class="blockList">
<li class="blockList">
<h4>getDefaultSortField</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/hbtop/field/Field.html" title="enum in org.apache.hadoop.hbase.hbtop.field">Field</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/hbtop/mode/TableModeStrategy.html#line.65">getDefaultSortField</a>()</pre>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/hbtop/field/Field.html" title="enum in org.apache.hadoop.hbase.hbtop.field">Field</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/hbtop/mode/TableModeStrategy.html#line.64">getDefaultSortField</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/ModeStrategy.html#getDefaultSortField--">getDefaultSortField</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/ModeStrategy.html" title="interface in org.apache.hadoop.hbase.hbtop.mode">ModeStrategy</a></code></dd>
@@ -289,7 +289,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/ModeStr
<ul class="blockList">
<li class="blockList">
<h4>getRecords</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/hbtop/Record.html" title="class in org.apache.hadoop.hbase.hbtop">Record</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/hbtop/mode/TableModeStrategy.html#line.70">getRecords</a>(<a href="../../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title=" [...]
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/hbtop/Record.html" title="class in org.apache.hadoop.hbase.hbtop">Record</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/hbtop/mode/TableModeStrategy.html#line.69">getRecords</a>(<a href="../../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title=" [...]
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/ModeStrategy.html#getRecords-org.apache.hadoop.hbase.ClusterMetrics-">getRecords</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/ModeStrategy.html" title="interface in org.apache.hadoop.hbase.hbtop.mode">ModeStrategy</a></code></dd>
@@ -302,7 +302,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/ModeStr
<ul class="blockListLast">
<li class="blockList">
<h4>drillDown</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/DrillDownInfo.html" title="class in org.apache.hadoop.hbase.hbtop.mode">DrillDownInfo</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/hbtop/mode/TableModeStrategy.html#line.97">drillDown</a>(<a href="../../../../../../org/apache/hadoop/hbase/hbtop/Record.html" title="class in org.apache.hadoop.hbase.hbtop">Record</a> selectedRecord)</pre>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/DrillDownInfo.html" title="class in org.apache.hadoop.hbase.hbtop.mode">DrillDownInfo</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/hbtop/mode/TableModeStrategy.html#line.96">drillDown</a>(<a href="../../../../../../org/apache/hadoop/hbase/hbtop/Record.html" title="class in org.apache.hadoop.hbase.hbtop">Record</a> selectedRecord)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/ModeStrategy.html#drillDown-org.apache.hadoop.hbase.hbtop.Record-">drillDown</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/hbtop/mode/ModeStrategy.html" title="interface in org.apache.hadoop.hbase.hbtop.mode">ModeStrategy</a></code></dd>
diff --git a/devapidocs/org/apache/hadoop/hbase/hbtop/screen/field/FieldScreenView.html b/devapidocs/org/apache/hadoop/hbase/hbtop/screen/field/FieldScreenView.html
index 4a3d472..d7a374c 100644
--- a/devapidocs/org/apache/hadoop/hbase/hbtop/screen/field/FieldScreenView.html
+++ b/devapidocs/org/apache/hadoop/hbase/hbtop/screen/field/FieldScreenView.html
@@ -353,7 +353,7 @@ extends <a href="../../../../../../../org/apache/hadoop/hbase/hbtop/screen/Abstr
<ul class="blockList">
<li class="blockList">
<h4>showFieldScreen</h4>
-<pre>public void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/screen/field/FieldScreenView.html#line.112">showFieldScreen</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> sortFieldHeader,
+<pre>public void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/screen/field/FieldScreenView.html#line.120">showFieldScreen</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> sortFieldHeader,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../../org/apache/hadoop/hbase/hbtop/field/Field.html" title="enum in org.apache.hadoop.hbase.hbtop.field">Field</a>> fields,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/EnumMap.html?is-external=true" title="class or interface in java.util">EnumMap</a><<a href="../../../../../../../org/apache/hadoop/hbase/hbtop/field/Field.html" title="enum in org.apache.hadoop.hbase.hbtop.field">Field</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>> fieldDisplayMap,
int currentPosition,
@@ -368,7 +368,7 @@ extends <a href="../../../../../../../org/apache/hadoop/hbase/hbtop/screen/Abstr
<ul class="blockList">
<li class="blockList">
<h4>showScreenDescription</h4>
-<pre>public void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/screen/field/FieldScreenView.html#line.124">showScreenDescription</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> sortKeyHeader)</pre>
+<pre>public void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/screen/field/FieldScreenView.html#line.132">showScreenDescription</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> sortKeyHeader)</pre>
</li>
</ul>
<a name="showField-int-org.apache.hadoop.hbase.hbtop.field.Field-boolean-boolean-int-int-boolean-">
@@ -377,7 +377,7 @@ extends <a href="../../../../../../../org/apache/hadoop/hbase/hbtop/screen/Abstr
<ul class="blockListLast">
<li class="blockList">
<h4>showField</h4>
-<pre>public void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/screen/field/FieldScreenView.html#line.134">showField</a>(int pos,
+<pre>public void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/screen/field/FieldScreenView.html#line.142">showField</a>(int pos,
<a href="../../../../../../../org/apache/hadoop/hbase/hbtop/field/Field.html" title="enum in org.apache.hadoop.hbase.hbtop.field">Field</a> field,
boolean display,
boolean selected,
diff --git a/devapidocs/org/apache/hadoop/hbase/hbtop/screen/mode/ModeScreenView.html b/devapidocs/org/apache/hadoop/hbase/hbtop/screen/mode/ModeScreenView.html
index 6316204..7225b03 100644
--- a/devapidocs/org/apache/hadoop/hbase/hbtop/screen/mode/ModeScreenView.html
+++ b/devapidocs/org/apache/hadoop/hbase/hbtop/screen/mode/ModeScreenView.html
@@ -345,7 +345,7 @@ extends <a href="../../../../../../../org/apache/hadoop/hbase/hbtop/screen/Abstr
<ul class="blockList">
<li class="blockList">
<h4>showModeScreen</h4>
-<pre>public void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/screen/mode/ModeScreenView.html#line.96">showModeScreen</a>(<a href="../../../../../../../org/apache/hadoop/hbase/hbtop/mode/Mode.html" title="enum in org.apache.hadoop.hbase.hbtop.mode">Mode</a> currentMode,
+<pre>public void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/screen/mode/ModeScreenView.html#line.104">showModeScreen</a>(<a href="../../../../../../../org/apache/hadoop/hbase/hbtop/mode/Mode.html" title="enum in org.apache.hadoop.hbase.hbtop.mode">Mode</a> currentMode,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../../org/apache/hadoop/hbase/hbtop/mode/Mode.html" title="enum in org.apache.hadoop.hbase.hbtop.mode">Mode</a>> modes,
int currentPosition,
int modeHeaderMaxLength,
@@ -358,7 +358,7 @@ extends <a href="../../../../../../../org/apache/hadoop/hbase/hbtop/screen/Abstr
<ul class="blockList">
<li class="blockList">
<h4>showScreenDescription</h4>
-<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/screen/mode/ModeScreenView.html#line.106">showScreenDescription</a>(<a href="../../../../../../../org/apache/hadoop/hbase/hbtop/mode/Mode.html" title="enum in org.apache.hadoop.hbase.hbtop.mode">Mode</a> currentMode)</pre>
+<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/screen/mode/ModeScreenView.html#line.114">showScreenDescription</a>(<a href="../../../../../../../org/apache/hadoop/hbase/hbtop/mode/Mode.html" title="enum in org.apache.hadoop.hbase.hbtop.mode">Mode</a> currentMode)</pre>
</li>
</ul>
<a name="showMode-int-org.apache.hadoop.hbase.hbtop.mode.Mode-boolean-int-int-">
@@ -367,7 +367,7 @@ extends <a href="../../../../../../../org/apache/hadoop/hbase/hbtop/screen/Abstr
<ul class="blockListLast">
<li class="blockList">
<h4>showMode</h4>
-<pre>public void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/screen/mode/ModeScreenView.html#line.114">showMode</a>(int pos,
+<pre>public void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/screen/mode/ModeScreenView.html#line.122">showMode</a>(int pos,
<a href="../../../../../../../org/apache/hadoop/hbase/hbtop/mode/Mode.html" title="enum in org.apache.hadoop.hbase.hbtop.mode">Mode</a> mode,
boolean selected,
int modeHeaderMaxLength,
diff --git a/devapidocs/org/apache/hadoop/hbase/hbtop/screen/top/FilterDisplayModeScreenView.html b/devapidocs/org/apache/hadoop/hbase/hbtop/screen/top/FilterDisplayModeScreenView.html
index 6e1f0bc..d3435dd 100644
--- a/devapidocs/org/apache/hadoop/hbase/hbtop/screen/top/FilterDisplayModeScreenView.html
+++ b/devapidocs/org/apache/hadoop/hbase/hbtop/screen/top/FilterDisplayModeScreenView.html
@@ -310,7 +310,7 @@ extends <a href="../../../../../../../org/apache/hadoop/hbase/hbtop/screen/Abstr
<ul class="blockListLast">
<li class="blockList">
<h4>showFilters</h4>
-<pre>public void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/screen/top/FilterDisplayModeScreenView.html#line.64">showFilters</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../../org/apache/hadoop/hbase/hbtop/RecordFilter.html" title="class in org.apache.hadoop.hbase.hbtop">RecordFilter</a>> filters)</pre>
+<pre>public void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/screen/top/FilterDisplayModeScreenView.html#line.63">showFilters</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../../org/apache/hadoop/hbase/hbtop/RecordFilter.html" title="class in org.apache.hadoop.hbase.hbtop">RecordFilter</a>> filters)</pre>
</li>
</ul>
</li>
diff --git a/devapidocs/org/apache/hadoop/hbase/hbtop/screen/top/TopScreenView.html b/devapidocs/org/apache/hadoop/hbase/hbtop/screen/top/TopScreenView.html
index 1ef46a8..bc41ee4 100644
--- a/devapidocs/org/apache/hadoop/hbase/hbtop/screen/top/TopScreenView.html
+++ b/devapidocs/org/apache/hadoop/hbase/hbtop/screen/top/TopScreenView.html
@@ -462,7 +462,7 @@ public <a href="../../../../../../../org/apache/hadoop/hbase/hbtop/screen/S
<ul class="blockList">
<li class="blockList">
<h4>getTerminalSize</h4>
-<pre>public <a href="../../../../../../../org/apache/hadoop/hbase/hbtop/terminal/TerminalSize.html" title="class in org.apache.hadoop.hbase.hbtop.terminal">TerminalSize</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/screen/top/TopScreenView.html#line.181">getTerminalSize</a>()</pre>
+<pre>public <a href="../../../../../../../org/apache/hadoop/hbase/hbtop/terminal/TerminalSize.html" title="class in org.apache.hadoop.hbase.hbtop.terminal">TerminalSize</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/screen/top/TopScreenView.html#line.186">getTerminalSize</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../../org/apache/hadoop/hbase/hbtop/screen/AbstractScreenView.html#getTerminalSize--">getTerminalSize</a></code> in class <code><a href="../../../../../../../org/apache/hadoop/hbase/hbtop/screen/AbstractScreenView.html" title="class in org.apache.hadoop.hbase.hbtop.screen">AbstractScreenView</a></code></dd>
@@ -475,7 +475,7 @@ public <a href="../../../../../../../org/apache/hadoop/hbase/hbtop/screen/S
<ul class="blockList">
<li class="blockList">
<h4>doResizeIfNecessary</h4>
-<pre>public <a href="../../../../../../../org/apache/hadoop/hbase/hbtop/terminal/TerminalSize.html" title="class in org.apache.hadoop.hbase.hbtop.terminal">TerminalSize</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/screen/top/TopScreenView.html#line.187">doResizeIfNecessary</a>()</pre>
+<pre>public <a href="../../../../../../../org/apache/hadoop/hbase/hbtop/terminal/TerminalSize.html" title="class in org.apache.hadoop.hbase.hbtop.terminal">TerminalSize</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/screen/top/TopScreenView.html#line.193">doResizeIfNecessary</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../../org/apache/hadoop/hbase/hbtop/screen/AbstractScreenView.html#doResizeIfNecessary--">doResizeIfNecessary</a></code> in class <code><a href="../../../../../../../org/apache/hadoop/hbase/hbtop/screen/AbstractScreenView.html" title="class in org.apache.hadoop.hbase.hbtop.screen">AbstractScreenView</a></code></dd>
@@ -488,7 +488,7 @@ public <a href="../../../../../../../org/apache/hadoop/hbase/hbtop/screen/S
<ul class="blockList">
<li class="blockList">
<h4>updatePageSize</h4>
-<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/screen/top/TopScreenView.html#line.196">updatePageSize</a>(<a href="../../../../../../../org/apache/hadoop/hbase/hbtop/terminal/TerminalSize.html" title="class in org.apache.hadoop.hbase.hbtop.terminal">TerminalSize</a> terminalSize)</pre>
+<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/screen/top/TopScreenView.html#line.202">updatePageSize</a>(<a href="../../../../../../../org/apache/hadoop/hbase/hbtop/terminal/TerminalSize.html" title="class in org.apache.hadoop.hbase.hbtop.terminal">TerminalSize</a> terminalSize)</pre>
</li>
</ul>
<a name="getPageSize--">
@@ -497,7 +497,7 @@ public <a href="../../../../../../../org/apache/hadoop/hbase/hbtop/screen/S
<ul class="blockList">
<li class="blockList">
<h4>getPageSize</h4>
-<pre>public int <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/screen/top/TopScreenView.html#line.203">getPageSize</a>()</pre>
+<pre>public int <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/screen/top/TopScreenView.html#line.209">getPageSize</a>()</pre>
</li>
</ul>
<a name="showTopScreen-org.apache.hadoop.hbase.hbtop.screen.top.Summary-java.util.List-java.util.List-org.apache.hadoop.hbase.hbtop.Record-">
@@ -506,7 +506,7 @@ public <a href="../../../../../../../org/apache/hadoop/hbase/hbtop/screen/S
<ul class="blockList">
<li class="blockList">
<h4>showTopScreen</h4>
-<pre>public void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/screen/top/TopScreenView.html#line.207">showTopScreen</a>(<a href="../../../../../../../org/apache/hadoop/hbase/hbtop/screen/top/Summary.html" title="class in org.apache.hadoop.hbase.hbtop.screen.top">Summary</a> summary,
+<pre>public void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/screen/top/TopScreenView.html#line.213">showTopScreen</a>(<a href="../../../../../../../org/apache/hadoop/hbase/hbtop/screen/top/Summary.html" title="class in org.apache.hadoop.hbase.hbtop.screen.top">Summary</a> summary,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../../org/apache/hadoop/hbase/hbtop/screen/top/Header.html" title="class in org.apache.hadoop.hbase.hbtop.screen.top">Header</a>> headers,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../../org/apache/hadoop/hbase/hbtop/Record.html" title="class in org.apache.hadoop.hbase.hbtop">Record</a>> records,
<a href="../../../../../../../org/apache/hadoop/hbase/hbtop/Record.html" title="class in org.apache.hadoop.hbase.hbtop">Record</a> selectedRecord)</pre>
@@ -518,7 +518,7 @@ public <a href="../../../../../../../org/apache/hadoop/hbase/hbtop/screen/S
<ul class="blockList">
<li class="blockList">
<h4>showSummary</h4>
-<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/screen/top/TopScreenView.html#line.215">showSummary</a>(<a href="../../../../../../../org/apache/hadoop/hbase/hbtop/screen/top/Summary.html" title="class in org.apache.hadoop.hbase.hbtop.screen.top">Summary</a> summary)</pre>
+<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/screen/top/TopScreenView.html#line.221">showSummary</a>(<a href="../../../../../../../org/apache/hadoop/hbase/hbtop/screen/top/Summary.html" title="class in org.apache.hadoop.hbase.hbtop.screen.top">Summary</a> summary)</pre>
</li>
</ul>
<a name="showRecords-java.util.List-java.util.List-org.apache.hadoop.hbase.hbtop.Record-">
@@ -527,7 +527,7 @@ public <a href="../../../../../../../org/apache/hadoop/hbase/hbtop/screen/S
<ul class="blockList">
<li class="blockList">
<h4>showRecords</h4>
-<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/screen/top/TopScreenView.html#line.239">showRecords</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../../org/apache/hadoop/hbase/hbtop/screen/top/Header.html" title="class in org.apache.hadoop.hbase.hbtop.screen.top">Header</a>> headers,
+<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/screen/top/TopScreenView.html#line.245">showRecords</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../../org/apache/hadoop/hbase/hbtop/screen/top/Header.html" title="class in org.apache.hadoop.hbase.hbtop.screen.top">Header</a>> headers,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../../org/apache/hadoop/hbase/hbtop/Record.html" title="class in org.apache.hadoop.hbase.hbtop">Record</a>> records,
<a href="../../../../../../../org/apache/hadoop/hbase/hbtop/Record.html" title="class in org.apache.hadoop.hbase.hbtop">Record</a> selectedRecord)</pre>
</li>
@@ -538,7 +538,7 @@ public <a href="../../../../../../../org/apache/hadoop/hbase/hbtop/screen/S
<ul class="blockList">
<li class="blockList">
<h4>showHeaders</h4>
-<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/screen/top/TopScreenView.html#line.271">showHeaders</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../../org/apache/hadoop/hbase/hbtop/screen/top/Header.html" title="class in org.apache.hadoop.hbase.hbtop.screen.top">Header</a>> headers)</pre>
+<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/screen/top/TopScreenView.html#line.277">showHeaders</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../../org/apache/hadoop/hbase/hbtop/screen/top/Header.html" title="class in org.apache.hadoop.hbase.hbtop.screen.top">Header</a>> headers)</pre>
</li>
</ul>
<a name="limitLineLength-java.lang.String-int-">
@@ -547,7 +547,7 @@ public <a href="../../../../../../../org/apache/hadoop/hbase/hbtop/screen/S
<ul class="blockList">
<li class="blockList">
<h4>limitLineLength</h4>
-<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/screen/top/TopScreenView.html#line.284">limitLineLength</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> line,
+<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/screen/top/TopScreenView.html#line.290">limitLineLength</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> line,
int length)</pre>
</li>
</ul>
@@ -557,7 +557,7 @@ public <a href="../../../../../../../org/apache/hadoop/hbase/hbtop/screen/S
<ul class="blockList">
<li class="blockList">
<h4>clearMessage</h4>
-<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/screen/top/TopScreenView.html#line.291">clearMessage</a>()</pre>
+<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/screen/top/TopScreenView.html#line.297">clearMessage</a>()</pre>
</li>
</ul>
<a name="unknownCommandMessage--">
@@ -566,7 +566,7 @@ public <a href="../../../../../../../org/apache/hadoop/hbase/hbtop/screen/S
<ul class="blockListLast">
<li class="blockList">
<h4>unknownCommandMessage</h4>
-<pre>private <a href="../../../../../../../org/apache/hadoop/hbase/hbtop/screen/ScreenView.html" title="interface in org.apache.hadoop.hbase.hbtop.screen">ScreenView</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/screen/top/TopScreenView.html#line.295">unknownCommandMessage</a>()</pre>
+<pre>private <a href="../../../../../../../org/apache/hadoop/hbase/hbtop/screen/ScreenView.html" title="interface in org.apache.hadoop.hbase.hbtop.screen">ScreenView</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/screen/top/TopScreenView.html#line.301">unknownCommandMessage</a>()</pre>
</li>
</ul>
</li>
diff --git a/devapidocs/org/apache/hadoop/hbase/hbtop/terminal/impl/KeyPressGenerator.html b/devapidocs/org/apache/hadoop/hbase/hbtop/terminal/impl/KeyPressGenerator.html
index 0b2a565..ef55728 100644
--- a/devapidocs/org/apache/hadoop/hbase/hbtop/terminal/impl/KeyPressGenerator.html
+++ b/devapidocs/org/apache/hadoop/hbase/hbtop/terminal/impl/KeyPressGenerator.html
@@ -460,7 +460,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>ctrlAndCharacter</h4>
-<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/terminal/impl/KeyPressGenerator.html#line.216">ctrlAndCharacter</a>(char ch)</pre>
+<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/terminal/impl/KeyPressGenerator.html#line.220">ctrlAndCharacter</a>(char ch)</pre>
</li>
</ul>
<a name="isPrintableChar-char-">
@@ -469,7 +469,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>isPrintableChar</h4>
-<pre>private boolean <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/terminal/impl/KeyPressGenerator.html#line.246">isPrintableChar</a>(char ch)</pre>
+<pre>private boolean <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/terminal/impl/KeyPressGenerator.html#line.250">isPrintableChar</a>(char ch)</pre>
</li>
</ul>
<a name="ctrlAltAndCharacter-char-">
@@ -478,7 +478,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>ctrlAltAndCharacter</h4>
-<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/terminal/impl/KeyPressGenerator.html#line.254">ctrlAltAndCharacter</a>(char ch)</pre>
+<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/terminal/impl/KeyPressGenerator.html#line.258">ctrlAltAndCharacter</a>(char ch)</pre>
</li>
</ul>
<a name="escapeSequenceCharacter-char-">
@@ -487,7 +487,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>escapeSequenceCharacter</h4>
-<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/terminal/impl/KeyPressGenerator.html#line.284">escapeSequenceCharacter</a>(char ch)</pre>
+<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/terminal/impl/KeyPressGenerator.html#line.288">escapeSequenceCharacter</a>(char ch)</pre>
</li>
</ul>
<a name="doneEscapeSequenceCharacter-char-">
@@ -496,7 +496,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>doneEscapeSequenceCharacter</h4>
-<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/terminal/impl/KeyPressGenerator.html#line.309">doneEscapeSequenceCharacter</a>(char last)</pre>
+<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/terminal/impl/KeyPressGenerator.html#line.313">doneEscapeSequenceCharacter</a>(char last)</pre>
</li>
</ul>
<a name="isShift-int-">
@@ -505,7 +505,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>isShift</h4>
-<pre>private boolean <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/terminal/impl/KeyPressGenerator.html#line.454">isShift</a>(int param)</pre>
+<pre>private boolean <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/terminal/impl/KeyPressGenerator.html#line.458">isShift</a>(int param)</pre>
</li>
</ul>
<a name="isAlt-int-">
@@ -514,7 +514,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>isAlt</h4>
-<pre>private boolean <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/terminal/impl/KeyPressGenerator.html#line.458">isAlt</a>(int param)</pre>
+<pre>private boolean <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/terminal/impl/KeyPressGenerator.html#line.462">isAlt</a>(int param)</pre>
</li>
</ul>
<a name="isCtrl-int-">
@@ -523,7 +523,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>isCtrl</h4>
-<pre>private boolean <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/terminal/impl/KeyPressGenerator.html#line.462">isCtrl</a>(int param)</pre>
+<pre>private boolean <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/terminal/impl/KeyPressGenerator.html#line.466">isCtrl</a>(int param)</pre>
</li>
</ul>
<a name="offer-org.apache.hadoop.hbase.hbtop.terminal.KeyPress-">
@@ -532,7 +532,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>offer</h4>
-<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/terminal/impl/KeyPressGenerator.html#line.466">offer</a>(<a href="../../../../../../../org/apache/hadoop/hbase/hbtop/terminal/KeyPress.html" title="class in org.apache.hadoop.hbase.hbtop.terminal">KeyPress</a> keyPress)</pre>
+<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/terminal/impl/KeyPressGenerator.html#line.470">offer</a>(<a href="../../../../../../../org/apache/hadoop/hbase/hbtop/terminal/KeyPress.html" title="class in org.apache.hadoop.hbase.hbtop.terminal">KeyPress</a> keyPress)</pre>
</li>
</ul>
<a name="stop--">
@@ -541,7 +541,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>stop</h4>
-<pre>public void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/terminal/impl/KeyPressGenerator.html#line.476">stop</a>()</pre>
+<pre>public void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/hbtop/terminal/impl/KeyPressGenerator.html#line.480">stop</a>()</pre>
</li>
</ul>
</li>
diff --git a/devapidocs/org/apache/hadoop/hbase/http/package-tree.html b/devapidocs/org/apache/hadoop/hbase/http/package-tree.html
index fd1afed..fe725db 100644
--- a/devapidocs/org/apache/hadoop/hbase/http/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/http/package-tree.html
@@ -138,8 +138,8 @@
<ul>
<li type="circle">java.lang.<a href="https://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><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
<ul>
-<li type="circle">org.apache.hadoop.hbase.http.<a href="../../../../../org/apache/hadoop/hbase/http/ProfileServlet.Output.html" title="enum in org.apache.hadoop.hbase.http"><span class="typeNameLink">ProfileServlet.Output</span></a></li>
<li type="circle">org.apache.hadoop.hbase.http.<a href="../../../../../org/apache/hadoop/hbase/http/ProfileServlet.Event.html" title="enum in org.apache.hadoop.hbase.http"><span class="typeNameLink">ProfileServlet.Event</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.http.<a href="../../../../../org/apache/hadoop/hbase/http/ProfileServlet.Output.html" title="enum in org.apache.hadoop.hbase.http"><span class="typeNameLink">ProfileServlet.Output</span></a></li>
<li type="circle">org.apache.hadoop.hbase.http.<a href="../../../../../org/apache/hadoop/hbase/http/HttpConfig.Policy.html" title="enum in org.apache.hadoop.hbase.http"><span class="typeNameLink">HttpConfig.Policy</span></a></li>
</ul>
</li>
diff --git a/devapidocs/org/apache/hadoop/hbase/io/class-use/ByteBuffAllocator.html b/devapidocs/org/apache/hadoop/hbase/io/class-use/ByteBuffAllocator.html
index 2651a5d..9220d66 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/class-use/ByteBuffAllocator.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/class-use/ByteBuffAllocator.html
@@ -344,7 +344,7 @@
</tr>
<tbody>
<tr class="altColor">
-<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/io/ByteBuffAllocator.html" title="class in org.apache.hadoop.hbase.io">ByteBuffAllocator</a></code></td>
+<td class="colFirst"><code>(package private) <a href="../../../../../../org/apache/hadoop/hbase/io/ByteBuffAllocator.html" title="class in org.apache.hadoop.hbase.io">ByteBuffAllocator</a></code></td>
<td class="colLast"><span class="typeNameLabel">BucketEntry.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.html#allocator">allocator</a></span></code> </td>
</tr>
</tbody>
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html
index df6ef56..37842c8 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>private class <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1264">BucketCache.BucketEntryGroup</a>
+<pre>private class <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1267">BucketCache.BucketEntryGroup</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">Used to group bucket entries into priority buckets. There will be a
BucketEntryGroup for each priority (single, multi, memory). Once bucketed,
@@ -227,7 +227,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>queue</h4>
-<pre>private <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/CachedEntryQueue.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">CachedEntryQueue</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html#line.1266">queue</a></pre>
+<pre>private <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/CachedEntryQueue.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">CachedEntryQueue</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html#line.1269">queue</a></pre>
</li>
</ul>
<a name="totalSize">
@@ -236,7 +236,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>totalSize</h4>
-<pre>private long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html#line.1267">totalSize</a></pre>
+<pre>private long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html#line.1270">totalSize</a></pre>
</li>
</ul>
<a name="bucketSize">
@@ -245,7 +245,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>bucketSize</h4>
-<pre>private long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html#line.1268">bucketSize</a></pre>
+<pre>private long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html#line.1271">bucketSize</a></pre>
</li>
</ul>
</li>
@@ -262,7 +262,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>BucketEntryGroup</h4>
-<pre>public <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html#line.1270">BucketEntryGroup</a>(long bytesToFree,
+<pre>public <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html#line.1273">BucketEntryGroup</a>(long bytesToFree,
long blockSize,
long bucketSize)</pre>
</li>
@@ -281,7 +281,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>add</h4>
-<pre>public void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html#line.1276">add</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</a><<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>,<a href="../../../../../../../o [...]
+<pre>public void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html#line.1279">add</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</a><<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>,<a href="../../../../../../../o [...]
</li>
</ul>
<a name="free-long-">
@@ -290,7 +290,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>free</h4>
-<pre>public long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html#line.1281">free</a>(long toFree)</pre>
+<pre>public long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html#line.1284">free</a>(long toFree)</pre>
</li>
</ul>
<a name="overflow--">
@@ -299,7 +299,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>overflow</h4>
-<pre>public long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html#line.1298">overflow</a>()</pre>
+<pre>public long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html#line.1301">overflow</a>()</pre>
</li>
</ul>
<a name="totalSize--">
@@ -308,7 +308,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>totalSize</h4>
-<pre>public long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html#line.1302">totalSize</a>()</pre>
+<pre>public long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html#line.1305">totalSize</a>()</pre>
</li>
</ul>
</li>
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMCache.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMCache.html
index 71957d5..468aecc 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMCache.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMCache.html
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>static class <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1528">BucketCache.RAMCache</a>
+<pre>static class <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1531">BucketCache.RAMCache</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">Wrapped the delegate ConcurrentMap with maintaining its block's reference count.</div>
</li>
@@ -239,7 +239,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>delegate</h4>
-<pre>final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentHashMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentHashMap</a><<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>,<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html" title="class in org.apache.hadoop. [...]
+<pre>final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentHashMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentHashMap</a><<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>,<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html" title="class in org.apache.hadoop. [...]
<div class="block">Defined the map as <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentHashMap.html?is-external=true" title="class or interface in java.util.concurrent"><code>ConcurrentHashMap</code></a> explicitly here, because in
<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMCache.html#get-org.apache.hadoop.hbase.io.hfile.BlockCacheKey-"><code>get(BlockCacheKey)</code></a> and
<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMCache.html#putIfAbsent-org.apache.hadoop.hbase.io.hfile.BlockCacheKey-org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.RAMQueueEntry-"><code>putIfAbsent(BlockCacheKey, BucketCache.RAMQueueEntry)</code></a> , we need to
@@ -263,7 +263,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>RAMCache</h4>
-<pre><a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMCache.html#line.1528">RAMCache</a>()</pre>
+<pre><a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMCache.html#line.1531">RAMCache</a>()</pre>
</li>
</ul>
</li>
@@ -280,7 +280,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>containsKey</h4>
-<pre>public boolean <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMCache.html#line.1540">containsKey</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a> key)</pre>
+<pre>public boolean <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMCache.html#line.1543">containsKey</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a> key)</pre>
</li>
</ul>
<a name="get-org.apache.hadoop.hbase.io.hfile.BlockCacheKey-">
@@ -289,7 +289,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
-<pre>public <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.RAMQueueEntry</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMCache.html#line.1544">get</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a> k [...]
+<pre>public <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.RAMQueueEntry</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMCache.html#line.1547">get</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a> k [...]
</li>
</ul>
<a name="putIfAbsent-org.apache.hadoop.hbase.io.hfile.BlockCacheKey-org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.RAMQueueEntry-">
@@ -298,7 +298,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>putIfAbsent</h4>
-<pre>public <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.RAMQueueEntry</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMCache.html#line.1558">putIfAbsent</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a [...]
+<pre>public <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.RAMQueueEntry</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMCache.html#line.1561">putIfAbsent</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a [...]
<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.RAMQueueEntry</a> entry)</pre>
<div class="block">Return the previous associated value, or null if absent. It has the same meaning as
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true#putIfAbsent-K-V-" title="class or interface in java.util.concurrent"><code>ConcurrentMap.putIfAbsent(Object, Object)</code></a></div>
@@ -310,7 +310,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>remove</h4>
-<pre>public boolean <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMCache.html#line.1569">remove</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a> key)</pre>
+<pre>public boolean <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMCache.html#line.1572">remove</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a> key)</pre>
</li>
</ul>
<a name="remove-org.apache.hadoop.hbase.io.hfile.BlockCacheKey-java.util.function.Consumer-">
@@ -319,7 +319,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>remove</h4>
-<pre>public boolean <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMCache.html#line.1579">remove</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a> key,
+<pre>public boolean <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMCache.html#line.1582">remove</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a> key,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Consumer.html?is-external=true" title="class or interface in java.util.function">Consumer</a><<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.RAMQueueEntry</a>> action)</pre>
<div class="block">Defined an <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Consumer.html?is-external=true" title="class or interface in java.util.function"><code>Consumer</code></a> here, because once the removed entry release its reference count,
then it's ByteBuffers may be recycled and accessing it outside this method will be thrown an
@@ -333,7 +333,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>isEmpty</h4>
-<pre>public boolean <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMCache.html#line.1588">isEmpty</a>()</pre>
+<pre>public boolean <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMCache.html#line.1591">isEmpty</a>()</pre>
</li>
</ul>
<a name="clear--">
@@ -342,7 +342,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>clear</h4>
-<pre>public void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMCache.html#line.1592">clear</a>()</pre>
+<pre>public void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMCache.html#line.1595">clear</a>()</pre>
</li>
</ul>
</li>
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html
index 46f195c..d1d6ca0 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>static class <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1311">BucketCache.RAMQueueEntry</a>
+<pre>static class <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1314">BucketCache.RAMQueueEntry</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">Block Entry stored in the memory with key,data and so on</div>
</li>
@@ -240,7 +240,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>key</h4>
-<pre>private final <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1312">key</a></pre>
+<pre>private final <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1315">key</a></pre>
</li>
</ul>
<a name="data">
@@ -249,7 +249,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>data</h4>
-<pre>private final <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.html" title="interface in org.apache.hadoop.hbase.io.hfile">Cacheable</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1313">data</a></pre>
+<pre>private final <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.html" title="interface in org.apache.hadoop.hbase.io.hfile">Cacheable</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1316">data</a></pre>
</li>
</ul>
<a name="accessCounter">
@@ -258,7 +258,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>accessCounter</h4>
-<pre>private long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1314">accessCounter</a></pre>
+<pre>private long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1317">accessCounter</a></pre>
</li>
</ul>
<a name="inMemory">
@@ -267,7 +267,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>inMemory</h4>
-<pre>private boolean <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1315">inMemory</a></pre>
+<pre>private boolean <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1318">inMemory</a></pre>
</li>
</ul>
<a name="recycler">
@@ -276,7 +276,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>recycler</h4>
-<pre>private final <a href="../../../../../../../org/apache/hadoop/hbase/io/ByteBuffAllocator.Recycler.html" title="interface in org.apache.hadoop.hbase.io">ByteBuffAllocator.Recycler</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1316">recycler</a></pre>
+<pre>private final <a href="../../../../../../../org/apache/hadoop/hbase/io/ByteBuffAllocator.Recycler.html" title="interface in org.apache.hadoop.hbase.io">ByteBuffAllocator.Recycler</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1319">recycler</a></pre>
</li>
</ul>
</li>
@@ -293,7 +293,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>RAMQueueEntry</h4>
-<pre><a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1318">RAMQueueEntry</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a> bck,
+<pre><a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1321">RAMQueueEntry</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a> bck,
<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.html" title="interface in org.apache.hadoop.hbase.io.hfile">Cacheable</a> data,
long accessCounter,
boolean inMemory,
@@ -314,7 +314,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getData</h4>
-<pre>public <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.html" title="interface in org.apache.hadoop.hbase.io.hfile">Cacheable</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1327">getData</a>()</pre>
+<pre>public <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.html" title="interface in org.apache.hadoop.hbase.io.hfile">Cacheable</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1330">getData</a>()</pre>
</li>
</ul>
<a name="getKey--">
@@ -323,7 +323,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getKey</h4>
-<pre>public <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1331">getKey</a>()</pre>
+<pre>public <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1334">getKey</a>()</pre>
</li>
</ul>
<a name="access-long-">
@@ -332,7 +332,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>access</h4>
-<pre>public void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1335">access</a>(long accessCounter)</pre>
+<pre>public void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1338">access</a>(long accessCounter)</pre>
</li>
</ul>
<a name="getByteBuffAllocator--">
@@ -341,7 +341,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getByteBuffAllocator</h4>
-<pre>private <a href="../../../../../../../org/apache/hadoop/hbase/io/ByteBuffAllocator.html" title="class in org.apache.hadoop.hbase.io">ByteBuffAllocator</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1339">getByteBuffAllocator</a>()</pre>
+<pre>private <a href="../../../../../../../org/apache/hadoop/hbase/io/ByteBuffAllocator.html" title="class in org.apache.hadoop.hbase.io">ByteBuffAllocator</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1342">getByteBuffAllocator</a>()</pre>
</li>
</ul>
<a name="writeToCache-org.apache.hadoop.hbase.io.hfile.bucket.IOEngine-org.apache.hadoop.hbase.io.hfile.bucket.BucketAllocator-java.util.concurrent.atomic.LongAdder-">
@@ -350,7 +350,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>writeToCache</h4>
-<pre>public <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketEntry</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1346">writeToCache</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/IOEngine.html" title="interface in org.apache.hadoop.hbase.io.hfile.bucket">IOEngine</a> ioEngine,
+<pre>public <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketEntry</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1349">writeToCache</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/IOEngine.html" title="interface in org.apache.hadoop.hbase.io.hfile.bucket">IOEngine</a> ioEngine,
<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketAllocator</a> alloc,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> realCacheSize)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.StatisticsThread.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.StatisticsThread.html
index 624731f..5ffd502 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.StatisticsThread.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.StatisticsThread.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>private static class <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.607">BucketCache.StatisticsThread</a>
+<pre>private static class <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.610">BucketCache.StatisticsThread</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></pre>
</li>
</ul>
@@ -239,7 +239,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
<ul class="blockListLast">
<li class="blockList">
<h4>bucketCache</h4>
-<pre>private final <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.StatisticsThread.html#line.608">bucketCache</a></pre>
+<pre>private final <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.StatisticsThread.html#line.611">bucketCache</a></pre>
</li>
</ul>
</li>
@@ -256,7 +256,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
<ul class="blockListLast">
<li class="blockList">
<h4>StatisticsThread</h4>
-<pre>public <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.StatisticsThread.html#line.610">StatisticsThread</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache</a> bucketCache)</pre>
+<pre>public <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.StatisticsThread.html#line.613">StatisticsThread</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache</a> bucketCache)</pre>
</li>
</ul>
</li>
@@ -273,7 +273,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
<ul class="blockListLast">
<li class="blockList">
<h4>run</h4>
-<pre>public void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.StatisticsThread.html#line.617">run</a>()</pre>
+<pre>public void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.StatisticsThread.html#line.620">run</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true#run--" title="class or interface in java.lang">run</a></code> in interface <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></dd>
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.WriterThread.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.WriterThread.html
index a746f83..066c6e8 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.WriterThread.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.WriterThread.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>class <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.852">BucketCache.WriterThread</a>
+<pre>class <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.855">BucketCache.WriterThread</a>
extends <a href="../../../../../../../org/apache/hadoop/hbase/util/HasThread.html" title="class in org.apache.hadoop.hbase.util">HasThread</a></pre>
</li>
</ul>
@@ -238,7 +238,7 @@ extends <a href="../../../../../../../org/apache/hadoop/hbase/util/HasThread.htm
<ul class="blockList">
<li class="blockList">
<h4>inputQueue</h4>
-<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/BlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">BlockingQueue</a><<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.RAMQueueEntry</a>> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.Wri [...]
+<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/BlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">BlockingQueue</a><<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.RAMQueueEntry</a>> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.Wri [...]
</li>
</ul>
<a name="writerEnabled">
@@ -247,7 +247,7 @@ extends <a href="../../../../../../../org/apache/hadoop/hbase/util/HasThread.htm
<ul class="blockListLast">
<li class="blockList">
<h4>writerEnabled</h4>
-<pre>private volatile boolean <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.WriterThread.html#line.854">writerEnabled</a></pre>
+<pre>private volatile boolean <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.WriterThread.html#line.857">writerEnabled</a></pre>
</li>
</ul>
</li>
@@ -264,7 +264,7 @@ extends <a href="../../../../../../../org/apache/hadoop/hbase/util/HasThread.htm
<ul class="blockListLast">
<li class="blockList">
<h4>WriterThread</h4>
-<pre><a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.WriterThread.html#line.856">WriterThread</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/BlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">BlockingQueue</a><<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache [...]
+<pre><a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.WriterThread.html#line.859">WriterThread</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/BlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">BlockingQueue</a><<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache [...]
</li>
</ul>
</li>
@@ -281,7 +281,7 @@ extends <a href="../../../../../../../org/apache/hadoop/hbase/util/HasThread.htm
<ul class="blockList">
<li class="blockList">
<h4>disableWriter</h4>
-<pre>void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.WriterThread.html#line.863">disableWriter</a>()</pre>
+<pre>void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.WriterThread.html#line.866">disableWriter</a>()</pre>
</li>
</ul>
<a name="run--">
@@ -290,7 +290,7 @@ extends <a href="../../../../../../../org/apache/hadoop/hbase/util/HasThread.htm
<ul class="blockList">
<li class="blockList">
<h4>run</h4>
-<pre>public void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.WriterThread.html#line.868">run</a>()</pre>
+<pre>public void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.WriterThread.html#line.871">run</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true#run--" title="class or interface in java.lang">run</a></code> in interface <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></dd>
@@ -305,7 +305,7 @@ extends <a href="../../../../../../../org/apache/hadoop/hbase/util/HasThread.htm
<ul class="blockList">
<li class="blockList">
<h4>putIntoBackingMap</h4>
-<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.WriterThread.html#line.904">putIntoBackingMap</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a> key,
+<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.WriterThread.html#line.907">putIntoBackingMap</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a> key,
<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketEntry</a> bucketEntry)</pre>
<div class="block">Put the new bucket entry into backingMap. Notice that we are allowed to replace the existing
cache with a new block for the same cache key. there's a corner case: one thread cache a
@@ -329,7 +329,7 @@ extends <a href="../../../../../../../org/apache/hadoop/hbase/util/HasThread.htm
<ul class="blockListLast">
<li class="blockList">
<h4>doDrain</h4>
-<pre>void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.WriterThread.html#line.923">doDrain</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.RAMQueueEntry</a>> entries)
+<pre>void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.WriterThread.html#line.926">doDrain</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.RAMQueueEntry</a>> entries)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
<div class="block">Flush the entries in ramCache to IOEngine and add bucket entry to backingMap.
Process all that are passed in even if failure being sure to remove from ramCache else we'll
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html
index b15a354..97a6e5f 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html
@@ -1547,7 +1547,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>blockEvicted</h4>
-<pre>void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.532">blockEvicted</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a> cacheKey,
+<pre>void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.535">blockEvicted</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a> cacheKey,
<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketEntry</a> bucketEntry,
boolean decrementBlockNumber)</pre>
</li>
@@ -1558,7 +1558,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>evictBlock</h4>
-<pre>public boolean <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.558">evictBlock</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a> cacheKey)</pre>
+<pre>public boolean <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.561">evictBlock</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a> cacheKey)</pre>
<div class="block">Try to evict the block from <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile"><code>BlockCache</code></a> by force. We'll call this in few cases:<br>
1. Close an HFile, and clear all cached blocks. <br>
2. Call <a href="../../../../../../../org/apache/hadoop/hbase/client/Admin.html#clearBlockCache-org.apache.hadoop.hbase.TableName-"><code>Admin.clearBlockCache(TableName)</code></a> to clear all blocks for a given table.<br>
@@ -1587,7 +1587,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>createRecycler</h4>
-<pre>private <a href="../../../../../../../org/apache/hadoop/hbase/io/ByteBuffAllocator.Recycler.html" title="interface in org.apache.hadoop.hbase.io">ByteBuffAllocator.Recycler</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.574">createRecycler</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a> cacheKey)</pre>
+<pre>private <a href="../../../../../../../org/apache/hadoop/hbase/io/ByteBuffAllocator.Recycler.html" title="interface in org.apache.hadoop.hbase.io">ByteBuffAllocator.Recycler</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.577">createRecycler</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a> cacheKey)</pre>
</li>
</ul>
<a name="removeFromRamCache-org.apache.hadoop.hbase.io.hfile.BlockCacheKey-">
@@ -1596,7 +1596,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>removeFromRamCache</h4>
-<pre>private boolean <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.595">removeFromRamCache</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a> cacheKey)</pre>
+<pre>private boolean <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.598">removeFromRamCache</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a> cacheKey)</pre>
</li>
</ul>
<a name="logStats--">
@@ -1605,7 +1605,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>logStats</h4>
-<pre>public void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.622">logStats</a>()</pre>
+<pre>public void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.625">logStats</a>()</pre>
</li>
</ul>
<a name="getRealCacheSize--">
@@ -1614,7 +1614,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>getRealCacheSize</h4>
-<pre>public long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.648">getRealCacheSize</a>()</pre>
+<pre>public long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.651">getRealCacheSize</a>()</pre>
</li>
</ul>
<a name="acceptableSize--">
@@ -1623,7 +1623,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>acceptableSize</h4>
-<pre>public long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.652">acceptableSize</a>()</pre>
+<pre>public long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.655">acceptableSize</a>()</pre>
</li>
</ul>
<a name="getPartitionSize-float-">
@@ -1632,7 +1632,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>getPartitionSize</h4>
-<pre>long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.657">getPartitionSize</a>(float partitionFactor)</pre>
+<pre>long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.660">getPartitionSize</a>(float partitionFactor)</pre>
</li>
</ul>
<a name="bucketSizesAboveThresholdCount-float-">
@@ -1641,7 +1641,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>bucketSizesAboveThresholdCount</h4>
-<pre>private int <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.664">bucketSizesAboveThresholdCount</a>(float minFactor)</pre>
+<pre>private int <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.667">bucketSizesAboveThresholdCount</a>(float minFactor)</pre>
<div class="block">Return the count of bucketSizeinfos still need free space</div>
</li>
</ul>
@@ -1651,7 +1651,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>freeEntireBuckets</h4>
-<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.686">freeEntireBuckets</a>(int completelyFreeBucketsNeeded)</pre>
+<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.689">freeEntireBuckets</a>(int completelyFreeBucketsNeeded)</pre>
<div class="block">This method will find the buckets that are minimally occupied
and are not reference counted and will free them completely
without any constraint on the access times of the elements,
@@ -1669,7 +1669,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>freeSpace</h4>
-<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.712">freeSpace</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> why)</pre>
+<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.715">freeSpace</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> why)</pre>
<div class="block">Free the space if the used size reaches acceptableSize() or one size block
couldn't be allocated. When freeing the space, we use the LRU algorithm and
ensure there must be some blocks evicted</div>
@@ -1685,7 +1685,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>getRAMQueueEntries</h4>
-<pre>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.RAMQueueEntry</a>> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1031">getRAMQueueEntries</a>(<a hre [...]
+<pre>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.RAMQueueEntry</a>> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1034">getRAMQueueEntries</a>(<a hre [...]
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.RAMQueueEntry</a>> receptacle)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
<div class="block">Blocks until elements available in <code>q</code> then tries to grab as many as possible before
@@ -1708,7 +1708,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>persistToFile</h4>
-<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1046">persistToFile</a>()
+<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1049">persistToFile</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -1724,7 +1724,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>retrieveFromFile</h4>
-<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1060">retrieveFromFile</a>(int[] bucketSizes)
+<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1063">retrieveFromFile</a>(int[] bucketSizes)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -1740,7 +1740,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>deleteFileOnClose</h4>
-<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/io/FileInputStream.html?is-external=true" title="class or interface in java.io">FileInputStream</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1101">deleteFileOnClose</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a> file)
+<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/io/FileInputStream.html?is-external=true" title="class or interface in java.io">FileInputStream</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1104">deleteFileOnClose</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a> file)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Create an input stream that deletes the file after reading it. Use in try-with-resources to
avoid this pattern where an exception thrown from a finally block may mask earlier exceptions:
@@ -1768,7 +1768,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>verifyCapacityAndClasses</h4>
-<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1113">verifyCapacityAndClasses</a>(long capacitySize,
+<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1116">verifyCapacityAndClasses</a>(long capacitySize,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ioclass,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> mapclass)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1784,7 +1784,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>parsePB</h4>
-<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1130">parsePB</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.BucketCacheProtos.BucketCacheEntry proto)
+<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1133">parsePB</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.BucketCacheProtos.BucketCacheEntry proto)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -1798,7 +1798,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>checkIOErrorIsTolerated</h4>
-<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1140">checkIOErrorIsTolerated</a>()</pre>
+<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1143">checkIOErrorIsTolerated</a>()</pre>
<div class="block">Check whether we tolerate IO error this time. If the duration of IOEngine
throwing errors exceeds ioErrorsDurationTimeTolerated, we will disable the
cache</div>
@@ -1810,7 +1810,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>disableCache</h4>
-<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1156">disableCache</a>()</pre>
+<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1159">disableCache</a>()</pre>
<div class="block">Used to shut down the cache -or- turn it off in the case of something broken.</div>
</li>
</ul>
@@ -1820,7 +1820,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>join</h4>
-<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1169">join</a>()
+<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1172">join</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -1834,7 +1834,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>shutdown</h4>
-<pre>public void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1175">shutdown</a>()</pre>
+<pre>public void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1178">shutdown</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html#shutdown--">BlockCache</a></code></span></div>
<div class="block">Shutdown the cache.</div>
<dl>
@@ -1849,7 +1849,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>getStats</h4>
-<pre>public <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1192">getStats</a>()</pre>
+<pre>public <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1195">getStats</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html#getStats--">BlockCache</a></code></span></div>
<div class="block">Get the statistics for this block cache.</div>
<dl>
@@ -1866,7 +1866,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>getAllocator</h4>
-<pre>public <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketAllocator</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1196">getAllocator</a>()</pre>
+<pre>public <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketAllocator</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1199">getAllocator</a>()</pre>
</li>
</ul>
<a name="heapSize--">
@@ -1875,7 +1875,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>heapSize</h4>
-<pre>public long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1201">heapSize</a>()</pre>
+<pre>public long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1204">heapSize</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../../org/apache/hadoop/hbase/io/HeapSize.html#heapSize--">heapSize</a></code> in interface <code><a href="../../../../../../../org/apache/hadoop/hbase/io/HeapSize.html" title="interface in org.apache.hadoop.hbase.io">HeapSize</a></code></dd>
@@ -1891,7 +1891,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>size</h4>
-<pre>public long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1206">size</a>()</pre>
+<pre>public long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1209">size</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html#size--">BlockCache</a></code></span></div>
<div class="block">Returns the total size of the block cache, in bytes.</div>
<dl>
@@ -1908,7 +1908,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>getCurrentDataSize</h4>
-<pre>public long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1211">getCurrentDataSize</a>()</pre>
+<pre>public long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1214">getCurrentDataSize</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html#getCurrentDataSize--">BlockCache</a></code></span></div>
<div class="block">Returns the occupied size of data blocks, in bytes.</div>
<dl>
@@ -1925,7 +1925,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>getFreeSize</h4>
-<pre>public long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1216">getFreeSize</a>()</pre>
+<pre>public long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1219">getFreeSize</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html#getFreeSize--">BlockCache</a></code></span></div>
<div class="block">Returns the free size of the block cache, in bytes.</div>
<dl>
@@ -1942,7 +1942,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>getBlockCount</h4>
-<pre>public long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1221">getBlockCount</a>()</pre>
+<pre>public long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1224">getBlockCount</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html#getBlockCount--">BlockCache</a></code></span></div>
<div class="block">Returns the number of blocks currently cached in the block cache.</div>
<dl>
@@ -1959,7 +1959,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>getDataBlockCount</h4>
-<pre>public long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1226">getDataBlockCount</a>()</pre>
+<pre>public long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1229">getDataBlockCount</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html#getDataBlockCount--">BlockCache</a></code></span></div>
<div class="block">Returns the number of data blocks currently cached in the block cache.</div>
<dl>
@@ -1976,7 +1976,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>getCurrentSize</h4>
-<pre>public long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1231">getCurrentSize</a>()</pre>
+<pre>public long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1234">getCurrentSize</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html#getCurrentSize--">BlockCache</a></code></span></div>
<div class="block">Returns the occupied size of the block cache, in bytes.</div>
<dl>
@@ -1993,7 +1993,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>evictBlocksByHfileName</h4>
-<pre>public int <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1243">evictBlocksByHfileName</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> hfileName)</pre>
+<pre>public int <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1246">evictBlocksByHfileName</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> hfileName)</pre>
<div class="block">Evicts all blocks for a specific HFile.
<p>
This is used for evict-on-close to remove all blocks of a specific HFile.</div>
@@ -2011,7 +2011,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>stopWriterThreads</h4>
-<pre>void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1388">stopWriterThreads</a>()
+<pre>void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1391">stopWriterThreads</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
<div class="block">Only used in test</div>
<dl>
@@ -2026,7 +2026,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>iterator</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a><<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CachedBlock.html" title="interface in org.apache.hadoop.hbase.io.hfile">CachedBlock</a>> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1397">iterator</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a><<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CachedBlock.html" title="interface in org.apache.hadoop.hbase.io.hfile">CachedBlock</a>> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1400">iterator</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true#iterator--" title="class or interface in java.lang">iterator</a></code> in interface <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a><<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CachedBlock.html" title="interface in org.apache.hadoop.hbase.io.hfile">Cache [...]
@@ -2043,7 +2043,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>getBlockCaches</h4>
-<pre>public <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a>[] <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1488">getBlockCaches</a>()</pre>
+<pre>public <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a>[] <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1491">getBlockCaches</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html#getBlockCaches--">getBlockCaches</a></code> in interface <code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></code></dd>
@@ -2058,7 +2058,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>getRpcRefCount</h4>
-<pre>public int <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1493">getRpcRefCount</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a> cacheKey)</pre>
+<pre>public int <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1496">getRpcRefCount</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a> cacheKey)</pre>
</li>
</ul>
<a name="getAcceptableFactor--">
@@ -2067,7 +2067,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>getAcceptableFactor</h4>
-<pre>float <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1501">getAcceptableFactor</a>()</pre>
+<pre>float <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1504">getAcceptableFactor</a>()</pre>
</li>
</ul>
<a name="getMinFactor--">
@@ -2076,7 +2076,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>getMinFactor</h4>
-<pre>float <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1505">getMinFactor</a>()</pre>
+<pre>float <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1508">getMinFactor</a>()</pre>
</li>
</ul>
<a name="getExtraFreeFactor--">
@@ -2085,7 +2085,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>getExtraFreeFactor</h4>
-<pre>float <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1509">getExtraFreeFactor</a>()</pre>
+<pre>float <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1512">getExtraFreeFactor</a>()</pre>
</li>
</ul>
<a name="getSingleFactor--">
@@ -2094,7 +2094,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>getSingleFactor</h4>
-<pre>float <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1513">getSingleFactor</a>()</pre>
+<pre>float <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1516">getSingleFactor</a>()</pre>
</li>
</ul>
<a name="getMultiFactor--">
@@ -2103,7 +2103,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockList">
<li class="blockList">
<h4>getMultiFactor</h4>
-<pre>float <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1517">getMultiFactor</a>()</pre>
+<pre>float <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1520">getMultiFactor</a>()</pre>
</li>
</ul>
<a name="getMemoryFactor--">
@@ -2112,7 +2112,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
<ul class="blockListLast">
<li class="blockList">
<h4>getMemoryFactor</h4>
-<pre>float <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1521">getMemoryFactor</a>()</pre>
+<pre>float <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1524">getMemoryFactor</a>()</pre>
</li>
</ul>
</li>
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.BucketEntryHandler.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.BucketEntryHandler.html
index e5d51b6..8ac1511 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.BucketEntryHandler.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.BucketEntryHandler.html
@@ -105,7 +105,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>static interface <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.html#line.201">BucketEntry.BucketEntryHandler</a><T></pre>
+<pre>static interface <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.html#line.204">BucketEntry.BucketEntryHandler</a><T></pre>
</li>
</ul>
</div>
@@ -149,7 +149,7 @@ var activeTableTab = "activeTableTab";
<ul class="blockListLast">
<li class="blockList">
<h4>handle</h4>
-<pre><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.BucketEntryHandler.html" title="type parameter in BucketEntry.BucketEntryHandler">T</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.BucketEntryHandler.html#line.202">handle</a>()</pre>
+<pre><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.BucketEntryHandler.html" title="type parameter in BucketEntry.BucketEntryHandler">T</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.BucketEntryHandler.html#line.205">handle</a>()</pre>
</li>
</ul>
</li>
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.html
index a776283..cb38e34 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.html
@@ -18,7 +18,7 @@
catch(err) {
}
//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@@ -164,7 +164,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/nio/HBaseRefere
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.html#accessCounter">accessCounter</a></span></code> </td>
</tr>
<tr class="rowColor">
-<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/io/ByteBuffAllocator.html" title="class in org.apache.hadoop.hbase.io">ByteBuffAllocator</a></code></td>
+<td class="colFirst"><code>(package private) <a href="../../../../../../../org/apache/hadoop/hbase/io/ByteBuffAllocator.html" title="class in org.apache.hadoop.hbase.io">ByteBuffAllocator</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.html#allocator">allocator</a></span></code> </td>
</tr>
<tr class="altColor">
@@ -332,6 +332,10 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/nio/HBaseRefere
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>(package private) <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.html" title="interface in org.apache.hadoop.hbase.io.hfile">Cacheable</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.html#wrapAsCacheable-org.apache.hadoop.hbase.nio.ByteBuff-">wrapAsCacheable</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> buf)</code> </td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>(package private) <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.html" title="interface in org.apache.hadoop.hbase.io.hfile">Cacheable</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.html#wrapAsCacheable-java.nio.ByteBuffer:A-">wrapAsCacheable</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>[] buffers)</code> </td>
</tr>
</table>
@@ -465,7 +469,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/nio/HBaseRefere
<ul class="blockList">
<li class="blockList">
<h4>allocator</h4>
-<pre>private final <a href="../../../../../../../org/apache/hadoop/hbase/io/ByteBuffAllocator.html" title="class in org.apache.hadoop.hbase.io">ByteBuffAllocator</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.html#line.83">allocator</a></pre>
+<pre>final <a href="../../../../../../../org/apache/hadoop/hbase/io/ByteBuffAllocator.html" title="class in org.apache.hadoop.hbase.io">ByteBuffAllocator</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.html#line.83">allocator</a></pre>
</li>
</ul>
<a name="cachedTime">
@@ -667,13 +671,27 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/nio/HBaseRefere
</dl>
</li>
</ul>
+<a name="wrapAsCacheable-org.apache.hadoop.hbase.nio.ByteBuff-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>wrapAsCacheable</h4>
+<pre><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.html" title="interface in org.apache.hadoop.hbase.io.hfile">Cacheable</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.html#line.200">wrapAsCacheable</a>(<a href="../../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> buf)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
<a name="withWriteLock-org.apache.hadoop.hbase.util.IdReadWriteLock-org.apache.hadoop.hbase.io.hfile.bucket.BucketEntry.BucketEntryHandler-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withWriteLock</h4>
-<pre><T> T <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.html#line.205">withWriteLock</a>(<a href="../../../../../../../org/apache/hadoop/hbase/util/IdReadWriteLock.html" title="class in org.apache.hadoop.hbase.util">IdReadWriteLock</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>> offsetLock,
+<pre><T> T <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.html#line.208">withWriteLock</a>(<a href="../../../../../../../org/apache/hadoop/hbase/util/IdReadWriteLock.html" title="class in org.apache.hadoop.hbase.util">IdReadWriteLock</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>> offsetLock,
<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.BucketEntryHandler.html" title="interface in org.apache.hadoop.hbase.io.hfile.bucket">BucketEntry.BucketEntryHandler</a><T> handler)</pre>
</li>
</ul>
@@ -683,7 +701,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/nio/HBaseRefere
<ul class="blockList">
<li class="blockList">
<h4>refCnt</h4>
-<pre>public int <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.html#line.216">refCnt</a>()</pre>
+<pre>public int <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.html#line.219">refCnt</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>refCnt</code> in interface <code>org.apache.hbase.thirdparty.io.netty.util.ReferenceCounted</code></dd>
@@ -696,7 +714,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/nio/HBaseRefere
<ul class="blockList">
<li class="blockList">
<h4>retain</h4>
-<pre>public <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketEntry</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.html#line.221">retain</a>()</pre>
+<pre>public <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketEntry</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.html#line.224">retain</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>retain</code> in interface <code>org.apache.hbase.thirdparty.io.netty.util.ReferenceCounted</code></dd>
@@ -709,7 +727,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/nio/HBaseRefere
<ul class="blockListLast">
<li class="blockList">
<h4>release</h4>
-<pre>public boolean <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.html#line.239">release</a>()</pre>
+<pre>public boolean <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.html#line.242">release</a>()</pre>
<div class="block">We've three cases to release refCnt now: <br>
1. BucketCache#evictBlock, it will release the backingMap's reference by force because we're
closing file or clear the bucket cache or some corruption happen. when all rpc references gone,
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/ExclusiveMemoryMmapIOEngine.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/ExclusiveMemoryMmapIOEngine.html
index 627f222..3c7ff55 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/ExclusiveMemoryMmapIOEngine.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/ExclusiveMemoryMmapIOEngine.html
@@ -119,7 +119,7 @@ var activeTableTab = "activeTableTab";
<hr>
<br>
<pre>@InterfaceAudience.Private
-public class <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/ExclusiveMemoryMmapIOEngine.html#line.30">ExclusiveMemoryMmapIOEngine</a>
+public class <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/ExclusiveMemoryMmapIOEngine.html#line.29">ExclusiveMemoryMmapIOEngine</a>
extends <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileMmapIOEngine.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">FileMmapIOEngine</a></pre>
<div class="block">IO engine that stores data to a file on the local block device using memory mapping mechanism</div>
</li>
@@ -221,7 +221,7 @@ extends <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/Fi
<ul class="blockListLast">
<li class="blockList">
<h4>ExclusiveMemoryMmapIOEngine</h4>
-<pre>public <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/ExclusiveMemoryMmapIOEngine.html#line.32">ExclusiveMemoryMmapIOEngine</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> filePath,
+<pre>public <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/ExclusiveMemoryMmapIOEngine.html#line.31">ExclusiveMemoryMmapIOEngine</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> filePath,
long capacity)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
@@ -244,7 +244,7 @@ extends <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/Fi
<ul class="blockListLast">
<li class="blockList">
<h4>read</h4>
-<pre>public <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.html" title="interface in org.apache.hadoop.hbase.io.hfile">Cacheable</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/ExclusiveMemoryMmapIOEngine.html#line.37">read</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketEntry</a> be)
+<pre>public <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.html" title="interface in org.apache.hadoop.hbase.io.hfile">Cacheable</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/ExclusiveMemoryMmapIOEngine.html#line.36">read</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketEntry</a> be)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/IOEngine.html#read-org.apache.hadoop.hbase.io.hfile.bucket.BucketEntry-">IOEngine</a></code></span></div>
<div class="block">Transfers data from IOEngine to a Cacheable object.</div>
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileAccessor.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileAccessor.html
index 5425d28..a958169 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileAccessor.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileAccessor.html
@@ -109,7 +109,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>private static interface <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html#line.306">FileIOEngine.FileAccessor</a></pre>
+<pre>private static interface <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html#line.310">FileIOEngine.FileAccessor</a></pre>
</li>
</ul>
</div>
@@ -130,8 +130,8 @@ var activeTableTab = "activeTableTab";
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileAccessor.html#access-java.nio.channels.FileChannel-java.nio.ByteBuffer-long-">access</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html?is-external=true" title="class or interface in java.nio.channels">FileChannel</a> fileChannel,
- <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> byteBuffer,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileAccessor.html#access-java.nio.channels.FileChannel-org.apache.hadoop.hbase.nio.ByteBuff-long-">access</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html?is-external=true" title="class or interface in java.nio.channels">FileChannel</a> fileChannel,
+ <a href="../../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> buff,
long accessOffset)</code> </td>
</tr>
</table>
@@ -149,14 +149,14 @@ var activeTableTab = "activeTableTab";
<!-- -->
</a>
<h3>Method Detail</h3>
-<a name="access-java.nio.channels.FileChannel-java.nio.ByteBuffer-long-">
+<a name="access-java.nio.channels.FileChannel-org.apache.hadoop.hbase.nio.ByteBuff-long-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>access</h4>
-<pre>int <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileAccessor.html#line.307">access</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html?is-external=true" title="class or interface in java.nio.channels">FileChannel</a> fileChannel,
- <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> byteBuffer,
+<pre>int <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileAccessor.html#line.311">access</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html?is-external=true" title="class or interface in java.nio.channels">FileChannel</a> fileChannel,
+ <a href="../../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> buff,
long accessOffset)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileReadAccessor.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileReadAccessor.html
index ef08f9a..0ba9f9f 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileReadAccessor.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileReadAccessor.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>private static class <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html#line.311">FileIOEngine.FileReadAccessor</a>
+<pre>private static class <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html#line.315">FileIOEngine.FileReadAccessor</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileAccessor.html" title="interface in org.apache.hadoop.hbase.io.hfile.bucket">FileIOEngine.FileAccessor</a></pre>
</li>
@@ -159,8 +159,8 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileReadAccessor.html#access-java.nio.channels.FileChannel-java.nio.ByteBuffer-long-">access</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html?is-external=true" title="class or interface in java.nio.channels">FileChannel</a> fileChannel,
- <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> byteBuffer,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileReadAccessor.html#access-java.nio.channels.FileChannel-org.apache.hadoop.hbase.nio.ByteBuff-long-">access</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html?is-external=true" title="class or interface in java.nio.channels">FileChannel</a> fileChannel,
+ <a href="../../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> buff,
long accessOffset)</code> </td>
</tr>
</table>
@@ -191,7 +191,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket
<ul class="blockListLast">
<li class="blockList">
<h4>FileReadAccessor</h4>
-<pre>private <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileReadAccessor.html#line.311">FileReadAccessor</a>()</pre>
+<pre>private <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileReadAccessor.html#line.315">FileReadAccessor</a>()</pre>
</li>
</ul>
</li>
@@ -202,19 +202,19 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket
<!-- -->
</a>
<h3>Method Detail</h3>
-<a name="access-java.nio.channels.FileChannel-java.nio.ByteBuffer-long-">
+<a name="access-java.nio.channels.FileChannel-org.apache.hadoop.hbase.nio.ByteBuff-long-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>access</h4>
-<pre>public int <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileReadAccessor.html#line.313">access</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html?is-external=true" title="class or interface in java.nio.channels">FileChannel</a> fileChannel,
- <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> byteBuffer,
+<pre>public int <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileReadAccessor.html#line.317">access</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html?is-external=true" title="class or interface in java.nio.channels">FileChannel</a> fileChannel,
+ <a href="../../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> buff,
long accessOffset)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileAccessor.html#access-java.nio.channels.FileChannel-java.nio.ByteBuffer-long-">access</a></code> in interface <code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileAccessor.html" title="interface in org.apache.hadoop.hbase.io.hfile.bucket">FileIOEngine.FileAccessor</a></code></dd>
+<dd><code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileAccessor.html#access-java.nio.channels.FileChannel-org.apache.hadoop.hbase.nio.ByteBuff-long-">access</a></code> in interface <code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileAccessor.html" title="interface in org.apache.hadoop.hbase.io.hfile.bucket">FileIOEngine.FileAccessor</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileWriteAccessor.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileWriteAccessor.html
index 6f3b73f..aa281002 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileWriteAccessor.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileWriteAccessor.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>private static class <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html#line.319">FileIOEngine.FileWriteAccessor</a>
+<pre>private static class <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html#line.323">FileIOEngine.FileWriteAccessor</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileAccessor.html" title="interface in org.apache.hadoop.hbase.io.hfile.bucket">FileIOEngine.FileAccessor</a></pre>
</li>
@@ -159,8 +159,8 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileWriteAccessor.html#access-java.nio.channels.FileChannel-java.nio.ByteBuffer-long-">access</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html?is-external=true" title="class or interface in java.nio.channels">FileChannel</a> fileChannel,
- <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> byteBuffer,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileWriteAccessor.html#access-java.nio.channels.FileChannel-org.apache.hadoop.hbase.nio.ByteBuff-long-">access</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html?is-external=true" title="class or interface in java.nio.channels">FileChannel</a> fileChannel,
+ <a href="../../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> buff,
long accessOffset)</code> </td>
</tr>
</table>
@@ -191,7 +191,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket
<ul class="blockListLast">
<li class="blockList">
<h4>FileWriteAccessor</h4>
-<pre>private <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileWriteAccessor.html#line.319">FileWriteAccessor</a>()</pre>
+<pre>private <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileWriteAccessor.html#line.323">FileWriteAccessor</a>()</pre>
</li>
</ul>
</li>
@@ -202,19 +202,19 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket
<!-- -->
</a>
<h3>Method Detail</h3>
-<a name="access-java.nio.channels.FileChannel-java.nio.ByteBuffer-long-">
+<a name="access-java.nio.channels.FileChannel-org.apache.hadoop.hbase.nio.ByteBuff-long-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>access</h4>
-<pre>public int <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileWriteAccessor.html#line.321">access</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html?is-external=true" title="class or interface in java.nio.channels">FileChannel</a> fileChannel,
- <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> byteBuffer,
+<pre>public int <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileWriteAccessor.html#line.325">access</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html?is-external=true" title="class or interface in java.nio.channels">FileChannel</a> fileChannel,
+ <a href="../../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> buff,
long accessOffset)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileAccessor.html#access-java.nio.channels.FileChannel-java.nio.ByteBuffer-long-">access</a></code> in interface <code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileAccessor.html" title="interface in org.apache.hadoop.hbase.io.hfile.bucket">FileIOEngine.FileAccessor</a></code></dd>
+<dd><code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileAccessor.html#access-java.nio.channels.FileChannel-org.apache.hadoop.hbase.nio.ByteBuff-long-">access</a></code> in interface <code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileAccessor.html" title="interface in org.apache.hadoop.hbase.io.hfile.bucket">FileIOEngine.FileAccessor</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html
index 835df19..f995a1d 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html
@@ -239,8 +239,8 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>private void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html#accessFile-org.apache.hadoop.hbase.io.hfile.bucket.FileIOEngine.FileAccessor-java.nio.ByteBuffer-long-">accessFile</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileAccessor.html" title="interface in org.apache.hadoop.hbase.io.hfile.bucket">FileIOEngine.FileAccessor</a> accessor,
- <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> buffer,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html#accessFile-org.apache.hadoop.hbase.io.hfile.bucket.FileIOEngine.FileAccessor-org.apache.hadoop.hbase.nio.ByteBuff-long-">accessFile</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileAccessor.html" title="interface in org.apache.hadoop.hbase.io.hfile.bucket">FileIOEngine.FileAccessor</a> accessor,
+ <a href="../../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> buff,
long globalOffset)</code> </td>
</tr>
<tr id="i1" class="rowColor">
@@ -304,7 +304,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html#write-org.apache.hadoop.hbase.nio.ByteBuff-long-">write</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> srcBuffer,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html#write-org.apache.hadoop.hbase.nio.ByteBuff-long-">write</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> srcBuff,
long offset)</code>
<div class="block">Transfers the data from the given MultiByteBuffer to IOEngine</div>
</td>
@@ -520,7 +520,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket
<ul class="blockList">
<li class="blockList">
<h4>closeFileChannels</h4>
-<pre>void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html#line.149">closeFileChannels</a>()</pre>
+<pre>void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html#line.154">closeFileChannels</a>()</pre>
</li>
</ul>
<a name="write-java.nio.ByteBuffer-long-">
@@ -529,7 +529,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket
<ul class="blockList">
<li class="blockList">
<h4>write</h4>
-<pre>public void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html#line.166">write</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> srcBuffer,
+<pre>public void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html#line.171">write</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> srcBuffer,
long offset)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Transfers data from the given byte buffer to file</div>
@@ -550,7 +550,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket
<ul class="blockList">
<li class="blockList">
<h4>sync</h4>
-<pre>public void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html#line.178">sync</a>()
+<pre>public void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html#line.180">sync</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Sync the data to file after writing</div>
<dl>
@@ -567,7 +567,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket
<ul class="blockList">
<li class="blockList">
<h4>shutdown</h4>
-<pre>public void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html#line.195">shutdown</a>()</pre>
+<pre>public void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html#line.197">shutdown</a>()</pre>
<div class="block">Close the file</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -581,7 +581,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket
<ul class="blockList">
<li class="blockList">
<h4>write</h4>
-<pre>public void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html#line.211">write</a>(<a href="../../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> srcBuffer,
+<pre>public void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html#line.213">write</a>(<a href="../../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> srcBuff,
long offset)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/IOEngine.html#write-org.apache.hadoop.hbase.nio.ByteBuff-long-">IOEngine</a></code></span></div>
@@ -590,21 +590,21 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/IOEngine.html#write-org.apache.hadoop.hbase.nio.ByteBuff-long-">write</a></code> in interface <code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/IOEngine.html" title="interface in org.apache.hadoop.hbase.io.hfile.bucket">IOEngine</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>srcBuffer</code> - the given MultiBytebufffers from which bytes are to be read</dd>
+<dd><code>srcBuff</code> - the given MultiBytebufffers from which bytes are to be read</dd>
<dd><code>offset</code> - the offset in the IO engine where the first byte to be written</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
-<a name="accessFile-org.apache.hadoop.hbase.io.hfile.bucket.FileIOEngine.FileAccessor-java.nio.ByteBuffer-long-">
+<a name="accessFile-org.apache.hadoop.hbase.io.hfile.bucket.FileIOEngine.FileAccessor-org.apache.hadoop.hbase.nio.ByteBuff-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>accessFile</h4>
-<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html#line.216">accessFile</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileAccessor.html" title="interface in org.apache.hadoop.hbase.io.hfile.bucket">FileIOEngine.FileAccessor</a> accessor,
- <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> buffer,
+<pre>private void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html#line.220">accessFile</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileAccessor.html" title="interface in org.apache.hadoop.hbase.io.hfile.bucket">FileIOEngine.FileAccessor</a> accessor,
+ <a href="../../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> buff,
long globalOffset)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
@@ -619,7 +619,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket
<ul class="blockList">
<li class="blockList">
<h4>getAbsoluteOffsetInFile</h4>
-<pre>private long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html#line.262">getAbsoluteOffsetInFile</a>(int fileNum,
+<pre>private long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html#line.266">getAbsoluteOffsetInFile</a>(int fileNum,
long globalOffset)</pre>
<div class="block">Get the absolute offset in given file with the relative global offset.</div>
<dl>
@@ -637,7 +637,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket
<ul class="blockList">
<li class="blockList">
<h4>getFileNum</h4>
-<pre>private int <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html#line.266">getFileNum</a>(long offset)</pre>
+<pre>private int <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html#line.270">getFileNum</a>(long offset)</pre>
</li>
</ul>
<a name="getFileChannels--">
@@ -646,7 +646,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket
<ul class="blockList">
<li class="blockList">
<h4>getFileChannels</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html?is-external=true" title="class or interface in java.nio.channels">FileChannel</a>[] <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html#line.279">getFileChannels</a>()</pre>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html?is-external=true" title="class or interface in java.nio.channels">FileChannel</a>[] <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html#line.283">getFileChannels</a>()</pre>
</li>
</ul>
<a name="refreshFileConnection-int-java.io.IOException-">
@@ -655,7 +655,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket
<ul class="blockListLast">
<li class="blockList">
<h4>refreshFileConnection</h4>
-<pre>void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html#line.284">refreshFileConnection</a>(int accessFileNum,
+<pre>void <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html#line.288">refreshFileConnection</a>(int accessFileNum,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a> ioe)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/class-use/FileIOEngine.FileAccessor.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/class-use/FileIOEngine.FileAccessor.html
index 0e49d31..ce0d4be 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/class-use/FileIOEngine.FileAccessor.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/class-use/FileIOEngine.FileAccessor.html
@@ -124,8 +124,8 @@
<tbody>
<tr class="altColor">
<td class="colFirst"><code>private void</code></td>
-<td class="colLast"><span class="typeNameLabel">FileIOEngine.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html#accessFile-org.apache.hadoop.hbase.io.hfile.bucket.FileIOEngine.FileAccessor-java.nio.ByteBuffer-long-">accessFile</a></span>(<a href="../../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileAccessor.html" title="interface in org.apache.hadoop.hbase.io.hfile.bucket">FileIO [...]
- <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> buffer,
+<td class="colLast"><span class="typeNameLabel">FileIOEngine.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html#accessFile-org.apache.hadoop.hbase.io.hfile.bucket.FileIOEngine.FileAccessor-org.apache.hadoop.hbase.nio.ByteBuff-long-">accessFile</a></span>(<a href="../../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileAccessor.html" title="interface in org.apache.hadoop.hbase.io.hfi [...]
+ <a href="../../../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> buff,
long globalOffset)</code> </td>
</tr>
</tbody>
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/Cacheable.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/Cacheable.html
index 2ca63ef..4e16d01 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/Cacheable.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/Cacheable.html
@@ -516,6 +516,10 @@
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.html" title="interface in org.apache.hadoop.hbase.io.hfile">Cacheable</a></code></td>
+<td class="colLast"><span class="typeNameLabel">BucketEntry.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.html#wrapAsCacheable-org.apache.hadoop.hbase.nio.ByteBuff-">wrapAsCacheable</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> buf)</code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>(package private) <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.html" title="interface in org.apache.hadoop.hbase.io.hfile">Cacheable</a></code></td>
<td class="colLast"><span class="typeNameLabel">BucketEntry.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.html#wrapAsCacheable-java.nio.ByteBuffer:A-">wrapAsCacheable</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>[] buffers)</code> </td>
</tr>
</tbody>
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 654c5f6..0fbe0bc 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
@@ -298,11 +298,11 @@
<ul>
<li type="circle">java.lang.<a href="https://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><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
<ul>
-<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/BlockCacheFactory.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockCacheFactory.ExternalBlockCaches</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/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.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/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/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>
</ul>
</li>
</ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html b/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
index 53b29e4..148fecd 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
@@ -353,9 +353,9 @@
<ul>
<li type="circle">java.lang.<a href="https://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><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
<ul>
+<li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/BufferCallBeforeInitHandler.BufferCallAction.html" title="enum in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">BufferCallBeforeInitHandler.BufferCallAction</span></a></li>
<li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/MetricsHBaseServerSourceFactoryImpl.SourceStorage.html" title="enum in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">MetricsHBaseServerSourceFactoryImpl.SourceStorage</span></a></li>
<li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/CallEvent.Type.html" title="enum in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">CallEvent.Type</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/BufferCallBeforeInitHandler.BufferCallAction.html" title="enum in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">BufferCallBeforeInitHandler.BufferCallAction</span></a></li>
</ul>
</li>
</ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html b/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
index cd1c3bb..4250cf5 100644
--- a/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
@@ -296,9 +296,9 @@
<ul>
<li type="circle">java.lang.<a href="https://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><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
<ul>
-<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/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/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>
</li>
diff --git a/devapidocs/org/apache/hadoop/hbase/master/assignment/package-tree.html b/devapidocs/org/apache/hadoop/hbase/master/assignment/package-tree.html
index b988a3c..b3e7c99 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/assignment/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/assignment/package-tree.html
@@ -151,8 +151,8 @@
<ul>
<li type="circle">java.lang.<a href="https://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><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
<ul>
-<li type="circle">org.apache.hadoop.hbase.master.assignment.<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.TransitionType.html" title="enum in org.apache.hadoop.hbase.master.assignment"><span class="typeNameLink">TransitRegionStateProcedure.TransitionType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.master.assignment.<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/ServerState.html" title="enum in org.apache.hadoop.hbase.master.assignment"><span class="typeNameLink">ServerState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.assignment.<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.TransitionType.html" title="enum in org.apache.hadoop.hbase.master.assignment"><span class="typeNameLink">TransitRegionStateProcedure.TransitionType</span></a></li>
</ul>
</li>
</ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/master/package-tree.html b/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
index 7407ed4..c91e12b 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
@@ -359,12 +359,12 @@
<ul>
<li type="circle">java.lang.<a href="https://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><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
<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/ServerManager.ServerLiveState.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">ServerManager.ServerLiveState</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/ServerManager.ServerLiveState.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">ServerManager.ServerLiveState</span></a></li>
</ul>
</li>
</ul>
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 b520e16..5c4442f 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
@@ -216,10 +216,10 @@
<ul>
<li type="circle">java.lang.<a href="https://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><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
<ul>
-<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/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/MetaProcedureInterface.MetaOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">MetaProcedureInterface.MetaOperationType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.PeerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">PeerProcedureInterface.PeerOperationType</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>
</ul>
</li>
</ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileAccessor.html b/devapidocs/org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html
similarity index 52%
copy from devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileAccessor.html
copy to devapidocs/org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html
index 5425d28..e8e7a28 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileAccessor.html
+++ b/devapidocs/org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html
@@ -4,15 +4,15 @@
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>FileIOEngine.FileAccessor (Apache HBase 3.0.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
+<title>ByteBuff.ChannelReader (Apache HBase 3.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="FileIOEngine.FileAccessor (Apache HBase 3.0.0-SNAPSHOT API)";
+ parent.document.title="ByteBuff.ChannelReader (Apache HBase 3.0.0-SNAPSHOT API)";
}
}
catch(err) {
@@ -37,27 +37,27 @@ var activeTableTab = "activeTableTab";
<!-- -->
</a>
<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/FileIOEngine.FileAccessor.html">Use</a></li>
+<li><a href="class-use/ByteBuff.ChannelReader.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
-<li><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket"><span class="typeNameLink">Prev Class</span></a></li>
-<li><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileReadAccessor.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket"><span class="typeNameLink">Next Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio"><span class="typeNameLink">Prev Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCounted.html" title="interface in org.apache.hadoop.hbase.nio"><span class="typeNameLink">Next Class</span></a></li>
</ul>
<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileAccessor.html" target="_top">Frames</a></li>
-<li><a href="FileIOEngine.FileAccessor.html" target="_top">No Frames</a></li>
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" target="_top">Frames</a></li>
+<li><a href="ByteBuff.ChannelReader.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
+<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
@@ -92,24 +92,26 @@ var activeTableTab = "activeTableTab";
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
-<div class="subTitle">org.apache.hadoop.hbase.io.hfile.bucket</div>
-<h2 title="Interface FileIOEngine.FileAccessor" class="title">Interface FileIOEngine.FileAccessor</h2>
+<div class="subTitle">org.apache.hadoop.hbase.nio</div>
+<h2 title="Interface ByteBuff.ChannelReader" class="title">Interface ByteBuff.ChannelReader</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
-<dt>All Known Implementing Classes:</dt>
-<dd><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileReadAccessor.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">FileIOEngine.FileReadAccessor</a>, <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileWriteAccessor.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">FileIOEngine.FileWriteAccessor</a></dd>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></dd>
</dl>
<dl>
-<dt>Enclosing class:</dt>
-<dd><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">FileIOEngine</a></dd>
+<dt>Functional Interface:</dt>
+<dd>This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.</dd>
</dl>
<hr>
<br>
-<pre>private static interface <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html#line.306">FileIOEngine.FileAccessor</a></pre>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/FunctionalInterface.html?is-external=true" title="class or interface in java.lang">@FunctionalInterface</a>
+static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.468">ByteBuff.ChannelReader</a></pre>
+<div class="block">function interface for Channel read</div>
</li>
</ul>
</div>
@@ -130,9 +132,9 @@ var activeTableTab = "activeTableTab";
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileAccessor.html#access-java.nio.channels.FileChannel-java.nio.ByteBuffer-long-">access</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html?is-external=true" title="class or interface in java.nio.channels">FileChannel</a> fileChannel,
- <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> byteBuffer,
- long accessOffset)</code> </td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html#read-java.nio.channels.ReadableByteChannel-java.nio.ByteBuffer-long-">read</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/ReadableByteChannel.html?is-external=true" title="class or interface in java.nio.channels">ReadableByteChannel</a> channel,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> buf,
+ long offset)</code> </td>
</tr>
</table>
</li>
@@ -149,16 +151,16 @@ var activeTableTab = "activeTableTab";
<!-- -->
</a>
<h3>Method Detail</h3>
-<a name="access-java.nio.channels.FileChannel-java.nio.ByteBuffer-long-">
+<a name="read-java.nio.channels.ReadableByteChannel-java.nio.ByteBuffer-long-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
-<h4>access</h4>
-<pre>int <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileAccessor.html#line.307">access</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html?is-external=true" title="class or interface in java.nio.channels">FileChannel</a> fileChannel,
- <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> byteBuffer,
- long accessOffset)
- throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<h4>read</h4>
+<pre>int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html#line.469">read</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/ReadableByteChannel.html?is-external=true" title="class or interface in java.nio.channels">ReadableByteChannel</a> channel,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> buf,
+ long offset)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
@@ -181,27 +183,27 @@ var activeTableTab = "activeTableTab";
<!-- -->
</a>
<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/FileIOEngine.FileAccessor.html">Use</a></li>
+<li><a href="class-use/ByteBuff.ChannelReader.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
-<li><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket"><span class="typeNameLink">Prev Class</span></a></li>
-<li><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileReadAccessor.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket"><span class="typeNameLink">Next Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio"><span class="typeNameLink">Prev Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCounted.html" title="interface in org.apache.hadoop.hbase.nio"><span class="typeNameLink">Next Class</span></a></li>
</ul>
<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileAccessor.html" target="_top">Frames</a></li>
-<li><a href="FileIOEngine.FileAccessor.html" target="_top">No Frames</a></li>
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" target="_top">Frames</a></li>
+<li><a href="ByteBuff.ChannelReader.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
+<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
diff --git a/devapidocs/org/apache/hadoop/hbase/nio/ByteBuff.html b/devapidocs/org/apache/hadoop/hbase/nio/ByteBuff.html
index b901474..121f62b 100644
--- a/devapidocs/org/apache/hadoop/hbase/nio/ByteBuff.html
+++ b/devapidocs/org/apache/hadoop/hbase/nio/ByteBuff.html
@@ -18,7 +18,7 @@
catch(err) {
}
//-->
-var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":9,"i6":10,"i7":9,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6,"i24":6,"i25":6,"i26":6,"i27":6,"i28":6,"i29":6,"i30":6,"i31":6,"i32":6,"i33":6,"i34":6,"i35":6,"i36":6,"i37":6,"i38":6,"i39":6,"i40":6,"i41":6,"i42":9,"i43":9,"i44":10,"i45":10,"i46":6,"i47":6,"i48":6,"i49":6,"i50":6,"i51":10,"i52":6,"i53":10,"i54":9,"i55":9,"i56":9,"i57":9,"i58":9,"i59":9,"i [...]
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":10,"i6":9,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6,"i24":6,"i25":6,"i26":6,"i27":6,"i28":6,"i29":6,"i30":6,"i31":6,"i32":6,"i33":6,"i34":6,"i35":6,"i36":6,"i37":6,"i38":6,"i39":6,"i40":6,"i41":6,"i42":9,"i43":9,"i44":9,"i45":10,"i46":10,"i47":6,"i48":6,"i49":6,"i50":6,"i51":6,"i52":10,"i53":6,"i54":10,"i55":9,"i56":9,"i57":9,"i58":9,"i59":9,"i [...]
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@@ -50,7 +50,7 @@ var activeTableTab = "activeTableTab";
<div class="subNav">
<ul class="navList">
<li>Prev Class</li>
-<li><a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCounted.html" title="interface in org.apache.hadoop.hbase.nio"><span class="typeNameLink">Next Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio"><span class="typeNameLink">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/hbase/nio/ByteBuff.html" target="_top">Frames</a></li>
@@ -74,7 +74,7 @@ var activeTableTab = "activeTableTab";
<div>
<ul class="subNavList">
<li>Summary: </li>
-<li>Nested | </li>
+<li><a href="#nested.class.summary">Nested</a> | </li>
<li><a href="#field.summary">Field</a> | </li>
<li><a href="#constructor.summary">Constr</a> | </li>
<li><a href="#method.summary">Method</a></li>
@@ -118,7 +118,7 @@ var activeTableTab = "activeTableTab";
<hr>
<br>
<pre>@InterfaceAudience.Private
-public abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.60">ByteBuff</a>
+public abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.61">ByteBuff</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCounted.html" title="interface in org.apache.hadoop.hbase.nio">HBaseReferenceCounted</a></pre>
<div class="block">An abstract class that abstracts out as to how the byte buffers are used, either single or
@@ -150,6 +150,27 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<div class="summary">
<ul class="blockList">
<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!-- -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>(package private) static interface </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio">ByteBuff.ChannelReader</a></span></code>
+<div class="block">function interface for Channel read</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
@@ -163,6 +184,14 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
+<td class="colFirst"><code>(package private) static <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio">ByteBuff.ChannelReader</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#CHANNEL_READER">CHANNEL_READER</a></span></code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>(package private) static <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio">ByteBuff.ChannelReader</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#FILE_READER">FILE_READER</a></span></code> </td>
+</tr>
+<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/nio/ByteBuff.html#NIO_BUFFER_LIMIT">NIO_BUFFER_LIMIT</a></span></code> </td>
</tr>
@@ -233,17 +262,12 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#capacity--">capacity</a></span>()</code> </td>
</tr>
<tr id="i5" class="rowColor">
-<td class="colFirst"><code>static int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#channelRead-java.nio.channels.ReadableByteChannel-java.nio.ByteBuffer-">channelRead</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/ReadableByteChannel.html?is-external=true" title="class or interface in java.nio.channels">ReadableByteChannel</a> channel,
- <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> buf)</code> </td>
-</tr>
-<tr id="i6" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#checkRefCount--">checkRefCount</a></span>()</code>
<div class="block">Methods for reference count</div>
</td>
</tr>
-<tr id="i7" class="rowColor">
+<tr id="i6" class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#compareTo-org.apache.hadoop.hbase.nio.ByteBuff-int-int-org.apache.hadoop.hbase.nio.ByteBuff-int-int-">compareTo</a></span>(<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> buf1,
int o1,
@@ -254,25 +278,25 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<div class="block">Compares two ByteBuffs</div>
</td>
</tr>
-<tr id="i8" class="altColor">
+<tr id="i7" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#duplicate--">duplicate</a></span>()</code>
<div class="block">Returns an ByteBuff which is a duplicate version of this ByteBuff.</div>
</td>
</tr>
-<tr id="i9" class="rowColor">
+<tr id="i8" class="altColor">
<td class="colFirst"><code>abstract byte</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#get--">get</a></span>()</code>
<div class="block">A relative method that returns byte at the current position.</div>
</td>
</tr>
-<tr id="i10" class="altColor">
+<tr id="i9" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#get-byte:A-">get</a></span>(byte[] dst)</code>
<div class="block">Copies the content from this ByteBuff's current position to the byte array and fills it.</div>
</td>
</tr>
-<tr id="i11" class="rowColor">
+<tr id="i10" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#get-byte:A-int-int-">get</a></span>(byte[] dst,
int offset,
@@ -281,7 +305,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
the byte[]'s offset.</div>
</td>
</tr>
-<tr id="i12" class="altColor">
+<tr id="i11" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#get-java.nio.ByteBuffer-int-int-">get</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> out,
int sourceOffset,
@@ -291,13 +315,13 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
for this ByteBuff</div>
</td>
</tr>
-<tr id="i13" class="rowColor">
+<tr id="i12" class="altColor">
<td class="colFirst"><code>abstract byte</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#get-int-">get</a></span>(int index)</code>
<div class="block">Fetches the byte at the given index.</div>
</td>
</tr>
-<tr id="i14" class="altColor">
+<tr id="i13" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#get-int-byte:A-int-int-">get</a></span>(int sourceOffset,
byte[] dst,
@@ -307,127 +331,127 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
the byte[]'s offset.</div>
</td>
</tr>
-<tr id="i15" class="rowColor">
+<tr id="i14" class="altColor">
<td class="colFirst"><code>abstract byte</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#getByteAfterPosition-int-">getByteAfterPosition</a></span>(int offset)</code>
<div class="block">Fetches the byte at the given offset from current position.</div>
</td>
</tr>
-<tr id="i16" class="altColor">
+<tr id="i15" class="rowColor">
<td class="colFirst"><code>abstract int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#getInt--">getInt</a></span>()</code>
<div class="block">Returns the int value at the current position.</div>
</td>
</tr>
-<tr id="i17" class="rowColor">
+<tr id="i16" class="altColor">
<td class="colFirst"><code>abstract int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#getInt-int-">getInt</a></span>(int index)</code>
<div class="block">Fetches the int at the given index.</div>
</td>
</tr>
-<tr id="i18" class="altColor">
+<tr id="i17" class="rowColor">
<td class="colFirst"><code>abstract int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#getIntAfterPosition-int-">getIntAfterPosition</a></span>(int offset)</code>
<div class="block">Fetches the int value at the given offset from current position.</div>
</td>
</tr>
-<tr id="i19" class="rowColor">
+<tr id="i18" class="altColor">
<td class="colFirst"><code>abstract long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#getLong--">getLong</a></span>()</code>
<div class="block">Returns the long value at the current position.</div>
</td>
</tr>
-<tr id="i20" class="altColor">
+<tr id="i19" class="rowColor">
<td class="colFirst"><code>abstract long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#getLong-int-">getLong</a></span>(int index)</code>
<div class="block">Fetches the long at the given index.</div>
</td>
</tr>
-<tr id="i21" class="rowColor">
+<tr id="i20" class="altColor">
<td class="colFirst"><code>abstract long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#getLongAfterPosition-int-">getLongAfterPosition</a></span>(int offset)</code>
<div class="block">Fetches the long value at the given offset from current position.</div>
</td>
</tr>
-<tr id="i22" class="altColor">
+<tr id="i21" class="rowColor">
<td class="colFirst"><code>abstract short</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#getShort--">getShort</a></span>()</code>
<div class="block">Returns the short value at the current position.</div>
</td>
</tr>
-<tr id="i23" class="rowColor">
+<tr id="i22" class="altColor">
<td class="colFirst"><code>abstract short</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#getShort-int-">getShort</a></span>(int index)</code>
<div class="block">Fetches the short value at the given index.</div>
</td>
</tr>
-<tr id="i24" class="altColor">
+<tr id="i23" class="rowColor">
<td class="colFirst"><code>abstract short</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#getShortAfterPosition-int-">getShortAfterPosition</a></span>(int offset)</code>
<div class="block">Fetches the short value at the given offset from current position.</div>
</td>
</tr>
-<tr id="i25" class="rowColor">
+<tr id="i24" class="altColor">
<td class="colFirst"><code>abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#hasArray--">hasArray</a></span>()</code> </td>
</tr>
-<tr id="i26" class="altColor">
+<tr id="i25" class="rowColor">
<td class="colFirst"><code>abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#hasRemaining--">hasRemaining</a></span>()</code>
<div class="block">Returns true if there are elements between the current position and the limt</div>
</td>
</tr>
-<tr id="i27" class="rowColor">
+<tr id="i26" class="altColor">
<td class="colFirst"><code>abstract int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#limit--">limit</a></span>()</code>
<div class="block">Returns the limit of this ByteBuff</div>
</td>
</tr>
-<tr id="i28" class="altColor">
+<tr id="i27" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#limit-int-">limit</a></span>(int limit)</code>
<div class="block">Marks the limit of this ByteBuff.</div>
</td>
</tr>
-<tr id="i29" class="rowColor">
+<tr id="i28" class="altColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#mark--">mark</a></span>()</code>
<div class="block">Marks the current position of the ByteBuff</div>
</td>
</tr>
-<tr id="i30" class="altColor">
+<tr id="i29" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#moveBack-int-">moveBack</a></span>(int len)</code>
<div class="block">Jumps back the current position of this ByteBuff by specified length.</div>
</td>
</tr>
-<tr id="i31" class="rowColor">
+<tr id="i30" class="altColor">
<td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#nioByteBuffers--">nioByteBuffers</a></span>()</code> </td>
</tr>
-<tr id="i32" class="altColor">
+<tr id="i31" class="rowColor">
<td class="colFirst"><code>abstract int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#position--">position</a></span>()</code> </td>
</tr>
-<tr id="i33" class="rowColor">
+<tr id="i32" class="altColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#position-int-">position</a></span>(int position)</code>
<div class="block">Sets this ByteBuff's position to the given value.</div>
</td>
</tr>
-<tr id="i34" class="altColor">
+<tr id="i33" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#put-byte-">put</a></span>(byte b)</code>
<div class="block">Writes a byte to this ByteBuff at the current position and increments the position</div>
</td>
</tr>
-<tr id="i35" class="rowColor">
+<tr id="i34" class="altColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#put-byte:A-">put</a></span>(byte[] src)</code>
<div class="block">Copies from the given byte[] to this ByteBuff</div>
</td>
</tr>
-<tr id="i36" class="altColor">
+<tr id="i35" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#put-byte:A-int-int-">put</a></span>(byte[] src,
int offset,
@@ -435,14 +459,14 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<div class="block">Copies from the given byte[] to this ByteBuff</div>
</td>
</tr>
-<tr id="i37" class="rowColor">
+<tr id="i36" class="altColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#put-int-byte-">put</a></span>(int index,
byte b)</code>
<div class="block">Writes a byte to this ByteBuff at the given index</div>
</td>
</tr>
-<tr id="i38" class="altColor">
+<tr id="i37" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#put-int-org.apache.hadoop.hbase.nio.ByteBuff-int-int-">put</a></span>(int offset,
<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> src,
@@ -451,18 +475,25 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<div class="block">Copies the contents from the src ByteBuff to this ByteBuff.</div>
</td>
</tr>
-<tr id="i39" class="rowColor">
+<tr id="i38" class="altColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#putInt-int-">putInt</a></span>(int value)</code>
<div class="block">Writes an int to this ByteBuff at its current position.</div>
</td>
</tr>
-<tr id="i40" class="altColor">
+<tr id="i39" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#putLong-long-">putLong</a></span>(long value)</code>
<div class="block">Writes a long to this ByteBuff at its current position.</div>
</td>
</tr>
+<tr id="i40" class="altColor">
+<td class="colFirst"><code>abstract int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#read-java.nio.channels.FileChannel-long-">read</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html?is-external=true" title="class or interface in java.nio.channels">FileChannel</a> channel,
+ long offset)</code>
+<div class="block">Reads bytes from FileChannel into this ByteBuff</div>
+</td>
+</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code>abstract int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#read-java.nio.channels.ReadableByteChannel-">read</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/ReadableByteChannel.html?is-external=true" title="class or interface in java.nio.channels">ReadableByteChannel</a> channel)</code>
@@ -471,64 +502,71 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#read-java.nio.channels.ReadableByteChannel-java.nio.ByteBuffer-long-org.apache.hadoop.hbase.nio.ByteBuff.ChannelReader-">read</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/ReadableByteChannel.html?is-external=true" title="class or interface in java.nio.channels">ReadableByteChannel</a> channel,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> buf,
+ long offset,
+ <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio">ByteBuff.ChannelReader</a> reader)</code> </td>
+</tr>
+<tr id="i43" class="rowColor">
+<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#readCompressedInt-org.apache.hadoop.hbase.nio.ByteBuff-">readCompressedInt</a></span>(<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> buf)</code>
<div class="block">Read integer from ByteBuff coded in 7 bits and increment position.</div>
</td>
</tr>
-<tr id="i43" class="rowColor">
+<tr id="i44" class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#readLong-org.apache.hadoop.hbase.nio.ByteBuff-int-">readLong</a></span>(<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> in,
int fitInBytes)</code>
<div class="block">Read long which was written to fitInBytes bytes and increment position.</div>
</td>
</tr>
-<tr id="i44" class="altColor">
+<tr id="i45" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#refCnt--">refCnt</a></span>()</code> </td>
</tr>
-<tr id="i45" class="rowColor">
+<tr id="i46" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#release--">release</a></span>()</code> </td>
</tr>
-<tr id="i46" class="altColor">
+<tr id="i47" class="rowColor">
<td class="colFirst"><code>abstract int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#remaining--">remaining</a></span>()</code>
<div class="block">Returns the number of elements between the current position and the
limit.</div>
</td>
</tr>
-<tr id="i47" class="rowColor">
+<tr id="i48" class="altColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#reset--">reset</a></span>()</code>
<div class="block">Similar to <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio"><code>ByteBuffer</code></a>.reset(), ensures that this ByteBuff
is reset back to last marked position.</div>
</td>
</tr>
-<tr id="i48" class="altColor">
+<tr id="i49" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#rewind--">rewind</a></span>()</code>
<div class="block">Rewinds this ByteBuff and the position is set to 0</div>
</td>
</tr>
-<tr id="i49" class="rowColor">
+<tr id="i50" class="altColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#skip-int-">skip</a></span>(int len)</code>
<div class="block">Jumps the current position of this ByteBuff by specified length.</div>
</td>
</tr>
-<tr id="i50" class="altColor">
+<tr id="i51" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#slice--">slice</a></span>()</code>
<div class="block">Returns an ByteBuff which is a sliced version of this ByteBuff.</div>
</td>
</tr>
-<tr id="i51" class="rowColor">
+<tr id="i52" class="altColor">
<td class="colFirst"><code>byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#toBytes--">toBytes</a></span>()</code>
<div class="block">Copy the content from this ByteBuff to a byte[].</div>
</td>
</tr>
-<tr id="i52" class="altColor">
+<tr id="i53" class="rowColor">
<td class="colFirst"><code>abstract byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#toBytes-int-int-">toBytes</a></span>(int offset,
int length)</code>
@@ -536,24 +574,24 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
length</div>
</td>
</tr>
-<tr id="i53" class="rowColor">
+<tr id="i54" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#toString--">toString</a></span>()</code> </td>
</tr>
-<tr id="i54" class="altColor">
+<tr id="i55" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#wrap-java.nio.ByteBuffer-">wrap</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> buffer)</code> </td>
</tr>
-<tr id="i55" class="rowColor">
+<tr id="i56" class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#wrap-java.nio.ByteBuffer:A-">wrap</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>[] buffers)</code> </td>
</tr>
-<tr id="i56" class="altColor">
+<tr id="i57" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#wrap-java.nio.ByteBuffer:A-org.apache.hadoop.hbase.io.ByteBuffAllocator.Recycler-">wrap</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>[] buffers,
<a href="../../../../../org/apache/hadoop/hbase/io/ByteBuffAllocator.Recycler.html" title="interface in org.apache.hadoop.hbase.io">ByteBuffAllocator.Recycler</a> recycler)</code> </td>
</tr>
-<tr id="i57" class="rowColor">
+<tr id="i58" class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#wrap-java.nio.ByteBuffer:A-org.apache.hadoop.hbase.nio.RefCnt-">wrap</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>[] buffers,
<a href="../../../../../org/apache/hadoop/hbase/nio/RefCnt.html" title="class in org.apache.hadoop.hbase.nio">RefCnt</a> refCnt)</code>
@@ -561,29 +599,36 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
please don't use this public method in other place.</div>
</td>
</tr>
-<tr id="i58" class="altColor">
+<tr id="i59" class="rowColor">
<td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#wrap-java.nio.ByteBuffer-org.apache.hadoop.hbase.nio.RefCnt-">wrap</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> buffer,
<a href="../../../../../org/apache/hadoop/hbase/nio/RefCnt.html" title="class in org.apache.hadoop.hbase.nio">RefCnt</a> refCnt)</code>
<div class="block">Make this private because we don't want to expose the refCnt related wrap method to upstream.</div>
</td>
</tr>
-<tr id="i59" class="rowColor">
+<tr id="i60" class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#wrap-java.util.List-">wrap</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>> buffers)</code> </td>
</tr>
-<tr id="i60" class="altColor">
+<tr id="i61" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#wrap-java.util.List-org.apache.hadoop.hbase.io.ByteBuffAllocator.Recycler-">wrap</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteB [...]
<a href="../../../../../org/apache/hadoop/hbase/io/ByteBuffAllocator.Recycler.html" title="interface in org.apache.hadoop.hbase.io">ByteBuffAllocator.Recycler</a> recycler)</code> </td>
</tr>
-<tr id="i61" class="rowColor">
+<tr id="i62" class="altColor">
<td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#wrap-java.util.List-org.apache.hadoop.hbase.nio.RefCnt-">wrap</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>> [...]
<a href="../../../../../org/apache/hadoop/hbase/nio/RefCnt.html" title="class in org.apache.hadoop.hbase.nio">RefCnt</a> refCnt)</code>
<div class="block">Make this private because we don't want to expose the refCnt related wrap method to upstream.</div>
</td>
</tr>
+<tr id="i63" class="rowColor">
+<td class="colFirst"><code>abstract int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#write-java.nio.channels.FileChannel-long-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html?is-external=true" title="class or interface in java.nio.channels">FileChannel</a> channel,
+ long offset)</code>
+<div class="block">Write this ByteBuff's data into target file</div>
+</td>
+</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -626,7 +671,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>REFERENCE_COUNT_NAME</h4>
-<pre>private static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.61">REFERENCE_COUNT_NAME</a></pre>
+<pre>private static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.62">REFERENCE_COUNT_NAME</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.nio.ByteBuff.REFERENCE_COUNT_NAME">Constant Field Values</a></dd>
@@ -639,7 +684,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>NIO_BUFFER_LIMIT</h4>
-<pre>private static final int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.62">NIO_BUFFER_LIMIT</a></pre>
+<pre>private static final int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.63">NIO_BUFFER_LIMIT</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.nio.ByteBuff.NIO_BUFFER_LIMIT">Constant Field Values</a></dd>
@@ -649,10 +694,28 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<a name="refCnt">
<!-- -->
</a>
-<ul class="blockListLast">
+<ul class="blockList">
<li class="blockList">
<h4>refCnt</h4>
-<pre>protected <a href="../../../../../org/apache/hadoop/hbase/nio/RefCnt.html" title="class in org.apache.hadoop.hbase.nio">RefCnt</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.64">refCnt</a></pre>
+<pre>protected <a href="../../../../../org/apache/hadoop/hbase/nio/RefCnt.html" title="class in org.apache.hadoop.hbase.nio">RefCnt</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.65">refCnt</a></pre>
+</li>
+</ul>
+<a name="CHANNEL_READER">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CHANNEL_READER</h4>
+<pre>static final <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio">ByteBuff.ChannelReader</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.472">CHANNEL_READER</a></pre>
+</li>
+</ul>
+<a name="FILE_READER">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>FILE_READER</h4>
+<pre>static final <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio">ByteBuff.ChannelReader</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.476">FILE_READER</a></pre>
</li>
</ul>
</li>
@@ -669,7 +732,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockListLast">
<li class="blockList">
<h4>ByteBuff</h4>
-<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.60">ByteBuff</a>()</pre>
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.61">ByteBuff</a>()</pre>
</li>
</ul>
</li>
@@ -686,7 +749,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>checkRefCount</h4>
-<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.68">checkRefCount</a>()</pre>
+<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.69">checkRefCount</a>()</pre>
<div class="block">Methods for reference count</div>
</li>
</ul>
@@ -696,7 +759,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>refCnt</h4>
-<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.72">refCnt</a>()</pre>
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.73">refCnt</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>refCnt</code> in interface <code>org.apache.hbase.thirdparty.io.netty.util.ReferenceCounted</code></dd>
@@ -709,7 +772,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>release</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.77">release</a>()</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.78">release</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>release</code> in interface <code>org.apache.hbase.thirdparty.io.netty.util.ReferenceCounted</code></dd>
@@ -722,7 +785,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>position</h4>
-<pre>public abstract int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.86">position</a>()</pre>
+<pre>public abstract int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.87">position</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this ByteBuff's current position</dd>
@@ -735,7 +798,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>position</h4>
-<pre>public abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.93">position</a>(int position)</pre>
+<pre>public abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.94">position</a>(int position)</pre>
<div class="block">Sets this ByteBuff's position to the given value.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
@@ -751,7 +814,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>skip</h4>
-<pre>public abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.99">skip</a>(int len)</pre>
+<pre>public abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.100">skip</a>(int len)</pre>
<div class="block">Jumps the current position of this ByteBuff by specified length.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
@@ -765,7 +828,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>moveBack</h4>
-<pre>public abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.105">moveBack</a>(int len)</pre>
+<pre>public abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.106">moveBack</a>(int len)</pre>
<div class="block">Jumps back the current position of this ByteBuff by specified length.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
@@ -779,7 +842,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>capacity</h4>
-<pre>public abstract int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.110">capacity</a>()</pre>
+<pre>public abstract int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.111">capacity</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the total capacity of this ByteBuff.</dd>
@@ -792,7 +855,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>limit</h4>
-<pre>public abstract int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.116">limit</a>()</pre>
+<pre>public abstract int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.117">limit</a>()</pre>
<div class="block">Returns the limit of this ByteBuff</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
@@ -806,7 +869,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>limit</h4>
-<pre>public abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.123">limit</a>(int limit)</pre>
+<pre>public abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.124">limit</a>(int limit)</pre>
<div class="block">Marks the limit of this ByteBuff.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
@@ -822,7 +885,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>rewind</h4>
-<pre>public abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.129">rewind</a>()</pre>
+<pre>public abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.130">rewind</a>()</pre>
<div class="block">Rewinds this ByteBuff and the position is set to 0</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
@@ -836,7 +899,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>mark</h4>
-<pre>public abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.135">mark</a>()</pre>
+<pre>public abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.136">mark</a>()</pre>
<div class="block">Marks the current position of the ByteBuff</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
@@ -850,7 +913,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>asSubByteBuffer</h4>
-<pre>public abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.148">asSubByteBuffer</a>(int length)</pre>
+<pre>public abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.149">asSubByteBuffer</a>(int length)</pre>
<div class="block">Returns bytes from current position till length specified, as a single ByteBuffer. When all
these bytes happen to be in a single ByteBuffer, which this object wraps, that ByteBuffer item
as such will be returned. So users are warned not to change the position or limit of this
@@ -871,7 +934,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>asSubByteBuffer</h4>
-<pre>public abstract void <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.167">asSubByteBuffer</a>(int offset,
+<pre>public abstract void <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.168">asSubByteBuffer</a>(int offset,
int length,
<a href="../../../../../org/apache/hadoop/hbase/util/ObjectIntPair.html" title="class in org.apache.hadoop.hbase.util">ObjectIntPair</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>> pair)</pre>
<div class="block">Returns bytes from given offset till length specified, as a single ByteBuffer. When all these
@@ -899,7 +962,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>remaining</h4>
-<pre>public abstract int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.174">remaining</a>()</pre>
+<pre>public abstract int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.175">remaining</a>()</pre>
<div class="block">Returns the number of elements between the current position and the
limit.</div>
<dl>
@@ -914,7 +977,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>hasRemaining</h4>
-<pre>public abstract boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.180">hasRemaining</a>()</pre>
+<pre>public abstract boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.181">hasRemaining</a>()</pre>
<div class="block">Returns true if there are elements between the current position and the limt</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
@@ -928,7 +991,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>reset</h4>
-<pre>public abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.187">reset</a>()</pre>
+<pre>public abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.188">reset</a>()</pre>
<div class="block">Similar to <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio"><code>ByteBuffer</code></a>.reset(), ensures that this ByteBuff
is reset back to last marked position.</div>
<dl>
@@ -943,7 +1006,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>slice</h4>
-<pre>public abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.195">slice</a>()</pre>
+<pre>public abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.196">slice</a>()</pre>
<div class="block">Returns an ByteBuff which is a sliced version of this ByteBuff. The position, limit and mark
of the new ByteBuff will be independent than that of the original ByteBuff.
The content of the new ByteBuff will start at this ByteBuff's current position</div>
@@ -959,7 +1022,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>duplicate</h4>
-<pre>public abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.206">duplicate</a>()</pre>
+<pre>public abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.207">duplicate</a>()</pre>
<div class="block">Returns an ByteBuff which is a duplicate version of this ByteBuff. The
position, limit and mark of the new ByteBuff will be independent than that
of the original ByteBuff. The content of the new ByteBuff will start at
@@ -977,7 +1040,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
-<pre>public abstract byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.213">get</a>()</pre>
+<pre>public abstract byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.214">get</a>()</pre>
<div class="block">A relative method that returns byte at the current position. Increments the
current position by the size of a byte.</div>
<dl>
@@ -992,7 +1055,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
-<pre>public abstract byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.220">get</a>(int index)</pre>
+<pre>public abstract byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.221">get</a>(int index)</pre>
<div class="block">Fetches the byte at the given index. Does not change position of the underlying ByteBuffers</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
@@ -1008,7 +1071,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>getByteAfterPosition</h4>
-<pre>public abstract byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.229">getByteAfterPosition</a>(int offset)</pre>
+<pre>public abstract byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.230">getByteAfterPosition</a>(int offset)</pre>
<div class="block">Fetches the byte at the given offset from current position. Does not change position
of the underlying ByteBuffers.</div>
<dl>
@@ -1025,7 +1088,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>put</h4>
-<pre>public abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.236">put</a>(byte b)</pre>
+<pre>public abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.237">put</a>(byte b)</pre>
<div class="block">Writes a byte to this ByteBuff at the current position and increments the position</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
@@ -1041,7 +1104,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>put</h4>
-<pre>public abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.244">put</a>(int index,
+<pre>public abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.245">put</a>(int index,
byte b)</pre>
<div class="block">Writes a byte to this ByteBuff at the given index</div>
<dl>
@@ -1059,7 +1122,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
-<pre>public abstract void <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.253">get</a>(byte[] dst,
+<pre>public abstract void <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.254">get</a>(byte[] dst,
int offset,
int length)</pre>
<div class="block">Copies the specified number of bytes from this ByteBuff's current position to
@@ -1078,7 +1141,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
-<pre>public abstract void <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.263">get</a>(int sourceOffset,
+<pre>public abstract void <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.264">get</a>(int sourceOffset,
byte[] dst,
int offset,
int length)</pre>
@@ -1099,7 +1162,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
-<pre>public abstract void <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.270">get</a>(byte[] dst)</pre>
+<pre>public abstract void <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.271">get</a>(byte[] dst)</pre>
<div class="block">Copies the content from this ByteBuff's current position to the byte array and fills it. Also
advances the position of the ByteBuff by the length of the byte[].</div>
<dl>
@@ -1114,7 +1177,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>put</h4>
-<pre>public abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.279">put</a>(byte[] src,
+<pre>public abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.280">put</a>(byte[] src,
int offset,
int length)</pre>
<div class="block">Copies from the given byte[] to this ByteBuff</div>
@@ -1134,7 +1197,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>put</h4>
-<pre>public abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.286">put</a>(byte[] src)</pre>
+<pre>public abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.287">put</a>(byte[] src)</pre>
<div class="block">Copies from the given byte[] to this ByteBuff</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
@@ -1150,7 +1213,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>hasArray</h4>
-<pre>public abstract boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.291">hasArray</a>()</pre>
+<pre>public abstract boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.292">hasArray</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true or false if the underlying BB support hasArray</dd>
@@ -1163,7 +1226,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>array</h4>
-<pre>public abstract byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.296">array</a>()</pre>
+<pre>public abstract byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.297">array</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the byte[] if the underlying BB has single BB and hasArray true</dd>
@@ -1176,7 +1239,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>arrayOffset</h4>
-<pre>public abstract int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.301">arrayOffset</a>()</pre>
+<pre>public abstract int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.302">arrayOffset</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the arrayOffset of the byte[] incase of a single BB backed ByteBuff</dd>
@@ -1189,7 +1252,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>getShort</h4>
-<pre>public abstract short <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.309">getShort</a>()</pre>
+<pre>public abstract short <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.310">getShort</a>()</pre>
<div class="block">Returns the short value at the current position. Also advances the position by the size
of short</div>
<dl>
@@ -1204,7 +1267,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>getShort</h4>
-<pre>public abstract short <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.321">getShort</a>(int index)</pre>
+<pre>public abstract short <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.322">getShort</a>(int index)</pre>
<div class="block">Fetches the short value at the given index. Does not change position of the
underlying ByteBuffers. The caller is sure that the index will be after
the current position of this ByteBuff. So even if the current short does not fit in the
@@ -1224,7 +1287,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>getShortAfterPosition</h4>
-<pre>public abstract short <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.330">getShortAfterPosition</a>(int offset)</pre>
+<pre>public abstract short <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.331">getShortAfterPosition</a>(int offset)</pre>
<div class="block">Fetches the short value at the given offset from current position. Does not change position
of the underlying ByteBuffers.</div>
<dl>
@@ -1241,7 +1304,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>getInt</h4>
-<pre>public abstract int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.337">getInt</a>()</pre>
+<pre>public abstract int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.338">getInt</a>()</pre>
<div class="block">Returns the int value at the current position. Also advances the position by the size of int</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
@@ -1255,7 +1318,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>putInt</h4>
-<pre>public abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.345">putInt</a>(int value)</pre>
+<pre>public abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.346">putInt</a>(int value)</pre>
<div class="block">Writes an int to this ByteBuff at its current position. Also advances the position
by size of int</div>
<dl>
@@ -1272,7 +1335,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>getInt</h4>
-<pre>public abstract int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.356">getInt</a>(int index)</pre>
+<pre>public abstract int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.357">getInt</a>(int index)</pre>
<div class="block">Fetches the int at the given index. Does not change position of the underlying ByteBuffers.
Even if the current int does not fit in the
current item we can safely move to the next item and fetch the remaining bytes forming
@@ -1291,7 +1354,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>getIntAfterPosition</h4>
-<pre>public abstract int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.365">getIntAfterPosition</a>(int offset)</pre>
+<pre>public abstract int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.366">getIntAfterPosition</a>(int offset)</pre>
<div class="block">Fetches the int value at the given offset from current position. Does not change position
of the underlying ByteBuffers.</div>
<dl>
@@ -1308,7 +1371,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>getLong</h4>
-<pre>public abstract long <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.372">getLong</a>()</pre>
+<pre>public abstract long <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.373">getLong</a>()</pre>
<div class="block">Returns the long value at the current position. Also advances the position by the size of long</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
@@ -1322,7 +1385,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>putLong</h4>
-<pre>public abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.380">putLong</a>(long value)</pre>
+<pre>public abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.381">putLong</a>(long value)</pre>
<div class="block">Writes a long to this ByteBuff at its current position.
Also advances the position by size of long</div>
<dl>
@@ -1339,7 +1402,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>getLong</h4>
-<pre>public abstract long <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.392">getLong</a>(int index)</pre>
+<pre>public abstract long <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.393">getLong</a>(int index)</pre>
<div class="block">Fetches the long at the given index. Does not change position of the
underlying ByteBuffers. The caller is sure that the index will be after
the current position of this ByteBuff. So even if the current long does not fit in the
@@ -1359,7 +1422,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>getLongAfterPosition</h4>
-<pre>public abstract long <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.401">getLongAfterPosition</a>(int offset)</pre>
+<pre>public abstract long <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.402">getLongAfterPosition</a>(int offset)</pre>
<div class="block">Fetches the long value at the given offset from current position. Does not change position
of the underlying ByteBuffers.</div>
<dl>
@@ -1376,7 +1439,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>toBytes</h4>
-<pre>public byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.407">toBytes</a>()</pre>
+<pre>public byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.408">toBytes</a>()</pre>
<div class="block">Copy the content from this ByteBuff to a byte[].</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
@@ -1390,7 +1453,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>toBytes</h4>
-<pre>public abstract byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.421">toBytes</a>(int offset,
+<pre>public abstract byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.422">toBytes</a>(int offset,
int length)</pre>
<div class="block">Copy the content from this ByteBuff to a byte[] based on the given offset and
length</div>
@@ -1409,7 +1472,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
-<pre>public abstract void <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.432">get</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> out,
+<pre>public abstract void <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.433">get</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> out,
int sourceOffset,
int length)</pre>
<div class="block">Copies the content from this ByteBuff to a ByteBuffer
@@ -1430,7 +1493,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>put</h4>
-<pre>public abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.443">put</a>(int offset,
+<pre>public abstract <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.444">put</a>(int offset,
<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> src,
int srcOffset,
int length)</pre>
@@ -1452,7 +1515,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>read</h4>
-<pre>public abstract int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.451">read</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/ReadableByteChannel.html?is-external=true" title="class or interface in java.nio.channels">ReadableByteChannel</a> channel)
+<pre>public abstract int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.452">read</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/ReadableByteChannel.html?is-external=true" title="class or interface in java.nio.channels">ReadableByteChannel</a> channel)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Reads bytes from the given channel into this ByteBuff</div>
<dl>
@@ -1465,15 +1528,49 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
</dl>
</li>
</ul>
-<a name="channelRead-java.nio.channels.ReadableByteChannel-java.nio.ByteBuffer-">
+<a name="read-java.nio.channels.FileChannel-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>read</h4>
+<pre>public abstract int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.457">read</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html?is-external=true" title="class or interface in java.nio.channels">FileChannel</a> channel,
+ long offset)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Reads bytes from FileChannel into this ByteBuff</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="write-java.nio.channels.FileChannel-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>channelRead</h4>
-<pre>public static int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.454">channelRead</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/ReadableByteChannel.html?is-external=true" title="class or interface in java.nio.channels">ReadableByteChannel</a> channel,
- <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> buf)
- throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<h4>write</h4>
+<pre>public abstract int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.462">write</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html?is-external=true" title="class or interface in java.nio.channels">FileChannel</a> channel,
+ long offset)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Write this ByteBuff's data into target file</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="read-java.nio.channels.ReadableByteChannel-java.nio.ByteBuffer-long-org.apache.hadoop.hbase.nio.ByteBuff.ChannelReader-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>read</h4>
+<pre>public static int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.481">read</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/ReadableByteChannel.html?is-external=true" title="class or interface in java.nio.channels">ReadableByteChannel</a> channel,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> buf,
+ long offset,
+ <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio">ByteBuff.ChannelReader</a> reader)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
@@ -1486,7 +1583,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>readCompressedInt</h4>
-<pre>public static int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.482">readCompressedInt</a>(<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> buf)</pre>
+<pre>public static int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.511">readCompressedInt</a>(<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> buf)</pre>
<div class="block">Read integer from ByteBuff coded in 7 bits and increment position.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
@@ -1500,7 +1597,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>compareTo</h4>
-<pre>public static int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.503">compareTo</a>(<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> buf1,
+<pre>public static int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.532">compareTo</a>(<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> buf1,
int o1,
int len1,
<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> buf2,
@@ -1527,7 +1624,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>readLong</h4>
-<pre>public static long <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.526">readLong</a>(<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> in,
+<pre>public static long <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.555">readLong</a>(<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> in,
int fitInBytes)</pre>
<div class="block">Read long which was written to fitInBytes bytes and increment position.</div>
<dl>
@@ -1544,7 +1641,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>nioByteBuffers</h4>
-<pre>public abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.534">nioByteBuffers</a>()</pre>
+<pre>public abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.563">nioByteBuffers</a>()</pre>
</li>
</ul>
<a name="toString--">
@@ -1553,7 +1650,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.537">toString</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.566">toString</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code> in class <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -1566,7 +1663,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>wrap</h4>
-<pre>public static <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.551">wrap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>[] buffers,
+<pre>public static <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.580">wrap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>[] buffers,
<a href="../../../../../org/apache/hadoop/hbase/nio/RefCnt.html" title="class in org.apache.hadoop.hbase.nio">RefCnt</a> refCnt)</pre>
<div class="block">In theory, the upstream should never construct an ByteBuff by passing an given refCnt, so
please don't use this public method in other place. Make the method public here because the
@@ -1581,7 +1678,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>wrap</h4>
-<pre>public static <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.559">wrap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>[] buffers,
+<pre>public static <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.588">wrap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>[] buffers,
<a href="../../../../../org/apache/hadoop/hbase/io/ByteBuffAllocator.Recycler.html" title="interface in org.apache.hadoop.hbase.io">ByteBuffAllocator.Recycler</a> recycler)</pre>
</li>
</ul>
@@ -1591,7 +1688,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>wrap</h4>
-<pre>public static <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.563">wrap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>[] buffers)</pre>
+<pre>public static <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.592">wrap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>[] buffers)</pre>
</li>
</ul>
<a name="wrap-java.util.List-org.apache.hadoop.hbase.io.ByteBuffAllocator.Recycler-">
@@ -1600,7 +1697,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>wrap</h4>
-<pre>public static <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.567">wrap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="cl [...]
+<pre>public static <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.596">wrap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="cl [...]
<a href="../../../../../org/apache/hadoop/hbase/io/ByteBuffAllocator.Recycler.html" title="interface in org.apache.hadoop.hbase.io">ByteBuffAllocator.Recycler</a> recycler)</pre>
</li>
</ul>
@@ -1610,7 +1707,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>wrap</h4>
-<pre>public static <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.571">wrap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="cl [...]
+<pre>public static <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.600">wrap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="cl [...]
</li>
</ul>
<a name="wrap-java.nio.ByteBuffer-">
@@ -1619,7 +1716,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>wrap</h4>
-<pre>public static <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.575">wrap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> buffer)</pre>
+<pre>public static <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.604">wrap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> buffer)</pre>
</li>
</ul>
<a name="wrap-java.util.List-org.apache.hadoop.hbase.nio.RefCnt-">
@@ -1628,7 +1725,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockList">
<li class="blockList">
<h4>wrap</h4>
-<pre>private static <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.582">wrap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="c [...]
+<pre>private static <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.611">wrap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="c [...]
<a href="../../../../../org/apache/hadoop/hbase/nio/RefCnt.html" title="class in org.apache.hadoop.hbase.nio">RefCnt</a> refCnt)</pre>
<div class="block">Make this private because we don't want to expose the refCnt related wrap method to upstream.</div>
</li>
@@ -1639,7 +1736,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<ul class="blockListLast">
<li class="blockList">
<h4>wrap</h4>
-<pre>private static <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.593">wrap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> buffer,
+<pre>private static <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/ByteBuff.html#line.622">wrap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> buffer,
<a href="../../../../../org/apache/hadoop/hbase/nio/RefCnt.html" title="class in org.apache.hadoop.hbase.nio">RefCnt</a> refCnt)</pre>
<div class="block">Make this private because we don't want to expose the refCnt related wrap method to upstream.</div>
</li>
@@ -1673,7 +1770,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<div class="subNav">
<ul class="navList">
<li>Prev Class</li>
-<li><a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCounted.html" title="interface in org.apache.hadoop.hbase.nio"><span class="typeNameLink">Next Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio"><span class="typeNameLink">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/hbase/nio/ByteBuff.html" target="_top">Frames</a></li>
@@ -1697,7 +1794,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCou
<div>
<ul class="subNavList">
<li>Summary: </li>
-<li>Nested | </li>
+<li><a href="#nested.class.summary">Nested</a> | </li>
<li><a href="#field.summary">Field</a> | </li>
<li><a href="#constructor.summary">Constr</a> | </li>
<li><a href="#method.summary">Method</a></li>
diff --git a/devapidocs/org/apache/hadoop/hbase/nio/HBaseReferenceCounted.html b/devapidocs/org/apache/hadoop/hbase/nio/HBaseReferenceCounted.html
index a6df7b7..04c282b 100644
--- a/devapidocs/org/apache/hadoop/hbase/nio/HBaseReferenceCounted.html
+++ b/devapidocs/org/apache/hadoop/hbase/nio/HBaseReferenceCounted.html
@@ -49,7 +49,7 @@ var activeTableTab = "activeTableTab";
</div>
<div class="subNav">
<ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio"><span class="typeNameLink">Prev Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio"><span class="typeNameLink">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio"><span class="typeNameLink">Next Class</span></a></li>
</ul>
<ul class="navList">
@@ -254,7 +254,7 @@ extends org.apache.hbase.thirdparty.io.netty.util.ReferenceCounted</pre>
</div>
<div class="subNav">
<ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio"><span class="typeNameLink">Prev Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio"><span class="typeNameLink">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio"><span class="typeNameLink">Next Class</span></a></li>
</ul>
<ul class="navList">
diff --git a/devapidocs/org/apache/hadoop/hbase/nio/MultiByteBuff.html b/devapidocs/org/apache/hadoop/hbase/nio/MultiByteBuff.html
index b627567..075bc80 100644
--- a/devapidocs/org/apache/hadoop/hbase/nio/MultiByteBuff.html
+++ b/devapidocs/org/apache/hadoop/hbase/nio/MultiByteBuff.html
@@ -18,7 +18,7 @@
catch(err) {
}
//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":9,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":9,"i33":9,"i34":9,"i35":9,"i36":10,"i37":10,"i38":9,"i39":9,"i40":9,"i41":9,"i42":9,"i43":9,"i44":9,"i45":9,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55" [...]
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":9,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":9,"i33":9,"i34":9,"i35":9,"i36":10,"i37":10,"i38":10,"i39":9,"i40":9,"i41":9,"i42":9,"i43":9,"i44":9,"i45":9,"i46":9,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55" [...]
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@@ -74,7 +74,7 @@ var activeTableTab = "activeTableTab";
<div>
<ul class="subNavList">
<li>Summary: </li>
-<li>Nested | </li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.hadoop.hbase.nio.ByteBuff">Nested</a> | </li>
<li><a href="#field.summary">Field</a> | </li>
<li><a href="#constructor.summary">Constr</a> | </li>
<li><a href="#method.summary">Method</a></li>
@@ -119,7 +119,7 @@ var activeTableTab = "activeTableTab";
<hr>
<br>
<pre>@InterfaceAudience.Private
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.43">MultiByteBuff</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.46">MultiByteBuff</a>
extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></pre>
<div class="block">Provides a unified view of all the underlying ByteBuffers and will look as if a bigger
sequential buffer. This class provides similar APIs as in <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio"><code>ByteBuffer</code></a> to put/get int,
@@ -132,6 +132,21 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<div class="summary">
<ul class="blockList">
<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!-- -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.hadoop.hbase.nio.ByteBuff">
+<!-- -->
+</a>
+<h3>Nested classes/interfaces inherited from class org.apache.hadoop.hbase.nio.<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></h3>
+<code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio">ByteBuff.ChannelReader</a></code></li>
+</ul>
+</li>
+</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
@@ -145,30 +160,34 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
+<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#buffsIterator">buffsIterator</a></span></code> </td>
+</tr>
+<tr class="rowColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#curItem">curItem</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#curItemIndex">curItemIndex</a></span></code> </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/nio/MultiByteBuff.html#itemBeginPos">itemBeginPos</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#items">items</a></span></code> </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/nio/MultiByteBuff.html#limit">limit</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#limitedItemIndex">limitedItemIndex</a></span></code> </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/nio/MultiByteBuff.html#markedItemIndex">markedItemIndex</a></span></code> </td>
</tr>
@@ -178,7 +197,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<!-- -->
</a>
<h3>Fields inherited from class org.apache.hadoop.hbase.nio.<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#refCnt">refCnt</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#CHANNEL_READER">CHANNEL_READER</a>, <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#FILE_READER">FILE_READER</a>, <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#refCnt">refCnt</a></code></li>
</ul>
</li>
</ul>
@@ -432,88 +451,94 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#int3-int-">int3</a></span>(int x)</code> </td>
</tr>
<tr id="i36" class="altColor">
+<td class="colFirst"><code>private int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#internalRead-java.nio.channels.ReadableByteChannel-long-org.apache.hadoop.hbase.nio.ByteBuff.ChannelReader-">internalRead</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/ReadableByteChannel.html?is-external=true" title="class or interface in java.nio.channels">ReadableByteChannel</a> channel,
+ long offset,
+ <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio">ByteBuff.ChannelReader</a> reader)</code> </td>
+</tr>
+<tr id="i37" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#limit--">limit</a></span>()</code>
<div class="block">Returns the limit of this MBB</div>
</td>
</tr>
-<tr id="i37" class="rowColor">
+<tr id="i38" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#limit-int-">limit</a></span>(int limit)</code>
<div class="block">Marks the limit of this MBB.</div>
</td>
</tr>
-<tr id="i38" class="altColor">
+<tr id="i39" class="rowColor">
<td class="colFirst"><code>private static byte</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#long0-long-">long0</a></span>(long x)</code> </td>
</tr>
-<tr id="i39" class="rowColor">
+<tr id="i40" class="altColor">
<td class="colFirst"><code>private static byte</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#long1-long-">long1</a></span>(long x)</code> </td>
</tr>
-<tr id="i40" class="altColor">
+<tr id="i41" class="rowColor">
<td class="colFirst"><code>private static byte</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#long2-long-">long2</a></span>(long x)</code> </td>
</tr>
-<tr id="i41" class="rowColor">
+<tr id="i42" class="altColor">
<td class="colFirst"><code>private static byte</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#long3-long-">long3</a></span>(long x)</code> </td>
</tr>
-<tr id="i42" class="altColor">
+<tr id="i43" class="rowColor">
<td class="colFirst"><code>private static byte</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#long4-long-">long4</a></span>(long x)</code> </td>
</tr>
-<tr id="i43" class="rowColor">
+<tr id="i44" class="altColor">
<td class="colFirst"><code>private static byte</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#long5-long-">long5</a></span>(long x)</code> </td>
</tr>
-<tr id="i44" class="altColor">
+<tr id="i45" class="rowColor">
<td class="colFirst"><code>private static byte</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#long6-long-">long6</a></span>(long x)</code> </td>
</tr>
-<tr id="i45" class="rowColor">
+<tr id="i46" class="altColor">
<td class="colFirst"><code>private static byte</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#long7-long-">long7</a></span>(long x)</code> </td>
</tr>
-<tr id="i46" class="altColor">
+<tr id="i47" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#mark--">mark</a></span>()</code>
<div class="block">Marks the current position of the MBB</div>
</td>
</tr>
-<tr id="i47" class="rowColor">
+<tr id="i48" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#moveBack-int-">moveBack</a></span>(int length)</code>
<div class="block">Jumps back the current position of this MBB by specified length.</div>
</td>
</tr>
-<tr id="i48" class="altColor">
+<tr id="i49" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#nioByteBuffers--">nioByteBuffers</a></span>()</code> </td>
</tr>
-<tr id="i49" class="rowColor">
+<tr id="i50" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#position--">position</a></span>()</code> </td>
</tr>
-<tr id="i50" class="altColor">
+<tr id="i51" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#position-int-">position</a></span>(int position)</code>
<div class="block">Sets this MBB's position to the given value.</div>
</td>
</tr>
-<tr id="i51" class="rowColor">
+<tr id="i52" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#put-byte-">put</a></span>(byte b)</code>
<div class="block">Writes a byte to this MBB at the current position and increments the position</div>
</td>
</tr>
-<tr id="i52" class="altColor">
+<tr id="i53" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#put-byte:A-">put</a></span>(byte[] src)</code>
<div class="block">Copies from the given byte[] to this MBB</div>
</td>
</tr>
-<tr id="i53" class="rowColor">
+<tr id="i54" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#put-byte:A-int-int-">put</a></span>(byte[] src,
int offset,
@@ -521,14 +546,14 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<div class="block">Copies from the given byte[] to this MBB</div>
</td>
</tr>
-<tr id="i54" class="altColor">
+<tr id="i55" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#put-int-byte-">put</a></span>(int index,
byte b)</code>
<div class="block">Writes a byte to this MBB at the given index</div>
</td>
</tr>
-<tr id="i55" class="rowColor">
+<tr id="i56" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#put-int-org.apache.hadoop.hbase.nio.ByteBuff-int-int-">put</a></span>(int offset,
<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> src,
@@ -537,61 +562,68 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<div class="block">Copies from a src MBB to this MBB.</div>
</td>
</tr>
-<tr id="i56" class="altColor">
+<tr id="i57" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#putInt-int-">putInt</a></span>(int val)</code>
<div class="block">Writes an int to this MBB at its current position.</div>
</td>
</tr>
-<tr id="i57" class="rowColor">
+<tr id="i58" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#putLong-long-">putLong</a></span>(long val)</code>
<div class="block">Writes a long to this MBB at its current position.</div>
</td>
</tr>
-<tr id="i58" class="altColor">
+<tr id="i59" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#read-java.nio.channels.FileChannel-long-">read</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html?is-external=true" title="class or interface in java.nio.channels">FileChannel</a> channel,
+ long offset)</code>
+<div class="block">Reads bytes from FileChannel into this ByteBuff</div>
+</td>
+</tr>
+<tr id="i60" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#read-java.nio.channels.ReadableByteChannel-">read</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/ReadableByteChannel.html?is-external=true" title="class or interface in java.nio.channels">ReadableByteChannel</a> channel)</code>
<div class="block">Reads bytes from the given channel into this ByteBuff</div>
</td>
</tr>
-<tr id="i59" class="rowColor">
+<tr id="i61" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#remaining--">remaining</a></span>()</code>
<div class="block">Returns the number of elements between the current position and the
limit.</div>
</td>
</tr>
-<tr id="i60" class="altColor">
+<tr id="i62" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#reset--">reset</a></span>()</code>
<div class="block">Similar to <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio"><code>ByteBuffer</code></a>.reset(), ensures that this MBB
is reset back to last marked position.</div>
</td>
</tr>
-<tr id="i61" class="rowColor">
+<tr id="i63" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#retain--">retain</a></span>()</code> </td>
</tr>
-<tr id="i62" class="altColor">
+<tr id="i64" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#rewind--">rewind</a></span>()</code>
<div class="block">Rewinds this MBB and the position is set to 0</div>
</td>
</tr>
-<tr id="i63" class="rowColor">
+<tr id="i65" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#skip-int-">skip</a></span>(int length)</code>
<div class="block">Jumps the current position of this MBB by specified length.</div>
</td>
</tr>
-<tr id="i64" class="altColor">
+<tr id="i66" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#slice--">slice</a></span>()</code>
<div class="block">Returns an MBB which is a sliced version of this MBB.</div>
</td>
</tr>
-<tr id="i65" class="rowColor">
+<tr id="i67" class="rowColor">
<td class="colFirst"><code>byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#toBytes-int-int-">toBytes</a></span>(int offset,
int length)</code>
@@ -599,13 +631,20 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
length</div>
</td>
</tr>
+<tr id="i68" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#write-java.nio.channels.FileChannel-long-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html?is-external=true" title="class or interface in java.nio.channels">FileChannel</a> channel,
+ long offset)</code>
+<div class="block">Write this ByteBuff's data into target file</div>
+</td>
+</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.nio.ByteBuff">
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.nio.<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#channelRead-java.nio.channels.ReadableByteChannel-java.nio.ByteBuffer-">channelRead</a>, <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#checkRefCount--">checkRefCount</a>, <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#compareTo-org.apache.hadoop.hbase.nio.ByteBuff-int-int-org.apache.hadoop.hbase.nio.ByteBuff-int-int-">compareTo</a>, <a href="../../../../../org/apache/hadoop/hbas [...]
+<code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#checkRefCount--">checkRefCount</a>, <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#compareTo-org.apache.hadoop.hbase.nio.ByteBuff-int-int-org.apache.hadoop.hbase.nio.ByteBuff-int-int-">compareTo</a>, <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#read-java.nio.channels.ReadableByteChannel-java.nio.ByteBuffer-long-org.apache.hadoop.hbase.nio.ByteBuff.ChannelReader-">read</a>, <a h [...]
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -641,7 +680,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>items</h4>
-<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.45">items</a></pre>
+<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.48">items</a></pre>
</li>
</ul>
<a name="curItem">
@@ -650,7 +689,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>curItem</h4>
-<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.47">curItem</a></pre>
+<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.50">curItem</a></pre>
</li>
</ul>
<a name="curItemIndex">
@@ -659,7 +698,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>curItemIndex</h4>
-<pre>private int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.49">curItemIndex</a></pre>
+<pre>private int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.52">curItemIndex</a></pre>
</li>
</ul>
<a name="limit">
@@ -668,7 +707,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>limit</h4>
-<pre>private int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.51">limit</a></pre>
+<pre>private int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.54">limit</a></pre>
</li>
</ul>
<a name="limitedItemIndex">
@@ -677,7 +716,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>limitedItemIndex</h4>
-<pre>private int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.52">limitedItemIndex</a></pre>
+<pre>private int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.55">limitedItemIndex</a></pre>
</li>
</ul>
<a name="markedItemIndex">
@@ -686,16 +725,25 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>markedItemIndex</h4>
-<pre>private int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.53">markedItemIndex</a></pre>
+<pre>private int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.56">markedItemIndex</a></pre>
</li>
</ul>
<a name="itemBeginPos">
<!-- -->
</a>
-<ul class="blockListLast">
+<ul class="blockList">
<li class="blockList">
<h4>itemBeginPos</h4>
-<pre>private final int[] <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.54">itemBeginPos</a></pre>
+<pre>private final int[] <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.57">itemBeginPos</a></pre>
+</li>
+</ul>
+<a name="buffsIterator">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>buffsIterator</h4>
+<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.59">buffsIterator</a></pre>
</li>
</ul>
</li>
@@ -712,7 +760,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>MultiByteBuff</h4>
-<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.56">MultiByteBuff</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>... items)</pre>
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.76">MultiByteBuff</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>... items)</pre>
</li>
</ul>
<a name="MultiByteBuff-org.apache.hadoop.hbase.io.ByteBuffAllocator.Recycler-java.nio.ByteBuffer...-">
@@ -721,7 +769,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>MultiByteBuff</h4>
-<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.60">MultiByteBuff</a>(<a href="../../../../../org/apache/hadoop/hbase/io/ByteBuffAllocator.Recycler.html" title="interface in org.apache.hadoop.hbase.io">ByteBuffAllocator.Recycler</a> recycler,
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.80">MultiByteBuff</a>(<a href="../../../../../org/apache/hadoop/hbase/io/ByteBuffAllocator.Recycler.html" title="interface in org.apache.hadoop.hbase.io">ByteBuffAllocator.Recycler</a> recycler,
<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>... items)</pre>
</li>
</ul>
@@ -731,7 +779,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>MultiByteBuff</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.64">MultiByteBuff</a>(<a href="../../../../../org/apache/hadoop/hbase/nio/RefCnt.html" title="class in org.apache.hadoop.hbase.nio">RefCnt</a> refCnt,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.84">MultiByteBuff</a>(<a href="../../../../../org/apache/hadoop/hbase/nio/RefCnt.html" title="class in org.apache.hadoop.hbase.nio">RefCnt</a> refCnt,
<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>... items)</pre>
</li>
</ul>
@@ -741,7 +789,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockListLast">
<li class="blockList">
<h4>MultiByteBuff</h4>
-<pre>private <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.88">MultiByteBuff</a>(<a href="../../../../../org/apache/hadoop/hbase/nio/RefCnt.html" title="class in org.apache.hadoop.hbase.nio">RefCnt</a> refCnt,
+<pre>private <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.108">MultiByteBuff</a>(<a href="../../../../../org/apache/hadoop/hbase/nio/RefCnt.html" title="class in org.apache.hadoop.hbase.nio">RefCnt</a> refCnt,
<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>[] items,
int[] itemBeginPos,
int limit,
@@ -764,7 +812,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>array</h4>
-<pre>public byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.105">array</a>()</pre>
+<pre>public byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.125">array</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#array--">array</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></dd>
@@ -782,7 +830,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>arrayOffset</h4>
-<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.114">arrayOffset</a>()</pre>
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.134">arrayOffset</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#arrayOffset--">arrayOffset</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></dd>
@@ -800,7 +848,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>hasArray</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.122">hasArray</a>()</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.142">hasArray</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#hasArray--">hasArray</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></dd>
@@ -815,7 +863,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>capacity</h4>
-<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.130">capacity</a>()</pre>
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.150">capacity</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#capacity--">capacity</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></dd>
@@ -830,7 +878,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
-<pre>public byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.145">get</a>(int index)</pre>
+<pre>public byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.165">get</a>(int index)</pre>
<div class="block">Fetches the byte at the given index. Does not change position of the underlying ByteBuffers</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -848,7 +896,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>getByteAfterPosition</h4>
-<pre>public byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.152">getByteAfterPosition</a>(int offset)</pre>
+<pre>public byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.172">getByteAfterPosition</a>(int offset)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#getByteAfterPosition-int-">ByteBuff</a></code></span></div>
<div class="block">Fetches the byte at the given offset from current position. Does not change position
of the underlying ByteBuffers.</div>
@@ -866,7 +914,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>getItemIndex</h4>
-<pre>private int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.163">getItemIndex</a>(int elemIndex)</pre>
+<pre>private int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.183">getItemIndex</a>(int elemIndex)</pre>
</li>
</ul>
<a name="getItemIndexFromCurItemIndex-int-">
@@ -875,7 +923,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>getItemIndexFromCurItemIndex</h4>
-<pre>private int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.178">getItemIndexFromCurItemIndex</a>(int elemIndex)</pre>
+<pre>private int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.198">getItemIndexFromCurItemIndex</a>(int elemIndex)</pre>
</li>
</ul>
<a name="getInt-int-">
@@ -884,7 +932,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>getInt</h4>
-<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.195">getInt</a>(int index)</pre>
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.215">getInt</a>(int index)</pre>
<div class="block">Fetches the int at the given index. Does not change position of the underlying ByteBuffers</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -902,7 +950,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>getIntAfterPosition</h4>
-<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.209">getIntAfterPosition</a>(int offset)</pre>
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.229">getIntAfterPosition</a>(int offset)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#getIntAfterPosition-int-">ByteBuff</a></code></span></div>
<div class="block">Fetches the int value at the given offset from current position. Does not change position
of the underlying ByteBuffers.</div>
@@ -920,7 +968,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>getShort</h4>
-<pre>public short <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.228">getShort</a>(int index)</pre>
+<pre>public short <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.248">getShort</a>(int index)</pre>
<div class="block">Fetches the short at the given index. Does not change position of the underlying ByteBuffers</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -938,7 +986,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>getShortAfterPosition</h4>
-<pre>public short <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.257">getShortAfterPosition</a>(int offset)</pre>
+<pre>public short <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.277">getShortAfterPosition</a>(int offset)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#getShortAfterPosition-int-">ByteBuff</a></code></span></div>
<div class="block">Fetches the short value at the given offset from current position. Does not change position
of the underlying ByteBuffers.</div>
@@ -956,7 +1004,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>getInt</h4>
-<pre>private int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.270">getInt</a>(int index,
+<pre>private int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.290">getInt</a>(int index,
int itemIndex)</pre>
</li>
</ul>
@@ -966,7 +1014,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>getShort</h4>
-<pre>private short <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.289">getShort</a>(int index,
+<pre>private short <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.309">getShort</a>(int index,
int itemIndex)</pre>
</li>
</ul>
@@ -976,7 +1024,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>getLong</h4>
-<pre>private long <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.314">getLong</a>(int index,
+<pre>private long <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.334">getLong</a>(int index,
int itemIndex)</pre>
</li>
</ul>
@@ -986,7 +1034,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>getLong</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.339">getLong</a>(int index)</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.359">getLong</a>(int index)</pre>
<div class="block">Fetches the long at the given index. Does not change position of the underlying ByteBuffers</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -1004,7 +1052,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>getLongAfterPosition</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.353">getLongAfterPosition</a>(int offset)</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.373">getLongAfterPosition</a>(int offset)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#getLongAfterPosition-int-">ByteBuff</a></code></span></div>
<div class="block">Fetches the long value at the given offset from current position. Does not change position
of the underlying ByteBuffers.</div>
@@ -1022,7 +1070,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>position</h4>
-<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.370">position</a>()</pre>
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.390">position</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#position--">position</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></dd>
@@ -1037,7 +1085,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>position</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.381">position</a>(int position)</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.401">position</a>(int position)</pre>
<div class="block">Sets this MBB's position to the given value.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -1055,7 +1103,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>rewind</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.409">rewind</a>()</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.429">rewind</a>()</pre>
<div class="block">Rewinds this MBB and the position is set to 0</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -1071,7 +1119,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>mark</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.425">mark</a>()</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.445">mark</a>()</pre>
<div class="block">Marks the current position of the MBB</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -1087,7 +1135,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>reset</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.438">reset</a>()</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.458">reset</a>()</pre>
<div class="block">Similar to <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio"><code>ByteBuffer</code></a>.reset(), ensures that this MBB
is reset back to last marked position.</div>
<dl>
@@ -1104,7 +1152,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>remaining</h4>
-<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.460">remaining</a>()</pre>
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.480">remaining</a>()</pre>
<div class="block">Returns the number of elements between the current position and the
limit.</div>
<dl>
@@ -1121,7 +1169,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>hasRemaining</h4>
-<pre>public final boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.474">hasRemaining</a>()</pre>
+<pre>public final boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.494">hasRemaining</a>()</pre>
<div class="block">Returns true if there are elements between the current position and the limt</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -1137,7 +1185,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
-<pre>public byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.486">get</a>()</pre>
+<pre>public byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.506">get</a>()</pre>
<div class="block">A relative method that returns byte at the current position. Increments the
current position by the size of a byte.</div>
<dl>
@@ -1154,7 +1202,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>getShort</h4>
-<pre>public short <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.506">getShort</a>()</pre>
+<pre>public short <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.526">getShort</a>()</pre>
<div class="block">Returns the short value at the current position. Also advances the position by the size
of short</div>
<dl>
@@ -1171,7 +1219,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>getInt</h4>
-<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.525">getInt</a>()</pre>
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.545">getInt</a>()</pre>
<div class="block">Returns the int value at the current position. Also advances the position by the size of int</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -1187,7 +1235,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>getLong</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.546">getLong</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.566">getLong</a>()</pre>
<div class="block">Returns the long value at the current position. Also advances the position by the size of long</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -1203,7 +1251,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.566">get</a>(byte[] dst)</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.586">get</a>(byte[] dst)</pre>
<div class="block">Copies the content from this MBB's current position to the byte array and fills it. Also
advances the position of the MBB by the length of the byte[].</div>
<dl>
@@ -1220,7 +1268,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.578">get</a>(byte[] dst,
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.598">get</a>(byte[] dst,
int offset,
int length)</pre>
<div class="block">Copies the specified number of bytes from this MBB's current position to the byte[]'s offset.
@@ -1241,7 +1289,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.594">get</a>(int sourceOffset,
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.614">get</a>(int sourceOffset,
byte[] dst,
int offset,
int length)</pre>
@@ -1265,7 +1313,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>limit</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.617">limit</a>(int limit)</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.637">limit</a>(int limit)</pre>
<div class="block">Marks the limit of this MBB.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -1283,7 +1331,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>limit</h4>
-<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.646">limit</a>()</pre>
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.666">limit</a>()</pre>
<div class="block">Returns the limit of this MBB</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -1299,7 +1347,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>slice</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.657">slice</a>()</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.677">slice</a>()</pre>
<div class="block">Returns an MBB which is a sliced version of this MBB. The position, limit and mark
of the new MBB will be independent than that of the original MBB.
The content of the new MBB will start at this MBB's current position</div>
@@ -1317,7 +1365,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>duplicate</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.674">duplicate</a>()</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.694">duplicate</a>()</pre>
<div class="block">Returns an MBB which is a duplicate version of this MBB. The position, limit and mark of the
new MBB will be independent than that of the original MBB. The content of the new MBB will
start at this MBB's current position The position, limit and mark of the new MBB would be
@@ -1336,7 +1384,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>put</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.690">put</a>(byte b)</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.710">put</a>(byte b)</pre>
<div class="block">Writes a byte to this MBB at the current position and increments the position</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -1354,7 +1402,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>put</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.710">put</a>(int index,
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.730">put</a>(int index,
byte b)</pre>
<div class="block">Writes a byte to this MBB at the given index</div>
<dl>
@@ -1374,7 +1422,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>put</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.726">put</a>(int offset,
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.746">put</a>(int offset,
<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> src,
int srcOffset,
int length)</pre>
@@ -1396,7 +1444,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>getItemByteBuffer</h4>
-<pre>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.762">getItemByteBuffer</a>(<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> buf,
+<pre>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.782">getItemByteBuffer</a>(<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> buf,
int index)</pre>
</li>
</ul>
@@ -1406,7 +1454,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>putInt</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.773">putInt</a>(int val)</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.793">putInt</a>(int val)</pre>
<div class="block">Writes an int to this MBB at its current position. Also advances the position by size of int</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -1424,7 +1472,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>int3</h4>
-<pre>private static byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.790">int3</a>(int x)</pre>
+<pre>private static byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.810">int3</a>(int x)</pre>
</li>
</ul>
<a name="int2-int-">
@@ -1433,7 +1481,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>int2</h4>
-<pre>private static byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.794">int2</a>(int x)</pre>
+<pre>private static byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.814">int2</a>(int x)</pre>
</li>
</ul>
<a name="int1-int-">
@@ -1442,7 +1490,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>int1</h4>
-<pre>private static byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.798">int1</a>(int x)</pre>
+<pre>private static byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.818">int1</a>(int x)</pre>
</li>
</ul>
<a name="int0-int-">
@@ -1451,7 +1499,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>int0</h4>
-<pre>private static byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.802">int0</a>(int x)</pre>
+<pre>private static byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.822">int0</a>(int x)</pre>
</li>
</ul>
<a name="put-byte:A-">
@@ -1460,7 +1508,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>put</h4>
-<pre>public final <a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.812">put</a>(byte[] src)</pre>
+<pre>public final <a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.832">put</a>(byte[] src)</pre>
<div class="block">Copies from the given byte[] to this MBB</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -1478,7 +1526,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>put</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.824">put</a>(byte[] src,
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.844">put</a>(byte[] src,
int offset,
int length)</pre>
<div class="block">Copies from the given byte[] to this MBB</div>
@@ -1500,7 +1548,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>putLong</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.844">putLong</a>(long val)</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.864">putLong</a>(long val)</pre>
<div class="block">Writes a long to this MBB at its current position. Also advances the position by size of long</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -1518,7 +1566,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>long7</h4>
-<pre>private static byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.865">long7</a>(long x)</pre>
+<pre>private static byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.885">long7</a>(long x)</pre>
</li>
</ul>
<a name="long6-long-">
@@ -1527,7 +1575,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>long6</h4>
-<pre>private static byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.869">long6</a>(long x)</pre>
+<pre>private static byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.889">long6</a>(long x)</pre>
</li>
</ul>
<a name="long5-long-">
@@ -1536,7 +1584,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>long5</h4>
-<pre>private static byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.873">long5</a>(long x)</pre>
+<pre>private static byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.893">long5</a>(long x)</pre>
</li>
</ul>
<a name="long4-long-">
@@ -1545,7 +1593,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>long4</h4>
-<pre>private static byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.877">long4</a>(long x)</pre>
+<pre>private static byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.897">long4</a>(long x)</pre>
</li>
</ul>
<a name="long3-long-">
@@ -1554,7 +1602,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>long3</h4>
-<pre>private static byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.881">long3</a>(long x)</pre>
+<pre>private static byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.901">long3</a>(long x)</pre>
</li>
</ul>
<a name="long2-long-">
@@ -1563,7 +1611,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>long2</h4>
-<pre>private static byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.885">long2</a>(long x)</pre>
+<pre>private static byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.905">long2</a>(long x)</pre>
</li>
</ul>
<a name="long1-long-">
@@ -1572,7 +1620,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>long1</h4>
-<pre>private static byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.889">long1</a>(long x)</pre>
+<pre>private static byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.909">long1</a>(long x)</pre>
</li>
</ul>
<a name="long0-long-">
@@ -1581,7 +1629,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>long0</h4>
-<pre>private static byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.893">long0</a>(long x)</pre>
+<pre>private static byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.913">long0</a>(long x)</pre>
</li>
</ul>
<a name="skip-int-">
@@ -1590,7 +1638,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>skip</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.902">skip</a>(int length)</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.922">skip</a>(int length)</pre>
<div class="block">Jumps the current position of this MBB by specified length.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -1606,7 +1654,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>moveBack</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.925">moveBack</a>(int length)</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.945">moveBack</a>(int length)</pre>
<div class="block">Jumps back the current position of this MBB by specified length.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -1622,7 +1670,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>asSubByteBuffer</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.953">asSubByteBuffer</a>(int length)</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.973">asSubByteBuffer</a>(int length)</pre>
<div class="block">Returns bytes from current position till length specified, as a single ByteBuffer. When all
these bytes happen to be in a single ByteBuffer, which this object wraps, that ByteBuffer item
as such will be returned. So users are warned not to change the position or limit of this
@@ -1645,7 +1693,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>asSubByteBuffer</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.990">asSubByteBuffer</a>(int offset,
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.1010">asSubByteBuffer</a>(int offset,
int length,
<a href="../../../../../org/apache/hadoop/hbase/util/ObjectIntPair.html" title="class in org.apache.hadoop.hbase.util">ObjectIntPair</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>> pair)</pre>
<div class="block">Returns bytes from given offset till length specified, as a single ByteBuffer. When all these
@@ -1672,7 +1720,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.1031">get</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> out,
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.1051">get</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> out,
int sourceOffset,
int length)</pre>
<div class="block">Copies the content from an this MBB to a ByteBuffer</div>
@@ -1692,7 +1740,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>toBytes</h4>
-<pre>public byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.1060">toBytes</a>(int offset,
+<pre>public byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.1080">toBytes</a>(int offset,
int length)</pre>
<div class="block">Copy the content from this MBB to a byte[] based on the given offset and
length</div>
@@ -1707,13 +1755,29 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
</dl>
</li>
</ul>
+<a name="internalRead-java.nio.channels.ReadableByteChannel-long-org.apache.hadoop.hbase.nio.ByteBuff.ChannelReader-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>internalRead</h4>
+<pre>private int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.1087">internalRead</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/ReadableByteChannel.html?is-external=true" title="class or interface in java.nio.channels">ReadableByteChannel</a> channel,
+ long offset,
+ <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio">ByteBuff.ChannelReader</a> reader)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
<a name="read-java.nio.channels.ReadableByteChannel-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>read</h4>
-<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.1068">read</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/ReadableByteChannel.html?is-external=true" title="class or interface in java.nio.channels">ReadableByteChannel</a> channel)
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.1106">read</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/ReadableByteChannel.html?is-external=true" title="class or interface in java.nio.channels">ReadableByteChannel</a> channel)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#read-java.nio.channels.ReadableByteChannel-">ByteBuff</a></code></span></div>
<div class="block">Reads bytes from the given channel into this ByteBuff</div>
@@ -1727,13 +1791,51 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
</dl>
</li>
</ul>
+<a name="read-java.nio.channels.FileChannel-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>read</h4>
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.1111">read</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html?is-external=true" title="class or interface in java.nio.channels">FileChannel</a> channel,
+ long offset)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#read-java.nio.channels.FileChannel-long-">ByteBuff</a></code></span></div>
+<div class="block">Reads bytes from FileChannel into this ByteBuff</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#read-java.nio.channels.FileChannel-long-">read</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="write-java.nio.channels.FileChannel-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>write</h4>
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.1116">write</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html?is-external=true" title="class or interface in java.nio.channels">FileChannel</a> channel,
+ long offset)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#write-java.nio.channels.FileChannel-long-">ByteBuff</a></code></span></div>
+<div class="block">Write this ByteBuff's data into target file</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#write-java.nio.channels.FileChannel-long-">write</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
<a name="nioByteBuffers--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nioByteBuffers</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.1090">nioByteBuffers</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.1131">nioByteBuffers</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#nioByteBuffers--">nioByteBuffers</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></dd>
@@ -1746,7 +1848,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>equals</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.1096">equals</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> obj)</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.1137">equals</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> obj)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a></code> in class <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -1759,7 +1861,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>hashCode</h4>
-<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.1109">hashCode</a>()</pre>
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.1150">hashCode</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a></code> in class <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -1772,7 +1874,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockListLast">
<li class="blockList">
<h4>retain</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.1118">retain</a>()</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html" title="class in org.apache.hadoop.hbase.nio">MultiByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/MultiByteBuff.html#line.1159">retain</a>()</pre>
</li>
</ul>
</li>
@@ -1828,7 +1930,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<div>
<ul class="subNavList">
<li>Summary: </li>
-<li>Nested | </li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.hadoop.hbase.nio.ByteBuff">Nested</a> | </li>
<li><a href="#field.summary">Field</a> | </li>
<li><a href="#constructor.summary">Constr</a> | </li>
<li><a href="#method.summary">Method</a></li>
diff --git a/devapidocs/org/apache/hadoop/hbase/nio/SingleByteBuff.html b/devapidocs/org/apache/hadoop/hbase/nio/SingleByteBuff.html
index 8838985..9605c21 100644
--- a/devapidocs/org/apache/hadoop/hbase/nio/SingleByteBuff.html
+++ b/devapidocs/org/apache/hadoop/hbase/nio/SingleByteBuff.html
@@ -18,7 +18,7 @@
catch(err) {
}
//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@@ -74,7 +74,7 @@ var activeTableTab = "activeTableTab";
<div>
<ul class="subNavList">
<li>Summary: </li>
-<li>Nested | </li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.hadoop.hbase.nio.ByteBuff">Nested</a> | </li>
<li><a href="#field.summary">Field</a> | </li>
<li><a href="#constructor.summary">Constr</a> | </li>
<li><a href="#method.summary">Method</a></li>
@@ -119,7 +119,7 @@ var activeTableTab = "activeTableTab";
<hr>
<br>
<pre>@InterfaceAudience.Private
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.40">SingleByteBuff</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.41">SingleByteBuff</a>
extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></pre>
<div class="block">An implementation of ByteBuff where a single BB backs the BBI. This just acts as a wrapper over a
normal BB - offheap or onheap</div>
@@ -129,6 +129,21 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<div class="summary">
<ul class="blockList">
<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!-- -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.hadoop.hbase.nio.ByteBuff">
+<!-- -->
+</a>
+<h3>Nested classes/interfaces inherited from class org.apache.hadoop.hbase.nio.<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></h3>
+<code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio">ByteBuff.ChannelReader</a></code></li>
+</ul>
+</li>
+</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
@@ -167,7 +182,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<!-- -->
</a>
<h3>Fields inherited from class org.apache.hadoop.hbase.nio.<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#refCnt">refCnt</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#CHANNEL_READER">CHANNEL_READER</a>, <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#FILE_READER">FILE_READER</a>, <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#refCnt">refCnt</a></code></li>
</ul>
</li>
</ul>
@@ -453,47 +468,54 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html#read-java.nio.channels.FileChannel-long-">read</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html?is-external=true" title="class or interface in java.nio.channels">FileChannel</a> channel,
+ long offset)</code>
+<div class="block">Reads bytes from FileChannel into this ByteBuff</div>
+</td>
+</tr>
+<tr id="i41" class="rowColor">
+<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html#read-java.nio.channels.ReadableByteChannel-">read</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/ReadableByteChannel.html?is-external=true" title="class or interface in java.nio.channels">ReadableByteChannel</a> channel)</code>
<div class="block">Reads bytes from the given channel into this ByteBuff</div>
</td>
</tr>
-<tr id="i41" class="rowColor">
+<tr id="i42" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html#remaining--">remaining</a></span>()</code>
<div class="block">Returns the number of elements between the current position and the
limit.</div>
</td>
</tr>
-<tr id="i42" class="altColor">
+<tr id="i43" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html#reset--">reset</a></span>()</code>
<div class="block">Similar to <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio"><code>ByteBuffer</code></a>.reset(), ensures that this ByteBuff
is reset back to last marked position.</div>
</td>
</tr>
-<tr id="i43" class="rowColor">
+<tr id="i44" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html#retain--">retain</a></span>()</code> </td>
</tr>
-<tr id="i44" class="altColor">
+<tr id="i45" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html#rewind--">rewind</a></span>()</code>
<div class="block">Rewinds this ByteBuff and the position is set to 0</div>
</td>
</tr>
-<tr id="i45" class="rowColor">
+<tr id="i46" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html#skip-int-">skip</a></span>(int len)</code>
<div class="block">Jumps the current position of this ByteBuff by specified length.</div>
</td>
</tr>
-<tr id="i46" class="altColor">
+<tr id="i47" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html#slice--">slice</a></span>()</code>
<div class="block">Returns an ByteBuff which is a sliced version of this ByteBuff.</div>
</td>
</tr>
-<tr id="i47" class="rowColor">
+<tr id="i48" class="altColor">
<td class="colFirst"><code>byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html#toBytes-int-int-">toBytes</a></span>(int offset,
int length)</code>
@@ -501,13 +523,20 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
length</div>
</td>
</tr>
+<tr id="i49" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html#write-java.nio.channels.FileChannel-long-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html?is-external=true" title="class or interface in java.nio.channels">FileChannel</a> channel,
+ long offset)</code>
+<div class="block">Write this ByteBuff's data into target file</div>
+</td>
+</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.nio.ByteBuff">
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.nio.<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#channelRead-java.nio.channels.ReadableByteChannel-java.nio.ByteBuffer-">channelRead</a>, <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#checkRefCount--">checkRefCount</a>, <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#compareTo-org.apache.hadoop.hbase.nio.ByteBuff-int-int-org.apache.hadoop.hbase.nio.ByteBuff-int-int-">compareTo</a>, <a href="../../../../../org/apache/hadoop/hbas [...]
+<code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#checkRefCount--">checkRefCount</a>, <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#compareTo-org.apache.hadoop.hbase.nio.ByteBuff-int-int-org.apache.hadoop.hbase.nio.ByteBuff-int-int-">compareTo</a>, <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#read-java.nio.channels.ReadableByteChannel-java.nio.ByteBuffer-long-org.apache.hadoop.hbase.nio.ByteBuff.ChannelReader-">read</a>, <a h [...]
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -543,7 +572,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>UNSAFE_AVAIL</h4>
-<pre>private static final boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.42">UNSAFE_AVAIL</a></pre>
+<pre>private static final boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.43">UNSAFE_AVAIL</a></pre>
</li>
</ul>
<a name="UNSAFE_UNALIGNED">
@@ -552,7 +581,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>UNSAFE_UNALIGNED</h4>
-<pre>private static final boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.43">UNSAFE_UNALIGNED</a></pre>
+<pre>private static final boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.44">UNSAFE_UNALIGNED</a></pre>
</li>
</ul>
<a name="buf">
@@ -561,7 +590,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>buf</h4>
-<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.46">buf</a></pre>
+<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.47">buf</a></pre>
</li>
</ul>
<a name="unsafeOffset">
@@ -570,7 +599,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>unsafeOffset</h4>
-<pre>private long <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.49">unsafeOffset</a></pre>
+<pre>private long <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.50">unsafeOffset</a></pre>
</li>
</ul>
<a name="unsafeRef">
@@ -579,7 +608,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockListLast">
<li class="blockList">
<h4>unsafeRef</h4>
-<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.50">unsafeRef</a></pre>
+<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.51">unsafeRef</a></pre>
</li>
</ul>
</li>
@@ -596,7 +625,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>SingleByteBuff</h4>
-<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.52">SingleByteBuff</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> buf)</pre>
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.53">SingleByteBuff</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> buf)</pre>
</li>
</ul>
<a name="SingleByteBuff-org.apache.hadoop.hbase.io.ByteBuffAllocator.Recycler-java.nio.ByteBuffer-">
@@ -605,7 +634,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>SingleByteBuff</h4>
-<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.56">SingleByteBuff</a>(<a href="../../../../../org/apache/hadoop/hbase/io/ByteBuffAllocator.Recycler.html" title="interface in org.apache.hadoop.hbase.io">ByteBuffAllocator.Recycler</a> recycler,
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.57">SingleByteBuff</a>(<a href="../../../../../org/apache/hadoop/hbase/io/ByteBuffAllocator.Recycler.html" title="interface in org.apache.hadoop.hbase.io">ByteBuffAllocator.Recycler</a> recycler,
<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> buf)</pre>
</li>
</ul>
@@ -615,7 +644,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockListLast">
<li class="blockList">
<h4>SingleByteBuff</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.60">SingleByteBuff</a>(<a href="../../../../../org/apache/hadoop/hbase/nio/RefCnt.html" title="class in org.apache.hadoop.hbase.nio">RefCnt</a> refCnt,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.61">SingleByteBuff</a>(<a href="../../../../../org/apache/hadoop/hbase/nio/RefCnt.html" title="class in org.apache.hadoop.hbase.nio">RefCnt</a> refCnt,
<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> buf)</pre>
</li>
</ul>
@@ -633,7 +662,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>position</h4>
-<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.72">position</a>()</pre>
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.73">position</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#position--">position</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></dd>
@@ -648,7 +677,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>position</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.78">position</a>(int position)</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.79">position</a>(int position)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#position-int-">ByteBuff</a></code></span></div>
<div class="block">Sets this ByteBuff's position to the given value.</div>
<dl>
@@ -665,7 +694,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>skip</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.85">skip</a>(int len)</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.86">skip</a>(int len)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#skip-int-">ByteBuff</a></code></span></div>
<div class="block">Jumps the current position of this ByteBuff by specified length.</div>
<dl>
@@ -682,7 +711,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>moveBack</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.92">moveBack</a>(int len)</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.93">moveBack</a>(int len)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#moveBack-int-">ByteBuff</a></code></span></div>
<div class="block">Jumps back the current position of this ByteBuff by specified length.</div>
<dl>
@@ -699,7 +728,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>capacity</h4>
-<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.99">capacity</a>()</pre>
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.100">capacity</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#capacity--">capacity</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></dd>
@@ -714,7 +743,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>limit</h4>
-<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.105">limit</a>()</pre>
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.106">limit</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#limit--">ByteBuff</a></code></span></div>
<div class="block">Returns the limit of this ByteBuff</div>
<dl>
@@ -731,7 +760,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>limit</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.111">limit</a>(int limit)</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.112">limit</a>(int limit)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#limit-int-">ByteBuff</a></code></span></div>
<div class="block">Marks the limit of this ByteBuff.</div>
<dl>
@@ -748,7 +777,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>rewind</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.118">rewind</a>()</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.119">rewind</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#rewind--">ByteBuff</a></code></span></div>
<div class="block">Rewinds this ByteBuff and the position is set to 0</div>
<dl>
@@ -765,7 +794,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>mark</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.125">mark</a>()</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.126">mark</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#mark--">ByteBuff</a></code></span></div>
<div class="block">Marks the current position of the ByteBuff</div>
<dl>
@@ -782,7 +811,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>asSubByteBuffer</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.132">asSubByteBuffer</a>(int length)</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.133">asSubByteBuffer</a>(int length)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#asSubByteBuffer-int-">ByteBuff</a></code></span></div>
<div class="block">Returns bytes from current position till length specified, as a single ByteBuffer. When all
these bytes happen to be in a single ByteBuffer, which this object wraps, that ByteBuffer item
@@ -806,7 +835,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>asSubByteBuffer</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.139">asSubByteBuffer</a>(int offset,
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.140">asSubByteBuffer</a>(int offset,
int length,
<a href="../../../../../org/apache/hadoop/hbase/util/ObjectIntPair.html" title="class in org.apache.hadoop.hbase.util">ObjectIntPair</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>> pair)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#asSubByteBuffer-int-int-org.apache.hadoop.hbase.util.ObjectIntPair-">ByteBuff</a></code></span></div>
@@ -837,7 +866,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>remaining</h4>
-<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.147">remaining</a>()</pre>
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.148">remaining</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#remaining--">ByteBuff</a></code></span></div>
<div class="block">Returns the number of elements between the current position and the
limit.</div>
@@ -855,7 +884,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>hasRemaining</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.153">hasRemaining</a>()</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.154">hasRemaining</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#hasRemaining--">ByteBuff</a></code></span></div>
<div class="block">Returns true if there are elements between the current position and the limt</div>
<dl>
@@ -872,7 +901,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>reset</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.159">reset</a>()</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.160">reset</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#reset--">ByteBuff</a></code></span></div>
<div class="block">Similar to <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio"><code>ByteBuffer</code></a>.reset(), ensures that this ByteBuff
is reset back to last marked position.</div>
@@ -890,7 +919,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>slice</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.166">slice</a>()</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.167">slice</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#slice--">ByteBuff</a></code></span></div>
<div class="block">Returns an ByteBuff which is a sliced version of this ByteBuff. The position, limit and mark
of the new ByteBuff will be independent than that of the original ByteBuff.
@@ -909,7 +938,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>duplicate</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.172">duplicate</a>()</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.173">duplicate</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#duplicate--">ByteBuff</a></code></span></div>
<div class="block">Returns an ByteBuff which is a duplicate version of this ByteBuff. The
position, limit and mark of the new ByteBuff will be independent than that
@@ -930,7 +959,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
-<pre>public byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.178">get</a>()</pre>
+<pre>public byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.179">get</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#get--">ByteBuff</a></code></span></div>
<div class="block">A relative method that returns byte at the current position. Increments the
current position by the size of a byte.</div>
@@ -948,7 +977,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
-<pre>public byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.184">get</a>(int index)</pre>
+<pre>public byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.185">get</a>(int index)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#get-int-">ByteBuff</a></code></span></div>
<div class="block">Fetches the byte at the given index. Does not change position of the underlying ByteBuffers</div>
<dl>
@@ -965,7 +994,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>getByteAfterPosition</h4>
-<pre>public byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.193">getByteAfterPosition</a>(int offset)</pre>
+<pre>public byte <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.194">getByteAfterPosition</a>(int offset)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#getByteAfterPosition-int-">ByteBuff</a></code></span></div>
<div class="block">Fetches the byte at the given offset from current position. Does not change position
of the underlying ByteBuffers.</div>
@@ -983,7 +1012,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>put</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.199">put</a>(byte b)</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.200">put</a>(byte b)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#put-byte-">ByteBuff</a></code></span></div>
<div class="block">Writes a byte to this ByteBuff at the current position and increments the position</div>
<dl>
@@ -1000,7 +1029,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>put</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.206">put</a>(int index,
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.207">put</a>(int index,
byte b)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#put-int-byte-">ByteBuff</a></code></span></div>
<div class="block">Writes a byte to this ByteBuff at the given index</div>
@@ -1018,7 +1047,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.213">get</a>(byte[] dst,
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.214">get</a>(byte[] dst,
int offset,
int length)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#get-byte:A-int-int-">ByteBuff</a></code></span></div>
@@ -1038,7 +1067,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.220">get</a>(int sourceOffset,
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.221">get</a>(int sourceOffset,
byte[] dst,
int offset,
int length)</pre>
@@ -1062,7 +1091,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.226">get</a>(byte[] dst)</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.227">get</a>(byte[] dst)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#get-byte:A-">ByteBuff</a></code></span></div>
<div class="block">Copies the content from this ByteBuff's current position to the byte array and fills it. Also
advances the position of the ByteBuff by the length of the byte[].</div>
@@ -1078,7 +1107,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>put</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.231">put</a>(int offset,
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.232">put</a>(int offset,
<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> src,
int srcOffset,
int length)</pre>
@@ -1103,7 +1132,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>put</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.250">put</a>(byte[] src,
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.251">put</a>(byte[] src,
int offset,
int length)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#put-byte:A-int-int-">ByteBuff</a></code></span></div>
@@ -1124,7 +1153,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>put</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.257">put</a>(byte[] src)</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.258">put</a>(byte[] src)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#put-byte:A-">ByteBuff</a></code></span></div>
<div class="block">Copies from the given byte[] to this ByteBuff</div>
<dl>
@@ -1141,7 +1170,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>hasArray</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.263">hasArray</a>()</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.264">hasArray</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#hasArray--">hasArray</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></dd>
@@ -1156,7 +1185,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>array</h4>
-<pre>public byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.269">array</a>()</pre>
+<pre>public byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.270">array</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#array--">array</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></dd>
@@ -1171,7 +1200,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>arrayOffset</h4>
-<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.275">arrayOffset</a>()</pre>
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.276">arrayOffset</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#arrayOffset--">arrayOffset</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></dd>
@@ -1186,7 +1215,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>getShort</h4>
-<pre>public short <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.281">getShort</a>()</pre>
+<pre>public short <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.282">getShort</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#getShort--">ByteBuff</a></code></span></div>
<div class="block">Returns the short value at the current position. Also advances the position by the size
of short</div>
@@ -1204,7 +1233,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>getShort</h4>
-<pre>public short <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.287">getShort</a>(int index)</pre>
+<pre>public short <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.288">getShort</a>(int index)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#getShort-int-">ByteBuff</a></code></span></div>
<div class="block">Fetches the short value at the given index. Does not change position of the
underlying ByteBuffers. The caller is sure that the index will be after
@@ -1225,7 +1254,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>getShortAfterPosition</h4>
-<pre>public short <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.296">getShortAfterPosition</a>(int offset)</pre>
+<pre>public short <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.297">getShortAfterPosition</a>(int offset)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#getShortAfterPosition-int-">ByteBuff</a></code></span></div>
<div class="block">Fetches the short value at the given offset from current position. Does not change position
of the underlying ByteBuffers.</div>
@@ -1243,7 +1272,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>getInt</h4>
-<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.302">getInt</a>()</pre>
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.303">getInt</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#getInt--">ByteBuff</a></code></span></div>
<div class="block">Returns the int value at the current position. Also advances the position by the size of int</div>
<dl>
@@ -1260,7 +1289,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>putInt</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.308">putInt</a>(int value)</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.309">putInt</a>(int value)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#putInt-int-">ByteBuff</a></code></span></div>
<div class="block">Writes an int to this ByteBuff at its current position. Also advances the position
by size of int</div>
@@ -1280,7 +1309,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>getInt</h4>
-<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.315">getInt</a>(int index)</pre>
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.316">getInt</a>(int index)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#getInt-int-">ByteBuff</a></code></span></div>
<div class="block">Fetches the int at the given index. Does not change position of the underlying ByteBuffers.
Even if the current int does not fit in the
@@ -1300,7 +1329,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>getIntAfterPosition</h4>
-<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.324">getIntAfterPosition</a>(int offset)</pre>
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.325">getIntAfterPosition</a>(int offset)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#getIntAfterPosition-int-">ByteBuff</a></code></span></div>
<div class="block">Fetches the int value at the given offset from current position. Does not change position
of the underlying ByteBuffers.</div>
@@ -1318,7 +1347,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>getLong</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.330">getLong</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.331">getLong</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#getLong--">ByteBuff</a></code></span></div>
<div class="block">Returns the long value at the current position. Also advances the position by the size of long</div>
<dl>
@@ -1335,7 +1364,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>putLong</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.336">putLong</a>(long value)</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.337">putLong</a>(long value)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#putLong-long-">ByteBuff</a></code></span></div>
<div class="block">Writes a long to this ByteBuff at its current position.
Also advances the position by size of long</div>
@@ -1355,7 +1384,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>getLong</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.343">getLong</a>(int index)</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.344">getLong</a>(int index)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#getLong-int-">ByteBuff</a></code></span></div>
<div class="block">Fetches the long at the given index. Does not change position of the
underlying ByteBuffers. The caller is sure that the index will be after
@@ -1376,7 +1405,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>getLongAfterPosition</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.352">getLongAfterPosition</a>(int offset)</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.353">getLongAfterPosition</a>(int offset)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#getLongAfterPosition-int-">ByteBuff</a></code></span></div>
<div class="block">Fetches the long value at the given offset from current position. Does not change position
of the underlying ByteBuffers.</div>
@@ -1394,7 +1423,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>toBytes</h4>
-<pre>public byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.358">toBytes</a>(int offset,
+<pre>public byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.359">toBytes</a>(int offset,
int length)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#toBytes-int-int-">ByteBuff</a></code></span></div>
<div class="block">Copy the content from this ByteBuff to a byte[] based on the given offset and
@@ -1416,7 +1445,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.366">get</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> out,
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.367">get</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> out,
int sourceOffset,
int length)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#get-java.nio.ByteBuffer-int-int-">ByteBuff</a></code></span></div>
@@ -1440,7 +1469,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>read</h4>
-<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.372">read</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/ReadableByteChannel.html?is-external=true" title="class or interface in java.nio.channels">ReadableByteChannel</a> channel)
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.373">read</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/ReadableByteChannel.html?is-external=true" title="class or interface in java.nio.channels">ReadableByteChannel</a> channel)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#read-java.nio.channels.ReadableByteChannel-">ByteBuff</a></code></span></div>
<div class="block">Reads bytes from the given channel into this ByteBuff</div>
@@ -1454,13 +1483,51 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
</dl>
</li>
</ul>
+<a name="read-java.nio.channels.FileChannel-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>read</h4>
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.379">read</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html?is-external=true" title="class or interface in java.nio.channels">FileChannel</a> channel,
+ long offset)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#read-java.nio.channels.FileChannel-long-">ByteBuff</a></code></span></div>
+<div class="block">Reads bytes from FileChannel into this ByteBuff</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#read-java.nio.channels.FileChannel-long-">read</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="write-java.nio.channels.FileChannel-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>write</h4>
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.385">write</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html?is-external=true" title="class or interface in java.nio.channels">FileChannel</a> channel,
+ long offset)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#write-java.nio.channels.FileChannel-long-">ByteBuff</a></code></span></div>
+<div class="block">Write this ByteBuff's data into target file</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#write-java.nio.channels.FileChannel-long-">write</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
<a name="nioByteBuffers--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nioByteBuffers</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.378">nioByteBuffers</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.397">nioByteBuffers</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#nioByteBuffers--">nioByteBuffers</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></code></dd>
@@ -1473,7 +1540,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>equals</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.384">equals</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> obj)</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.403">equals</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> obj)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a></code> in class <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -1486,7 +1553,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockList">
<li class="blockList">
<h4>hashCode</h4>
-<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.392">hashCode</a>()</pre>
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.411">hashCode</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a></code> in class <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -1499,7 +1566,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<ul class="blockListLast">
<li class="blockList">
<h4>retain</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.397">retain</a>()</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/nio/SingleByteBuff.html#line.416">retain</a>()</pre>
</li>
</ul>
</li>
@@ -1555,7 +1622,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title
<div>
<ul class="subNavList">
<li>Summary: </li>
-<li>Nested | </li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.hadoop.hbase.nio.ByteBuff">Nested</a> | </li>
<li><a href="#field.summary">Field</a> | </li>
<li><a href="#constructor.summary">Constr</a> | </li>
<li><a href="#method.summary">Method</a></li>
diff --git a/devapidocs/org/apache/hadoop/hbase/nio/class-use/ByteBuff.ChannelReader.html b/devapidocs/org/apache/hadoop/hbase/nio/class-use/ByteBuff.ChannelReader.html
new file mode 100644
index 0000000..d1dbf5e
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/nio/class-use/ByteBuff.ChannelReader.html
@@ -0,0 +1,191 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.hadoop.hbase.nio.ByteBuff.ChannelReader (Apache HBase 3.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Interface org.apache.hadoop.hbase.nio.ByteBuff.ChannelReader (Apache HBase 3.0.0-SNAPSHOT API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/nio/class-use/ByteBuff.ChannelReader.html" target="_top">Frames</a></li>
+<li><a href="ByteBuff.ChannelReader.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.hadoop.hbase.nio.ByteBuff.ChannelReader" class="title">Uses of Interface<br>org.apache.hadoop.hbase.nio.ByteBuff.ChannelReader</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio">ByteBuff.ChannelReader</a></span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.nio">org.apache.hadoop.hbase.nio</a></td>
+<td class="colLast"> </td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.hadoop.hbase.nio">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio">ByteBuff.ChannelReader</a> in <a href="../../../../../../org/apache/hadoop/hbase/nio/package-summary.html">org.apache.hadoop.hbase.nio</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../org/apache/hadoop/hbase/nio/package-summary.html">org.apache.hadoop.hbase.nio</a> declared as <a href="../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio">ByteBuff.ChannelReader</a></span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>(package private) static <a href="../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio">ByteBuff.ChannelReader</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ByteBuff.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#CHANNEL_READER">CHANNEL_READER</a></span></code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>(package private) static <a href="../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio">ByteBuff.ChannelReader</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ByteBuff.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#FILE_READER">FILE_READER</a></span></code> </td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/hadoop/hbase/nio/package-summary.html">org.apache.hadoop.hbase.nio</a> with parameters of type <a href="../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio">ByteBuff.ChannelReader</a></span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>private int</code></td>
+<td class="colLast"><span class="typeNameLabel">MultiByteBuff.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/nio/MultiByteBuff.html#internalRead-java.nio.channels.ReadableByteChannel-long-org.apache.hadoop.hbase.nio.ByteBuff.ChannelReader-">internalRead</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/ReadableByteChannel.html?is-external=true" title="class or interface in java.nio.channels">ReadableByteChannel</ [...]
+ long offset,
+ <a href="../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio">ByteBuff.ChannelReader</a> reader)</code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><span class="typeNameLabel">ByteBuff.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html#read-java.nio.channels.ReadableByteChannel-java.nio.ByteBuffer-long-org.apache.hadoop.hbase.nio.ByteBuff.ChannelReader-">read</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/ReadableByteChannel.html?is-external=true" title="class or interface in java.nio.channels">ReadableByteChannel</a>&nbs [...]
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> buf,
+ long offset,
+ <a href="../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio">ByteBuff.ChannelReader</a> reader)</code> </td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/nio/class-use/ByteBuff.ChannelReader.html" target="_top">Frames</a></li>
+<li><a href="ByteBuff.ChannelReader.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright © 2007–2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/devapidocs/org/apache/hadoop/hbase/nio/class-use/ByteBuff.html b/devapidocs/org/apache/hadoop/hbase/nio/class-use/ByteBuff.html
index e42d0bc..05f4e95 100644
--- a/devapidocs/org/apache/hadoop/hbase/nio/class-use/ByteBuff.html
+++ b/devapidocs/org/apache/hadoop/hbase/nio/class-use/ByteBuff.html
@@ -678,27 +678,55 @@
</tr>
<tbody>
<tr class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><span class="typeNameLabel">FileIOEngine.FileAccessor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileAccessor.html#access-java.nio.channels.FileChannel-org.apache.hadoop.hbase.nio.ByteBuff-long-">access</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html?is-external=true" title="class or interface in java.nio.channels">FileChannel</a> fileChannel,
+ <a href="../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> buff,
+ long accessOffset)</code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><span class="typeNameLabel">FileIOEngine.FileReadAccessor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileReadAccessor.html#access-java.nio.channels.FileChannel-org.apache.hadoop.hbase.nio.ByteBuff-long-">access</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html?is-external=true" title="class or interface in java.nio.channels">FileChannel</a>&nbs [...]
+ <a href="../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> buff,
+ long accessOffset)</code> </td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><span class="typeNameLabel">FileIOEngine.FileWriteAccessor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileWriteAccessor.html#access-java.nio.channels.FileChannel-org.apache.hadoop.hbase.nio.ByteBuff-long-">access</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html?is-external=true" title="class or interface in java.nio.channels">FileChannel</a>&n [...]
+ <a href="../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> buff,
+ long accessOffset)</code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><span class="typeNameLabel">FileIOEngine.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html#accessFile-org.apache.hadoop.hbase.io.hfile.bucket.FileIOEngine.FileAccessor-org.apache.hadoop.hbase.nio.ByteBuff-long-">accessFile</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.FileAccessor.html" title="interface in org.apache.hadoop.hbase.io.hfile.bucket">F [...]
+ <a href="../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> buff,
+ long globalOffset)</code> </td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>(package private) <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.html" title="interface in org.apache.hadoop.hbase.io.hfile">Cacheable</a></code></td>
+<td class="colLast"><span class="typeNameLabel">BucketEntry.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketEntry.html#wrapAsCacheable-org.apache.hadoop.hbase.nio.ByteBuff-">wrapAsCacheable</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> buf)</code> </td>
+</tr>
+<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><span class="typeNameLabel">FileMmapIOEngine.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileMmapIOEngine.html#write-org.apache.hadoop.hbase.nio.ByteBuff-long-">write</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> srcBuffer,
long offset)</code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><span class="typeNameLabel">IOEngine.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/IOEngine.html#write-org.apache.hadoop.hbase.nio.ByteBuff-long-">write</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> srcBuffer,
long offset)</code>
<div class="block">Transfers the data from the given MultiByteBuffer to IOEngine</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><span class="typeNameLabel">ByteBufferIOEngine.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/ByteBufferIOEngine.html#write-org.apache.hadoop.hbase.nio.ByteBuff-long-">write</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> src,
long offset)</code>
<div class="block">Transfers data from the given <a href="../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio"><code>ByteBuff</code></a> to the buffer array.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">FileIOEngine.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html#write-org.apache.hadoop.hbase.nio.ByteBuff-long-">write</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> srcBuffer,
+<td class="colLast"><span class="typeNameLabel">FileIOEngine.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.html#write-org.apache.hadoop.hbase.nio.ByteBuff-long-">write</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> srcBuff,
long offset)</code> </td>
</tr>
</tbody>
diff --git a/devapidocs/org/apache/hadoop/hbase/nio/package-frame.html b/devapidocs/org/apache/hadoop/hbase/nio/package-frame.html
index c86c552..1682b62 100644
--- a/devapidocs/org/apache/hadoop/hbase/nio/package-frame.html
+++ b/devapidocs/org/apache/hadoop/hbase/nio/package-frame.html
@@ -13,6 +13,7 @@
<div class="indexContainer">
<h2 title="Interfaces">Interfaces</h2>
<ul title="Interfaces">
+<li><a href="ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio" target="classFrame"><span class="interfaceName">ByteBuff.ChannelReader</span></a></li>
<li><a href="HBaseReferenceCounted.html" title="interface in org.apache.hadoop.hbase.nio" target="classFrame"><span class="interfaceName">HBaseReferenceCounted</span></a></li>
</ul>
<h2 title="Classes">Classes</h2>
diff --git a/devapidocs/org/apache/hadoop/hbase/nio/package-summary.html b/devapidocs/org/apache/hadoop/hbase/nio/package-summary.html
index 636962c..8647ea4 100644
--- a/devapidocs/org/apache/hadoop/hbase/nio/package-summary.html
+++ b/devapidocs/org/apache/hadoop/hbase/nio/package-summary.html
@@ -83,6 +83,12 @@
</tr>
<tbody>
<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio">ByteBuff.ChannelReader</a></td>
+<td class="colLast">
+<div class="block">function interface for Channel read</div>
+</td>
+</tr>
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCounted.html" title="interface in org.apache.hadoop.hbase.nio">HBaseReferenceCounted</a></td>
<td class="colLast">
<div class="block">The HBaseReferenceCounted disabled several methods in Netty's <code>ReferenceCounted</code>, because
diff --git a/devapidocs/org/apache/hadoop/hbase/nio/package-tree.html b/devapidocs/org/apache/hadoop/hbase/nio/package-tree.html
index be09ead..d94b061 100644
--- a/devapidocs/org/apache/hadoop/hbase/nio/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/nio/package-tree.html
@@ -97,6 +97,7 @@
</ul>
<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
<ul>
+<li type="circle">org.apache.hadoop.hbase.nio.<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio"><span class="typeNameLink">ByteBuff.ChannelReader</span></a></li>
<li type="circle">org.apache.hbase.thirdparty.io.netty.util.ReferenceCounted
<ul>
<li type="circle">org.apache.hadoop.hbase.nio.<a href="../../../../../org/apache/hadoop/hbase/nio/HBaseReferenceCounted.html" title="interface in org.apache.hadoop.hbase.nio"><span class="typeNameLink">HBaseReferenceCounted</span></a></li>
diff --git a/devapidocs/org/apache/hadoop/hbase/nio/package-use.html b/devapidocs/org/apache/hadoop/hbase/nio/package-use.html
index 3ce2a91..df5f533 100644
--- a/devapidocs/org/apache/hadoop/hbase/nio/package-use.html
+++ b/devapidocs/org/apache/hadoop/hbase/nio/package-use.html
@@ -320,24 +320,29 @@
</td>
</tr>
<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/nio/class-use/ByteBuff.ChannelReader.html#org.apache.hadoop.hbase.nio">ByteBuff.ChannelReader</a>
+<div class="block">function interface for Channel read</div>
+</td>
+</tr>
+<tr class="altColor">
<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/nio/class-use/HBaseReferenceCounted.html#org.apache.hadoop.hbase.nio">HBaseReferenceCounted</a>
<div class="block">The HBaseReferenceCounted disabled several methods in Netty's <code>ReferenceCounted</code>, because
those methods are unlikely to be used.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/nio/class-use/MultiByteBuff.html#org.apache.hadoop.hbase.nio">MultiByteBuff</a>
<div class="block">Provides a unified view of all the underlying ByteBuffers and will look as if a bigger
sequential buffer.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/nio/class-use/RefCnt.html#org.apache.hadoop.hbase.nio">RefCnt</a>
<div class="block">Maintain an reference count integer inside to track life cycle of <a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio"><code>ByteBuff</code></a>, if the
reference count become 0, it'll call <a href="../../../../../org/apache/hadoop/hbase/io/ByteBuffAllocator.Recycler.html#free--"><code>ByteBuffAllocator.Recycler.free()</code></a> exactly once.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/nio/class-use/SingleByteBuff.html#org.apache.hadoop.hbase.nio">SingleByteBuff</a>
<div class="block">An implementation of ByteBuff where a single BB backs the BBI.</div>
</td>
diff --git a/devapidocs/org/apache/hadoop/hbase/package-tree.html b/devapidocs/org/apache/hadoop/hbase/package-tree.html
index f8e9479..537e170 100644
--- a/devapidocs/org/apache/hadoop/hbase/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/package-tree.html
@@ -424,18 +424,18 @@
<ul>
<li type="circle">java.lang.<a href="https://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><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
<ul>
-<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/CompareOperator.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CompareOperator</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/ClusterMetrics.Option.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ClusterMetrics.Option</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/Cell.Type.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Cell.Type</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CellBuilderType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CellBuilderType</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/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/ClusterMetrics.Option.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ClusterMetrics.Option</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/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/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/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/Cell.Type.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Cell.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/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/CompareOperator.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CompareOperator</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CellBuilderType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CellBuilderType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Size.Unit.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Size.Unit</span></a></li>
</ul>
</li>
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html b/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
index 3332d33..340f6a7 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
@@ -216,11 +216,11 @@
<ul>
<li type="circle">java.lang.<a href="https://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><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
<ul>
-<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/LockType.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">LockType</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/LockedResourceType.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">LockedResourceType</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/LockedResourceType.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">LockedResourceType</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/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/LockType.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">LockType</span></a></li>
</ul>
</li>
</ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html b/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
index d7445e7..0a7a10a 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
@@ -240,12 +240,12 @@
<ul>
<li type="circle">java.lang.<a href="https://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><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
<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/RpcThrottlingException.Type.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">RpcThrottlingException.Type</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/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/RpcThrottlingException.Type.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">RpcThrottlingException.Type</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/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>
</ul>
</li>
</ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html b/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
index 07f2dba..70fab98 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
@@ -715,20 +715,20 @@
<ul>
<li type="circle">java.lang.<a href="https://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><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
<ul>
-<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/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/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/CompactingMemStore.IndexType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">CompactingMemStore.IndexType</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/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/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/MemStoreCompactionStrategy.Action.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MemStoreCompactionStrategy.Action</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TimeRangeTracker.Type.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TimeRangeTracker.Type</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">HRegion.FlushResult.Result</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/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/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/CompactingMemStore.IndexType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">CompactingMemStore.IndexType</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/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/MemStoreCompactionStrategy.Action.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MemStoreCompactionStrategy.Action</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/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/ChunkCreator.ChunkType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ChunkCreator.ChunkType</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/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">HRegion.FlushResult.Result</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TimeRangeTracker.Type.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TimeRangeTracker.Type</span></a></li>
</ul>
</li>
</ul>
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 dc05e9f..b195b74 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
@@ -130,9 +130,9 @@
<ul>
<li type="circle">java.lang.<a href="https://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><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
<ul>
-<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/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/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>
</ul>
</li>
</ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
index c3de11a..21cdabe 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
@@ -247,10 +247,10 @@
<ul>
<li type="circle">java.lang.<a href="https://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><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
<ul>
-<li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.RollRequestReason.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">WALActionsListener.RollRequestReason</span></a></li>
<li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/CompressionContext.DictionaryIndex.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">CompressionContext.DictionaryIndex</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/ProtobufLogReader.WALHdrResult.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">ProtobufLogReader.WALHdrResult</span></a></li>
<li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/RingBufferTruck.Type.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">RingBufferTruck.Type</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/ProtobufLogReader.WALHdrResult.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">ProtobufLogReader.WALHdrResult</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.RollRequestReason.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">WALActionsListener.RollRequestReason</span></a></li>
</ul>
</li>
</ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/package-tree.html b/devapidocs/org/apache/hadoop/hbase/replication/package-tree.html
index 818a04c..02505ac 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/package-tree.html
@@ -162,8 +162,8 @@
<ul>
<li type="circle">java.lang.<a href="https://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><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
<ul>
-<li type="circle">org.apache.hadoop.hbase.replication.<a href="../../../../../org/apache/hadoop/hbase/replication/SyncReplicationState.html" title="enum in org.apache.hadoop.hbase.replication"><span class="typeNameLink">SyncReplicationState</span></a></li>
<li type="circle">org.apache.hadoop.hbase.replication.<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeer.PeerState.html" title="enum in org.apache.hadoop.hbase.replication"><span class="typeNameLink">ReplicationPeer.PeerState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.replication.<a href="../../../../../org/apache/hadoop/hbase/replication/SyncReplicationState.html" title="enum in org.apache.hadoop.hbase.replication"><span class="typeNameLink">SyncReplicationState</span></a></li>
</ul>
</li>
</ul>
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 800a66a..c9ac434 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-tree.html
@@ -192,8 +192,8 @@
<ul>
<li type="circle">java.lang.<a href="https://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><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
<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>
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 3b70b0e..6afbcd8 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
@@ -162,12 +162,12 @@
<ul>
<li type="circle">java.lang.<a href="https://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><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
<ul>
+<li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/Permission.Scope.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">Permission.Scope</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/SnapshotScannerHDFSAclHelper.HDFSAclOperation.AclType.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">SnapshotScannerHDFSAclHelper.HDFSAclOperation.AclType</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/Permission.Scope.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">Permission.Scope</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>
<li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/SnapshotScannerHDFSAclHelper.HDFSAclOperation.OperationType.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">SnapshotScannerHDFSAclHelper.HDFSAclOperation.OperationType</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/AccessController.OpType.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">AccessController.OpType</span></a></li>
</ul>
</li>
</ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/security/package-tree.html b/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
index 3f42ad7..4b0ca3e 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
@@ -192,9 +192,9 @@
<ul>
<li type="circle">java.lang.<a href="https://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><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
<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>
+<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>
</ul>
</li>
</ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html b/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
index 2d9b08d..c4e6dcd 100644
--- a/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
@@ -211,9 +211,9 @@
<ul>
<li type="circle">java.lang.<a href="https://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><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
<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/ThriftMetrics.ThriftServerType.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">ThriftMetrics.ThriftServerType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/ImplType.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">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>
</ul>
</li>
</ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/tool/BulkLoadHFilesTool.html b/devapidocs/org/apache/hadoop/hbase/tool/BulkLoadHFilesTool.html
index 6196ddb..7c68422 100644
--- a/devapidocs/org/apache/hadoop/hbase/tool/BulkLoadHFilesTool.html
+++ b/devapidocs/org/apache/hadoop/hbase/tool/BulkLoadHFilesTool.html
@@ -868,7 +868,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.h
<ul class="blockList">
<li class="blockList">
<h4>checkHFilesCountPerRegionPerFamily</h4>
-<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/tool/BulkLoadHFilesTool.html#line.437">checkHFilesCountPerRegionPerFamily</a>(org.apache.hbase.thirdparty.com.google.common.collect.Multimap<<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>,<a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.LoadQueueItem.html" title="class in org.apac [...]
+<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/tool/BulkLoadHFilesTool.html#line.439">checkHFilesCountPerRegionPerFamily</a>(org.apache.hbase.thirdparty.com.google.common.collect.Multimap<<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>,<a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.LoadQueueItem.html" title="class in org.apac [...]
</li>
</ul>
<a name="groupOrSplitPhase-org.apache.hadoop.hbase.client.AsyncClusterConnection-org.apache.hadoop.hbase.TableName-java.util.concurrent.ExecutorService-java.util.Deque-java.util.List-">
@@ -877,7 +877,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.h
<ul class="blockList">
<li class="blockList">
<h4>groupOrSplitPhase</h4>
-<pre>private <a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a><org.apache.hbase.thirdparty.com.google.common.collect.Multimap<<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>,<a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.LoadQueueItem.html" title="class in org.apache.hadoop.hbase.tool">Bulk [...]
+<pre>private <a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a><org.apache.hbase.thirdparty.com.google.common.collect.Multimap<<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>,<a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.LoadQueueItem.html" title="class in org.apache.hadoop.hbase.tool">Bulk [...]
<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a> pool,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Deque.html?is-external=true" title="class or interface in java.util">Deque</a><<a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.LoadQueueItem.html" title="class in org.apache.hadoop.hbase.tool">BulkLoadHFiles.LoadQueueItem</a>> queue,
@@ -903,7 +903,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.h
<ul class="blockList">
<li class="blockList">
<h4>getUniqueName</h4>
-<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/tool/BulkLoadHFilesTool.html#line.519">getUniqueName</a>()</pre>
+<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/tool/BulkLoadHFilesTool.html#line.521">getUniqueName</a>()</pre>
</li>
</ul>
<a name="splitStoreFile-org.apache.hadoop.hbase.tool.BulkLoadHFiles.LoadQueueItem-org.apache.hadoop.hbase.client.TableDescriptor-byte:A-byte:A-">
@@ -912,7 +912,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.h
<ul class="blockList">
<li class="blockList">
<h4>splitStoreFile</h4>
-<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.LoadQueueItem.html" title="class in org.apache.hadoop.hbase.tool">BulkLoadHFiles.LoadQueueItem</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/tool/BulkLoadHFilesTool.html#line.523">splitStoreFile</a>(<a href="../../../../../org/apache/hadoop/ [...]
+<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.LoadQueueItem.html" title="class in org.apache.hadoop.hbase.tool">BulkLoadHFiles.LoadQueueItem</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/tool/BulkLoadHFilesTool.html#line.525">splitStoreFile</a>(<a href="../../../../../org/apache/hadoop/ [...]
<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a> tableDesc,
byte[] startKey,
byte[] splitKey)
@@ -929,7 +929,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.h
<ul class="blockList">
<li class="blockList">
<h4>groupOrSplit</h4>
-<pre>protected <a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.LoadQueueItem.html" title="class in org.apache.hadoop.hbase.tool">BulkLoadHFiles.LoadQueueItem</a>>,<a href="https://docs.oracle.com/javas [...]
+<pre>protected <a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.LoadQueueItem.html" title="class in org.apache.hadoop.hbase.tool">BulkLoadHFiles.LoadQueueItem</a>>,<a href="https://docs.oracle.com/javas [...]
<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
org.apache.hbase.thirdparty.com.google.common.collect.Multimap<<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>,<a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.LoadQueueItem.html" title="class in org.apache.hadoop.hbase.tool">BulkLoadHFiles.LoadQueueItem</a>> regionGroups,
<a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.LoadQueueItem.html" title="class in org.apache.hadoop.hbase.tool">BulkLoadHFiles.LoadQueueItem</a> item,
@@ -952,7 +952,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.h
<ul class="blockList">
<li class="blockList">
<h4>splitStoreFile</h4>
-<pre>static void <a href="../../../../../src-html/org/apache/hadoop/hbase/tool/BulkLoadHFilesTool.html#line.652">splitStoreFile</a>(org.apache.hadoop.conf.Configuration conf,
+<pre>static void <a href="../../../../../src-html/org/apache/hadoop/hbase/tool/BulkLoadHFilesTool.html#line.654">splitStoreFile</a>(org.apache.hadoop.conf.Configuration conf,
org.apache.hadoop.fs.Path inFile,
<a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a> familyDesc,
byte[] splitKey,
@@ -973,7 +973,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.h
<ul class="blockList">
<li class="blockList">
<h4>copyHFileHalf</h4>
-<pre>private static void <a href="../../../../../src-html/org/apache/hadoop/hbase/tool/BulkLoadHFilesTool.html#line.665">copyHFileHalf</a>(org.apache.hadoop.conf.Configuration conf,
+<pre>private static void <a href="../../../../../src-html/org/apache/hadoop/hbase/tool/BulkLoadHFilesTool.html#line.667">copyHFileHalf</a>(org.apache.hadoop.conf.Configuration conf,
org.apache.hadoop.fs.Path inFile,
org.apache.hadoop.fs.Path outFile,
<a href="../../../../../org/apache/hadoop/hbase/io/Reference.html" title="class in org.apache.hadoop.hbase.io">Reference</a> reference,
@@ -992,7 +992,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.h
<ul class="blockList">
<li class="blockList">
<h4>inferBoundaries</h4>
-<pre>public static byte[][] <a href="../../../../../src-html/org/apache/hadoop/hbase/tool/BulkLoadHFilesTool.html#line.733">inferBoundaries</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/SortedMap.html?is-external=true" title="class or interface in java.util">SortedMap</a><byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>> bdryMap)</pre>
+<pre>public static byte[][] <a href="../../../../../src-html/org/apache/hadoop/hbase/tool/BulkLoadHFilesTool.html#line.735">inferBoundaries</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/SortedMap.html?is-external=true" title="class or interface in java.util">SortedMap</a><byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>> bdryMap)</pre>
<div class="block">Infers region boundaries for a new table.
<p/>
Parameter: <br/>
@@ -1021,7 +1021,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.h
<ul class="blockList">
<li class="blockList">
<h4>createTable</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/tool/BulkLoadHFilesTool.html#line.759">createTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/tool/BulkLoadHFilesTool.html#line.761">createTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
org.apache.hadoop.fs.Path hfofDir,
<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a> admin)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1039,7 +1039,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.h
<ul class="blockList">
<li class="blockList">
<h4>performBulkLoad</h4>
-<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.LoadQueueItem.html" title="class in org.apache.hadoop.hbase.tool">BulkLoadHFiles.LoadQueueItem</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>> <a href=".. [...]
+<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.LoadQueueItem.html" title="class in org.apache.hadoop.hbase.tool">BulkLoadHFiles.LoadQueueItem</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>> <a href=".. [...]
<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Deque.html?is-external=true" title="class or interface in java.util">Deque</a><<a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.LoadQueueItem.html" title="class in org.apache.hadoop.hbase.tool">BulkLoadHFiles.LoadQueueItem</a>> queue,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a> pool,
@@ -1057,7 +1057,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.h
<ul class="blockList">
<li class="blockList">
<h4>cleanup</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/tool/BulkLoadHFilesTool.html#line.864">cleanup</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncClusterConnection</a> conn,
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/tool/BulkLoadHFilesTool.html#line.866">cleanup</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncClusterConnection</a> conn,
<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Deque.html?is-external=true" title="class or interface in java.util">Deque</a><<a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.LoadQueueItem.html" title="class in org.apache.hadoop.hbase.tool">BulkLoadHFiles.LoadQueueItem</a>> queue,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a> pool)
@@ -1074,7 +1074,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.h
<ul class="blockList">
<li class="blockList">
<h4>doBulkLoad</h4>
-<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.LoadQueueItem.html" title="class in org.apache.hadoop.hbase.tool">BulkLoadHFiles.LoadQueueItem</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>> <a href=".. [...]
+<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.LoadQueueItem.html" title="class in org.apache.hadoop.hbase.tool">BulkLoadHFiles.LoadQueueItem</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>> <a href=".. [...]
<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><org.apache.hadoop.fs.Path>> map,
boolean silence,
@@ -1101,7 +1101,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.h
<ul class="blockList">
<li class="blockList">
<h4>doBulkLoad</h4>
-<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.LoadQueueItem.html" title="class in org.apache.hadoop.hbase.tool">BulkLoadHFiles.LoadQueueItem</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>> <a href=".. [...]
+<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.LoadQueueItem.html" title="class in org.apache.hadoop.hbase.tool">BulkLoadHFiles.LoadQueueItem</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>> <a href=".. [...]
<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
org.apache.hadoop.fs.Path hfofDir,
boolean silence,
@@ -1129,7 +1129,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.h
<ul class="blockList">
<li class="blockList">
<h4>bulkLoad</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.LoadQueueItem.html" title="class in org.apache.hadoop.hbase.tool">BulkLoadHFiles.LoadQueueItem</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>> <a href="../ [...]
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.LoadQueueItem.html" title="class in org.apache.hadoop.hbase.tool">BulkLoadHFiles.LoadQueueItem</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>> <a href="../ [...]
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><org.apache.hadoop.fs.Path>> family2Files)
throws <a href="../../../../../org/apache/hadoop/hbase/TableNotFoundException.html" title="class in org.apache.hadoop.hbase">TableNotFoundException</a>,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1153,7 +1153,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.h
<ul class="blockList">
<li class="blockList">
<h4>bulkLoad</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.LoadQueueItem.html" title="class in org.apache.hadoop.hbase.tool">BulkLoadHFiles.LoadQueueItem</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>> <a href="../ [...]
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.LoadQueueItem.html" title="class in org.apache.hadoop.hbase.tool">BulkLoadHFiles.LoadQueueItem</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>> <a href="../ [...]
org.apache.hadoop.fs.Path dir)
throws <a href="../../../../../org/apache/hadoop/hbase/TableNotFoundException.html" title="class in org.apache.hadoop.hbase">TableNotFoundException</a>,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1178,7 +1178,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.h
<ul class="blockList">
<li class="blockList">
<h4>setBulkToken</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/tool/BulkLoadHFilesTool.html#line.999">setBulkToken</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bulkToken)</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/tool/BulkLoadHFilesTool.html#line.1001">setBulkToken</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bulkToken)</pre>
</li>
</ul>
<a name="usage--">
@@ -1187,7 +1187,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.h
<ul class="blockList">
<li class="blockList">
<h4>usage</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/tool/BulkLoadHFilesTool.html#line.1003">usage</a>()</pre>
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/tool/BulkLoadHFilesTool.html#line.1005">usage</a>()</pre>
</li>
</ul>
<a name="run-java.lang.String:A-">
@@ -1196,7 +1196,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.h
<ul class="blockList">
<li class="blockList">
<h4>run</h4>
-<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/tool/BulkLoadHFilesTool.html#line.1017">run</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[] args)
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/tool/BulkLoadHFilesTool.html#line.1019">run</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[] args)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -1212,7 +1212,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/tool/BulkLoadHFiles.h
<ul class="blockListLast">
<li class="blockList">
<h4>main</h4>
-<pre>public static void <a href="../../../../../src-html/org/apache/hadoop/hbase/tool/BulkLoadHFilesTool.html#line.1045">main</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[] args)
+<pre>public static void <a href="../../../../../src-html/org/apache/hadoop/hbase/tool/BulkLoadHFilesTool.html#line.1047">main</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[] args)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
diff --git a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
index 1e86ed5..e8d55e5 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
@@ -540,14 +540,14 @@
<ul>
<li type="circle">java.lang.<a href="https://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><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
<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/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/HbckErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">HbckErrorReporter.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><T>)</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/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><T>)</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/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/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/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/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><T>)</li>
</ul>
</li>
</ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html b/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
index bdae3d8..8c4c41b 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
@@ -192,8 +192,8 @@
<ul>
<li type="circle">java.lang.<a href="https://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><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
<ul>
-<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.Providers.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">WALFactory.Providers</span></a></li>
<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.Strategies.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">RegionGroupingProvider.Strategies</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.Providers.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">WALFactory.Providers</span></a></li>
</ul>
</li>
</ul>
diff --git a/devapidocs/overview-tree.html b/devapidocs/overview-tree.html
index d4d5545..1dd5249 100644
--- a/devapidocs/overview-tree.html
+++ b/devapidocs/overview-tree.html
@@ -4660,6 +4660,7 @@
<li type="circle">org.apache.hadoop.hbase.tool.<a href="org/apache/hadoop/hbase/tool/BulkLoadHFiles.html" title="interface in org.apache.hadoop.hbase.tool"><span class="typeNameLink">BulkLoadHFiles</span></a></li>
<li type="circle">org.apache.hadoop.hbase.tool.<a href="org/apache/hadoop/hbase/tool/BulkLoadHFilesTool.BulkHFileVisitor.html" title="interface in org.apache.hadoop.hbase.tool"><span class="typeNameLink">BulkLoadHFilesTool.BulkHFileVisitor</span></a><TFamily></li>
<li type="circle">org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/BulkLoadObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor"><span class="typeNameLink">BulkLoadObserver</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.nio.<a href="org/apache/hadoop/hbase/nio/ByteBuff.ChannelReader.html" title="interface in org.apache.hadoop.hbase.nio"><span class="typeNameLink">ByteBuff.ChannelReader</span></a></li>
<li type="circle">org.apache.hadoop.hbase.io.<a href="org/apache/hadoop/hbase/io/ByteBuffAllocator.Recycler.html" title="interface in org.apache.hadoop.hbase.io"><span class="typeNameLink">ByteBuffAllocator.Recycler</span></a></li>
<li type="circle">org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/ByteBufferAllocator.html" title="interface in org.apache.hadoop.hbase.util"><span class="typeNameLink">ByteBufferAllocator</span></a></li>
<li type="circle">org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/ByteBufferUtils.ByteVisitor.html" title="interface in org.apache.hadoop.hbase.util"><span class="typeNameLink">ByteBufferUtils.ByteVisitor</span></a></li>
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/Version.html b/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
index 1c801e1..1969fbf 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
@@ -16,9 +16,9 @@
<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 = "693f201f3d474ee216f590e013f9df49dd1503df";<a name="line.11"></a>
+<span class="sourceLineNo">011</span> public static final String revision = "ac8fe1627a7db7e31f54318a3e94da06b30f0760";<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 = "Sun Sep 8 14:34:49 UTC 2019";<a name="line.13"></a>
+<span class="sourceLineNo">013</span> public static final String date = "Mon Sep 9 14:37:26 UTC 2019";<a name="line.13"></a>
<span class="sourceLineNo">014</span> public static final String url = "git://jenkins-websites-he-de.apache.org/home/jenkins/jenkins-slave/workspace/hbase_generate_website/hbase";<a name="line.14"></a>
<span class="sourceLineNo">015</span> public static final String srcChecksum = "(stdin)=";<a name="line.15"></a>
<span class="sourceLineNo">016</span>}<a name="line.16"></a>
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/hbtop/HBTop.html b/devapidocs/src-html/org/apache/hadoop/hbase/hbtop/HBTop.html
index 521d56a..9be721d 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/hbtop/HBTop.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/hbtop/HBTop.html
@@ -92,7 +92,7 @@
<span class="sourceLineNo">084</span> if (delay < 1) {<a name="line.84"></a>
<span class="sourceLineNo">085</span> LOGGER.warn("Delay set too low or invalid, using default");<a name="line.85"></a>
<span class="sourceLineNo">086</span> } else {<a name="line.86"></a>
-<span class="sourceLineNo">087</span> initialRefreshDelay = delay * 1000;<a name="line.87"></a>
+<span class="sourceLineNo">087</span> initialRefreshDelay = delay * 1000L;<a name="line.87"></a>
<span class="sourceLineNo">088</span> }<a name="line.88"></a>
<span class="sourceLineNo">089</span> }<a name="line.89"></a>
<span class="sourceLineNo">090</span><a name="line.90"></a>
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/hbtop/mode/RegionServerModeStrategy.html b/devapidocs/src-html/org/apache/hadoop/hbase/hbtop/mode/RegionServerModeStrategy.html
index 80b0d2d..650263a 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/hbtop/mode/RegionServerModeStrategy.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/hbtop/mode/RegionServerModeStrategy.html
@@ -32,100 +32,99 @@
<span class="sourceLineNo">024</span>import java.util.Map;<a name="line.24"></a>
<span class="sourceLineNo">025</span>import java.util.stream.Collectors;<a name="line.25"></a>
<span class="sourceLineNo">026</span>import java.util.stream.Stream;<a name="line.26"></a>
-<span class="sourceLineNo">027</span><a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.ClusterMetrics;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.ServerMetrics;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.hbtop.Record;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.hbtop.RecordFilter;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.hbtop.field.Field;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.hbtop.field.FieldInfo;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.34"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.ClusterMetrics;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.ServerMetrics;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.hbtop.Record;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.hbtop.RecordFilter;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.hbtop.field.Field;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.hbtop.field.FieldInfo;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.33"></a>
+<span class="sourceLineNo">034</span><a name="line.34"></a>
<span class="sourceLineNo">035</span><a name="line.35"></a>
-<span class="sourceLineNo">036</span><a name="line.36"></a>
-<span class="sourceLineNo">037</span>/**<a name="line.37"></a>
-<span class="sourceLineNo">038</span> * Implementation for {@link ModeStrategy} for RegionServer Mode.<a name="line.38"></a>
-<span class="sourceLineNo">039</span> */<a name="line.39"></a>
-<span class="sourceLineNo">040</span>@InterfaceAudience.Private<a name="line.40"></a>
-<span class="sourceLineNo">041</span>public final class RegionServerModeStrategy implements ModeStrategy {<a name="line.41"></a>
-<span class="sourceLineNo">042</span><a name="line.42"></a>
-<span class="sourceLineNo">043</span> private final List<FieldInfo> fieldInfos = Arrays.asList(<a name="line.43"></a>
-<span class="sourceLineNo">044</span> new FieldInfo(Field.REGION_SERVER, 0, true),<a name="line.44"></a>
-<span class="sourceLineNo">045</span> new FieldInfo(Field.LONG_REGION_SERVER, 0, false),<a name="line.45"></a>
-<span class="sourceLineNo">046</span> new FieldInfo(Field.REGION_COUNT, 7, true),<a name="line.46"></a>
-<span class="sourceLineNo">047</span> new FieldInfo(Field.REQUEST_COUNT_PER_SECOND, 10, true),<a name="line.47"></a>
-<span class="sourceLineNo">048</span> new FieldInfo(Field.READ_REQUEST_COUNT_PER_SECOND, 10, true),<a name="line.48"></a>
-<span class="sourceLineNo">049</span> new FieldInfo(Field.FILTERED_READ_REQUEST_COUNT_PER_SECOND, 8, true),<a name="line.49"></a>
-<span class="sourceLineNo">050</span> new FieldInfo(Field.WRITE_REQUEST_COUNT_PER_SECOND, 10, true),<a name="line.50"></a>
-<span class="sourceLineNo">051</span> new FieldInfo(Field.STORE_FILE_SIZE, 13, true),<a name="line.51"></a>
-<span class="sourceLineNo">052</span> new FieldInfo(Field.UNCOMPRESSED_STORE_FILE_SIZE, 15, false),<a name="line.52"></a>
-<span class="sourceLineNo">053</span> new FieldInfo(Field.NUM_STORE_FILES, 7, true),<a name="line.53"></a>
-<span class="sourceLineNo">054</span> new FieldInfo(Field.MEM_STORE_SIZE, 11, true),<a name="line.54"></a>
-<span class="sourceLineNo">055</span> new FieldInfo(Field.USED_HEAP_SIZE, 11, true),<a name="line.55"></a>
-<span class="sourceLineNo">056</span> new FieldInfo(Field.MAX_HEAP_SIZE, 11, true)<a name="line.56"></a>
-<span class="sourceLineNo">057</span> );<a name="line.57"></a>
-<span class="sourceLineNo">058</span><a name="line.58"></a>
-<span class="sourceLineNo">059</span> private final RegionModeStrategy regionModeStrategy = new RegionModeStrategy();<a name="line.59"></a>
-<span class="sourceLineNo">060</span><a name="line.60"></a>
-<span class="sourceLineNo">061</span> RegionServerModeStrategy(){<a name="line.61"></a>
-<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> @Override<a name="line.64"></a>
-<span class="sourceLineNo">065</span> public List<FieldInfo> getFieldInfos() {<a name="line.65"></a>
-<span class="sourceLineNo">066</span> return fieldInfos;<a name="line.66"></a>
-<span class="sourceLineNo">067</span> }<a name="line.67"></a>
-<span class="sourceLineNo">068</span><a name="line.68"></a>
-<span class="sourceLineNo">069</span> @Override<a name="line.69"></a>
-<span class="sourceLineNo">070</span> public Field getDefaultSortField() {<a name="line.70"></a>
-<span class="sourceLineNo">071</span> return Field.REQUEST_COUNT_PER_SECOND;<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> @Override<a name="line.74"></a>
-<span class="sourceLineNo">075</span> public List<Record> getRecords(ClusterMetrics clusterMetrics) {<a name="line.75"></a>
-<span class="sourceLineNo">076</span> // Get records from RegionModeStrategy and add REGION_COUNT field<a name="line.76"></a>
-<span class="sourceLineNo">077</span> List<Record> records = regionModeStrategy.getRecords(clusterMetrics).stream()<a name="line.77"></a>
-<span class="sourceLineNo">078</span> .map(record -><a name="line.78"></a>
-<span class="sourceLineNo">079</span> Record.ofEntries(fieldInfos.stream()<a name="line.79"></a>
-<span class="sourceLineNo">080</span> .filter(fi -> record.containsKey(fi.getField()))<a name="line.80"></a>
-<span class="sourceLineNo">081</span> .map(fi -> Record.entry(fi.getField(), record.get(fi.getField())))))<a name="line.81"></a>
-<span class="sourceLineNo">082</span> .map(record -> Record.builder().putAll(record).put(Field.REGION_COUNT, 1).build())<a name="line.82"></a>
-<span class="sourceLineNo">083</span> .collect(Collectors.toList());<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span> // Aggregation by LONG_REGION_SERVER field<a name="line.85"></a>
-<span class="sourceLineNo">086</span> Map<String, Record> retMap = records.stream()<a name="line.86"></a>
-<span class="sourceLineNo">087</span> .collect(Collectors.groupingBy(r -> r.get(Field.LONG_REGION_SERVER).asString()))<a name="line.87"></a>
-<span class="sourceLineNo">088</span> .entrySet().stream()<a name="line.88"></a>
-<span class="sourceLineNo">089</span> .flatMap(<a name="line.89"></a>
-<span class="sourceLineNo">090</span> e -> e.getValue().stream()<a name="line.90"></a>
-<span class="sourceLineNo">091</span> .reduce(Record::combine)<a name="line.91"></a>
-<span class="sourceLineNo">092</span> .map(Stream::of)<a name="line.92"></a>
-<span class="sourceLineNo">093</span> .orElse(Stream.empty()))<a name="line.93"></a>
-<span class="sourceLineNo">094</span> .collect(Collectors.toMap(r -> r.get(Field.LONG_REGION_SERVER).asString(), r -> r));<a name="line.94"></a>
-<span class="sourceLineNo">095</span><a name="line.95"></a>
-<span class="sourceLineNo">096</span> // Add USED_HEAP_SIZE field and MAX_HEAP_SIZE field<a name="line.96"></a>
-<span class="sourceLineNo">097</span> for (ServerMetrics sm : clusterMetrics.getLiveServerMetrics().values()) {<a name="line.97"></a>
-<span class="sourceLineNo">098</span> Record record = retMap.get(sm.getServerName().getServerName());<a name="line.98"></a>
-<span class="sourceLineNo">099</span> if (record == null) {<a name="line.99"></a>
-<span class="sourceLineNo">100</span> continue;<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> Record newRecord = Record.builder().putAll(record)<a name="line.103"></a>
-<span class="sourceLineNo">104</span> .put(Field.USED_HEAP_SIZE, sm.getUsedHeapSize())<a name="line.104"></a>
-<span class="sourceLineNo">105</span> .put(Field.MAX_HEAP_SIZE, sm.getMaxHeapSize()).build();<a name="line.105"></a>
-<span class="sourceLineNo">106</span><a name="line.106"></a>
-<span class="sourceLineNo">107</span> retMap.put(sm.getServerName().getServerName(), newRecord);<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> return new ArrayList<>(retMap.values());<a name="line.110"></a>
-<span class="sourceLineNo">111</span> }<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span> @Override<a name="line.113"></a>
-<span class="sourceLineNo">114</span> public DrillDownInfo drillDown(Record selectedRecord) {<a name="line.114"></a>
-<span class="sourceLineNo">115</span> List<RecordFilter> initialFilters = Collections.singletonList(RecordFilter<a name="line.115"></a>
-<span class="sourceLineNo">116</span> .newBuilder(Field.REGION_SERVER)<a name="line.116"></a>
-<span class="sourceLineNo">117</span> .doubleEquals(selectedRecord.get(Field.REGION_SERVER)));<a name="line.117"></a>
-<span class="sourceLineNo">118</span> return new DrillDownInfo(Mode.REGION, initialFilters);<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">036</span>/**<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * Implementation for {@link ModeStrategy} for RegionServer Mode.<a name="line.37"></a>
+<span class="sourceLineNo">038</span> */<a name="line.38"></a>
+<span class="sourceLineNo">039</span>@InterfaceAudience.Private<a name="line.39"></a>
+<span class="sourceLineNo">040</span>public final class RegionServerModeStrategy implements ModeStrategy {<a name="line.40"></a>
+<span class="sourceLineNo">041</span><a name="line.41"></a>
+<span class="sourceLineNo">042</span> private final List<FieldInfo> fieldInfos = Arrays.asList(<a name="line.42"></a>
+<span class="sourceLineNo">043</span> new FieldInfo(Field.REGION_SERVER, 0, true),<a name="line.43"></a>
+<span class="sourceLineNo">044</span> new FieldInfo(Field.LONG_REGION_SERVER, 0, false),<a name="line.44"></a>
+<span class="sourceLineNo">045</span> new FieldInfo(Field.REGION_COUNT, 7, true),<a name="line.45"></a>
+<span class="sourceLineNo">046</span> new FieldInfo(Field.REQUEST_COUNT_PER_SECOND, 10, true),<a name="line.46"></a>
+<span class="sourceLineNo">047</span> new FieldInfo(Field.READ_REQUEST_COUNT_PER_SECOND, 10, true),<a name="line.47"></a>
+<span class="sourceLineNo">048</span> new FieldInfo(Field.FILTERED_READ_REQUEST_COUNT_PER_SECOND, 8, true),<a name="line.48"></a>
+<span class="sourceLineNo">049</span> new FieldInfo(Field.WRITE_REQUEST_COUNT_PER_SECOND, 10, true),<a name="line.49"></a>
+<span class="sourceLineNo">050</span> new FieldInfo(Field.STORE_FILE_SIZE, 13, true),<a name="line.50"></a>
+<span class="sourceLineNo">051</span> new FieldInfo(Field.UNCOMPRESSED_STORE_FILE_SIZE, 15, false),<a name="line.51"></a>
+<span class="sourceLineNo">052</span> new FieldInfo(Field.NUM_STORE_FILES, 7, true),<a name="line.52"></a>
+<span class="sourceLineNo">053</span> new FieldInfo(Field.MEM_STORE_SIZE, 11, true),<a name="line.53"></a>
+<span class="sourceLineNo">054</span> new FieldInfo(Field.USED_HEAP_SIZE, 11, true),<a name="line.54"></a>
+<span class="sourceLineNo">055</span> new FieldInfo(Field.MAX_HEAP_SIZE, 11, true)<a name="line.55"></a>
+<span class="sourceLineNo">056</span> );<a name="line.56"></a>
+<span class="sourceLineNo">057</span><a name="line.57"></a>
+<span class="sourceLineNo">058</span> private final RegionModeStrategy regionModeStrategy = new RegionModeStrategy();<a name="line.58"></a>
+<span class="sourceLineNo">059</span><a name="line.59"></a>
+<span class="sourceLineNo">060</span> RegionServerModeStrategy(){<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<a name="line.63"></a>
+<span class="sourceLineNo">064</span> public List<FieldInfo> getFieldInfos() {<a name="line.64"></a>
+<span class="sourceLineNo">065</span> return fieldInfos;<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> @Override<a name="line.68"></a>
+<span class="sourceLineNo">069</span> public Field getDefaultSortField() {<a name="line.69"></a>
+<span class="sourceLineNo">070</span> return Field.REQUEST_COUNT_PER_SECOND;<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> @Override<a name="line.73"></a>
+<span class="sourceLineNo">074</span> public List<Record> getRecords(ClusterMetrics clusterMetrics) {<a name="line.74"></a>
+<span class="sourceLineNo">075</span> // Get records from RegionModeStrategy and add REGION_COUNT field<a name="line.75"></a>
+<span class="sourceLineNo">076</span> List<Record> records = regionModeStrategy.getRecords(clusterMetrics).stream()<a name="line.76"></a>
+<span class="sourceLineNo">077</span> .map(record -><a name="line.77"></a>
+<span class="sourceLineNo">078</span> Record.ofEntries(fieldInfos.stream()<a name="line.78"></a>
+<span class="sourceLineNo">079</span> .filter(fi -> record.containsKey(fi.getField()))<a name="line.79"></a>
+<span class="sourceLineNo">080</span> .map(fi -> Record.entry(fi.getField(), record.get(fi.getField())))))<a name="line.80"></a>
+<span class="sourceLineNo">081</span> .map(record -> Record.builder().putAll(record).put(Field.REGION_COUNT, 1).build())<a name="line.81"></a>
+<span class="sourceLineNo">082</span> .collect(Collectors.toList());<a name="line.82"></a>
+<span class="sourceLineNo">083</span><a name="line.83"></a>
+<span class="sourceLineNo">084</span> // Aggregation by LONG_REGION_SERVER field<a name="line.84"></a>
+<span class="sourceLineNo">085</span> Map<String, Record> retMap = records.stream()<a name="line.85"></a>
+<span class="sourceLineNo">086</span> .collect(Collectors.groupingBy(r -> r.get(Field.LONG_REGION_SERVER).asString()))<a name="line.86"></a>
+<span class="sourceLineNo">087</span> .entrySet().stream()<a name="line.87"></a>
+<span class="sourceLineNo">088</span> .flatMap(<a name="line.88"></a>
+<span class="sourceLineNo">089</span> e -> e.getValue().stream()<a name="line.89"></a>
+<span class="sourceLineNo">090</span> .reduce(Record::combine)<a name="line.90"></a>
+<span class="sourceLineNo">091</span> .map(Stream::of)<a name="line.91"></a>
+<span class="sourceLineNo">092</span> .orElse(Stream.empty()))<a name="line.92"></a>
+<span class="sourceLineNo">093</span> .collect(Collectors.toMap(r -> r.get(Field.LONG_REGION_SERVER).asString(), r -> r));<a name="line.93"></a>
+<span class="sourceLineNo">094</span><a name="line.94"></a>
+<span class="sourceLineNo">095</span> // Add USED_HEAP_SIZE field and MAX_HEAP_SIZE field<a name="line.95"></a>
+<span class="sourceLineNo">096</span> for (ServerMetrics sm : clusterMetrics.getLiveServerMetrics().values()) {<a name="line.96"></a>
+<span class="sourceLineNo">097</span> Record record = retMap.get(sm.getServerName().getServerName());<a name="line.97"></a>
+<span class="sourceLineNo">098</span> if (record == null) {<a name="line.98"></a>
+<span class="sourceLineNo">099</span> continue;<a name="line.99"></a>
+<span class="sourceLineNo">100</span> }<a name="line.100"></a>
+<span class="sourceLineNo">101</span><a name="line.101"></a>
+<span class="sourceLineNo">102</span> Record newRecord = Record.builder().putAll(record)<a name="line.102"></a>
+<span class="sourceLineNo">103</span> .put(Field.USED_HEAP_SIZE, sm.getUsedHeapSize())<a name="line.103"></a>
+<span class="sourceLineNo">104</span> .put(Field.MAX_HEAP_SIZE, sm.getMaxHeapSize()).build();<a name="line.104"></a>
+<span class="sourceLineNo">105</span><a name="line.105"></a>
+<span class="sourceLineNo">106</span> retMap.put(sm.getServerName().getServerName(), newRecord);<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> return new ArrayList<>(retMap.values());<a name="line.109"></a>
+<span class="sourceLineNo">110</span> }<a name="line.110"></a>
+<span class="sourceLineNo">111</span><a name="line.111"></a>
+<span class="sourceLineNo">112</span> @Override<a name="line.112"></a>
+<span class="sourceLineNo">113</span> public DrillDownInfo drillDown(Record selectedRecord) {<a name="line.113"></a>
+<span class="sourceLineNo">114</span> List<RecordFilter> initialFilters = Collections.singletonList(RecordFilter<a name="line.114"></a>
+<span class="sourceLineNo">115</span> .newBuilder(Field.REGION_SERVER)<a name="line.115"></a>
+<span class="sourceLineNo">116</span> .doubleEquals(selectedRecord.get(Field.REGION_SERVER)));<a name="line.116"></a>
+<span class="sourceLineNo">117</span> return new DrillDownInfo(Mode.REGION, initialFilters);<a name="line.117"></a>
+<span class="sourceLineNo">118</span> }<a name="line.118"></a>
+<span class="sourceLineNo">119</span>}<a name="line.119"></a>
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/hbtop/mode/TableModeStrategy.html b/devapidocs/src-html/org/apache/hadoop/hbase/hbtop/mode/TableModeStrategy.html
index 97e5ea0..3b18edd 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/hbtop/mode/TableModeStrategy.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/hbtop/mode/TableModeStrategy.html
@@ -29,86 +29,85 @@
<span class="sourceLineNo">021</span>import java.util.List;<a name="line.21"></a>
<span class="sourceLineNo">022</span>import java.util.stream.Collectors;<a name="line.22"></a>
<span class="sourceLineNo">023</span>import java.util.stream.Stream;<a name="line.23"></a>
-<span class="sourceLineNo">024</span><a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.ClusterMetrics;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.TableName;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.hbtop.Record;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.hbtop.RecordFilter;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.hbtop.field.Field;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.hbtop.field.FieldInfo;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.31"></a>
+<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.ClusterMetrics;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.TableName;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.hbtop.Record;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.hbtop.RecordFilter;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.hbtop.field.Field;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.hbtop.field.FieldInfo;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.30"></a>
+<span class="sourceLineNo">031</span><a name="line.31"></a>
<span class="sourceLineNo">032</span><a name="line.32"></a>
-<span class="sourceLineNo">033</span><a name="line.33"></a>
-<span class="sourceLineNo">034</span>/**<a name="line.34"></a>
-<span class="sourceLineNo">035</span> * Implementation for {@link ModeStrategy} for Table Mode.<a name="line.35"></a>
-<span class="sourceLineNo">036</span> */<a name="line.36"></a>
-<span class="sourceLineNo">037</span>@InterfaceAudience.Private<a name="line.37"></a>
-<span class="sourceLineNo">038</span>public final class TableModeStrategy implements ModeStrategy {<a name="line.38"></a>
-<span class="sourceLineNo">039</span><a name="line.39"></a>
-<span class="sourceLineNo">040</span> private final List<FieldInfo> fieldInfos = Arrays.asList(<a name="line.40"></a>
-<span class="sourceLineNo">041</span> new FieldInfo(Field.NAMESPACE, 0, true),<a name="line.41"></a>
-<span class="sourceLineNo">042</span> new FieldInfo(Field.TABLE, 0, true),<a name="line.42"></a>
-<span class="sourceLineNo">043</span> new FieldInfo(Field.REGION_COUNT, 7, true),<a name="line.43"></a>
-<span class="sourceLineNo">044</span> new FieldInfo(Field.REQUEST_COUNT_PER_SECOND, 10, true),<a name="line.44"></a>
-<span class="sourceLineNo">045</span> new FieldInfo(Field.READ_REQUEST_COUNT_PER_SECOND, 10, true),<a name="line.45"></a>
-<span class="sourceLineNo">046</span> new FieldInfo(Field.FILTERED_READ_REQUEST_COUNT_PER_SECOND, 8, true),<a name="line.46"></a>
-<span class="sourceLineNo">047</span> new FieldInfo(Field.WRITE_REQUEST_COUNT_PER_SECOND, 10, true),<a name="line.47"></a>
-<span class="sourceLineNo">048</span> new FieldInfo(Field.STORE_FILE_SIZE, 13, true),<a name="line.48"></a>
-<span class="sourceLineNo">049</span> new FieldInfo(Field.UNCOMPRESSED_STORE_FILE_SIZE, 15, false),<a name="line.49"></a>
-<span class="sourceLineNo">050</span> new FieldInfo(Field.NUM_STORE_FILES, 7, true),<a name="line.50"></a>
-<span class="sourceLineNo">051</span> new FieldInfo(Field.MEM_STORE_SIZE, 11, true)<a name="line.51"></a>
-<span class="sourceLineNo">052</span> );<a name="line.52"></a>
-<span class="sourceLineNo">053</span><a name="line.53"></a>
-<span class="sourceLineNo">054</span> private final RegionModeStrategy regionModeStrategy = new RegionModeStrategy();<a name="line.54"></a>
-<span class="sourceLineNo">055</span><a name="line.55"></a>
-<span class="sourceLineNo">056</span> TableModeStrategy() {<a name="line.56"></a>
-<span class="sourceLineNo">057</span> }<a name="line.57"></a>
-<span class="sourceLineNo">058</span><a name="line.58"></a>
-<span class="sourceLineNo">059</span> @Override<a name="line.59"></a>
-<span class="sourceLineNo">060</span> public List<FieldInfo> getFieldInfos() {<a name="line.60"></a>
-<span class="sourceLineNo">061</span> return fieldInfos;<a name="line.61"></a>
-<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> @Override<a name="line.64"></a>
-<span class="sourceLineNo">065</span> public Field getDefaultSortField() {<a name="line.65"></a>
-<span class="sourceLineNo">066</span> return Field.REQUEST_COUNT_PER_SECOND;<a name="line.66"></a>
-<span class="sourceLineNo">067</span> }<a name="line.67"></a>
-<span class="sourceLineNo">068</span><a name="line.68"></a>
-<span class="sourceLineNo">069</span> @Override<a name="line.69"></a>
-<span class="sourceLineNo">070</span> public List<Record> getRecords(ClusterMetrics clusterMetrics) {<a name="line.70"></a>
-<span class="sourceLineNo">071</span> // Get records from RegionModeStrategy and add REGION_COUNT field<a name="line.71"></a>
-<span class="sourceLineNo">072</span> List<Record> records = regionModeStrategy.getRecords(clusterMetrics).stream()<a name="line.72"></a>
-<span class="sourceLineNo">073</span> .map(record -><a name="line.73"></a>
-<span class="sourceLineNo">074</span> Record.ofEntries(fieldInfos.stream()<a name="line.74"></a>
-<span class="sourceLineNo">075</span> .filter(fi -> record.containsKey(fi.getField()))<a name="line.75"></a>
-<span class="sourceLineNo">076</span> .map(fi -> Record.entry(fi.getField(), record.get(fi.getField())))))<a name="line.76"></a>
-<span class="sourceLineNo">077</span> .map(record -> Record.builder().putAll(record).put(Field.REGION_COUNT, 1).build())<a name="line.77"></a>
-<span class="sourceLineNo">078</span> .collect(Collectors.toList());<a name="line.78"></a>
-<span class="sourceLineNo">079</span><a name="line.79"></a>
-<span class="sourceLineNo">080</span> // Aggregation by NAMESPACE field and TABLE field<a name="line.80"></a>
-<span class="sourceLineNo">081</span> return records.stream()<a name="line.81"></a>
-<span class="sourceLineNo">082</span> .collect(Collectors.groupingBy(r -> {<a name="line.82"></a>
-<span class="sourceLineNo">083</span> String namespace = r.get(Field.NAMESPACE).asString();<a name="line.83"></a>
-<span class="sourceLineNo">084</span> String table = r.get(Field.TABLE).asString();<a name="line.84"></a>
-<span class="sourceLineNo">085</span> return TableName.valueOf(namespace, table);<a name="line.85"></a>
-<span class="sourceLineNo">086</span> }))<a name="line.86"></a>
-<span class="sourceLineNo">087</span> .entrySet().stream()<a name="line.87"></a>
-<span class="sourceLineNo">088</span> .flatMap(<a name="line.88"></a>
-<span class="sourceLineNo">089</span> e -> e.getValue().stream()<a name="line.89"></a>
-<span class="sourceLineNo">090</span> .reduce(Record::combine)<a name="line.90"></a>
-<span class="sourceLineNo">091</span> .map(Stream::of)<a name="line.91"></a>
-<span class="sourceLineNo">092</span> .orElse(Stream.empty()))<a name="line.92"></a>
-<span class="sourceLineNo">093</span> .collect(Collectors.toList());<a name="line.93"></a>
-<span class="sourceLineNo">094</span> }<a name="line.94"></a>
-<span class="sourceLineNo">095</span><a name="line.95"></a>
-<span class="sourceLineNo">096</span> @Override<a name="line.96"></a>
-<span class="sourceLineNo">097</span> public DrillDownInfo drillDown(Record selectedRecord) {<a name="line.97"></a>
-<span class="sourceLineNo">098</span> List<RecordFilter> initialFilters = Arrays.asList(<a name="line.98"></a>
-<span class="sourceLineNo">099</span> RecordFilter.newBuilder(Field.NAMESPACE).doubleEquals(selectedRecord.get(Field.NAMESPACE)),<a name="line.99"></a>
-<span class="sourceLineNo">100</span> RecordFilter.newBuilder(Field.TABLE).doubleEquals(selectedRecord.get(Field.TABLE)));<a name="line.100"></a>
-<span class="sourceLineNo">101</span> return new DrillDownInfo(Mode.REGION, initialFilters);<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">033</span>/**<a name="line.33"></a>
+<span class="sourceLineNo">034</span> * Implementation for {@link ModeStrategy} for Table Mode.<a name="line.34"></a>
+<span class="sourceLineNo">035</span> */<a name="line.35"></a>
+<span class="sourceLineNo">036</span>@InterfaceAudience.Private<a name="line.36"></a>
+<span class="sourceLineNo">037</span>public final class TableModeStrategy implements ModeStrategy {<a name="line.37"></a>
+<span class="sourceLineNo">038</span><a name="line.38"></a>
+<span class="sourceLineNo">039</span> private final List<FieldInfo> fieldInfos = Arrays.asList(<a name="line.39"></a>
+<span class="sourceLineNo">040</span> new FieldInfo(Field.NAMESPACE, 0, true),<a name="line.40"></a>
+<span class="sourceLineNo">041</span> new FieldInfo(Field.TABLE, 0, true),<a name="line.41"></a>
+<span class="sourceLineNo">042</span> new FieldInfo(Field.REGION_COUNT, 7, true),<a name="line.42"></a>
+<span class="sourceLineNo">043</span> new FieldInfo(Field.REQUEST_COUNT_PER_SECOND, 10, true),<a name="line.43"></a>
+<span class="sourceLineNo">044</span> new FieldInfo(Field.READ_REQUEST_COUNT_PER_SECOND, 10, true),<a name="line.44"></a>
+<span class="sourceLineNo">045</span> new FieldInfo(Field.FILTERED_READ_REQUEST_COUNT_PER_SECOND, 8, true),<a name="line.45"></a>
+<span class="sourceLineNo">046</span> new FieldInfo(Field.WRITE_REQUEST_COUNT_PER_SECOND, 10, true),<a name="line.46"></a>
+<span class="sourceLineNo">047</span> new FieldInfo(Field.STORE_FILE_SIZE, 13, true),<a name="line.47"></a>
+<span class="sourceLineNo">048</span> new FieldInfo(Field.UNCOMPRESSED_STORE_FILE_SIZE, 15, false),<a name="line.48"></a>
+<span class="sourceLineNo">049</span> new FieldInfo(Field.NUM_STORE_FILES, 7, true),<a name="line.49"></a>
+<span class="sourceLineNo">050</span> new FieldInfo(Field.MEM_STORE_SIZE, 11, true)<a name="line.50"></a>
+<span class="sourceLineNo">051</span> );<a name="line.51"></a>
+<span class="sourceLineNo">052</span><a name="line.52"></a>
+<span class="sourceLineNo">053</span> private final RegionModeStrategy regionModeStrategy = new RegionModeStrategy();<a name="line.53"></a>
+<span class="sourceLineNo">054</span><a name="line.54"></a>
+<span class="sourceLineNo">055</span> TableModeStrategy() {<a name="line.55"></a>
+<span class="sourceLineNo">056</span> }<a name="line.56"></a>
+<span class="sourceLineNo">057</span><a name="line.57"></a>
+<span class="sourceLineNo">058</span> @Override<a name="line.58"></a>
+<span class="sourceLineNo">059</span> public List<FieldInfo> getFieldInfos() {<a name="line.59"></a>
+<span class="sourceLineNo">060</span> return fieldInfos;<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<a name="line.63"></a>
+<span class="sourceLineNo">064</span> public Field getDefaultSortField() {<a name="line.64"></a>
+<span class="sourceLineNo">065</span> return Field.REQUEST_COUNT_PER_SECOND;<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> @Override<a name="line.68"></a>
+<span class="sourceLineNo">069</span> public List<Record> getRecords(ClusterMetrics clusterMetrics) {<a name="line.69"></a>
+<span class="sourceLineNo">070</span> // Get records from RegionModeStrategy and add REGION_COUNT field<a name="line.70"></a>
+<span class="sourceLineNo">071</span> List<Record> records = regionModeStrategy.getRecords(clusterMetrics).stream()<a name="line.71"></a>
+<span class="sourceLineNo">072</span> .map(record -><a name="line.72"></a>
+<span class="sourceLineNo">073</span> Record.ofEntries(fieldInfos.stream()<a name="line.73"></a>
+<span class="sourceLineNo">074</span> .filter(fi -> record.containsKey(fi.getField()))<a name="line.74"></a>
+<span class="sourceLineNo">075</span> .map(fi -> Record.entry(fi.getField(), record.get(fi.getField())))))<a name="line.75"></a>
+<span class="sourceLineNo">076</span> .map(record -> Record.builder().putAll(record).put(Field.REGION_COUNT, 1).build())<a name="line.76"></a>
+<span class="sourceLineNo">077</span> .collect(Collectors.toList());<a name="line.77"></a>
+<span class="sourceLineNo">078</span><a name="line.78"></a>
+<span class="sourceLineNo">079</span> // Aggregation by NAMESPACE field and TABLE field<a name="line.79"></a>
+<span class="sourceLineNo">080</span> return records.stream()<a name="line.80"></a>
+<span class="sourceLineNo">081</span> .collect(Collectors.groupingBy(r -> {<a name="line.81"></a>
+<span class="sourceLineNo">082</span> String namespace = r.get(Field.NAMESPACE).asString();<a name="line.82"></a>
+<span class="sourceLineNo">083</span> String table = r.get(Field.TABLE).asString();<a name="line.83"></a>
+<span class="sourceLineNo">084</span> return TableName.valueOf(namespace, table);<a name="line.84"></a>
+<span class="sourceLineNo">085</span> }))<a name="line.85"></a>
+<span class="sourceLineNo">086</span> .entrySet().stream()<a name="line.86"></a>
+<span class="sourceLineNo">087</span> .flatMap(<a name="line.87"></a>
+<span class="sourceLineNo">088</span> e -> e.getValue().stream()<a name="line.88"></a>
+<span class="sourceLineNo">089</span> .reduce(Record::combine)<a name="line.89"></a>
+<span class="sourceLineNo">090</span> .map(Stream::of)<a name="line.90"></a>
+<span class="sourceLineNo">091</span> .orElse(Stream.empty()))<a name="line.91"></a>
+<span class="sourceLineNo">092</span> .collect(Collectors.toList());<a name="line.92"></a>
+<span class="sourceLineNo">093</span> }<a name="line.93"></a>
+<span class="sourceLineNo">094</span><a name="line.94"></a>
+<span class="sourceLineNo">095</span> @Override<a name="line.95"></a>
+<span class="sourceLineNo">096</span> public DrillDownInfo drillDown(Record selectedRecord) {<a name="line.96"></a>
+<span class="sourceLineNo">097</span> List<RecordFilter> initialFilters = Arrays.asList(<a name="line.97"></a>
+<span class="sourceLineNo">098</span> RecordFilter.newBuilder(Field.NAMESPACE).doubleEquals(selectedRecord.get(Field.NAMESPACE)),<a name="line.98"></a>
+<span class="sourceLineNo">099</span> RecordFilter.newBuilder(Field.TABLE).doubleEquals(selectedRecord.get(Field.TABLE)));<a name="line.99"></a>
+<span class="sourceLineNo">100</span> return new DrillDownInfo(Mode.REGION, initialFilters);<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>
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/hbtop/screen/field/FieldScreenView.html b/devapidocs/src-html/org/apache/hadoop/hbase/hbtop/screen/field/FieldScreenView.html
index 9b45375..33d74e6 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/hbtop/screen/field/FieldScreenView.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/hbtop/screen/field/FieldScreenView.html
@@ -93,104 +93,112 @@
<span class="sourceLineNo">085</span> case Enter:<a name="line.85"></a>
<span class="sourceLineNo">086</span> fieldScreenPresenter.turnOffMoveMode();<a name="line.86"></a>
<span class="sourceLineNo">087</span> return this;<a name="line.87"></a>
-<span class="sourceLineNo">088</span> }<a name="line.88"></a>
-<span class="sourceLineNo">089</span><a name="line.89"></a>
-<span class="sourceLineNo">090</span> if (keyPress.getType() != KeyPress.Type.Character) {<a name="line.90"></a>
-<span class="sourceLineNo">091</span> return this;<a name="line.91"></a>
+<span class="sourceLineNo">088</span><a name="line.88"></a>
+<span class="sourceLineNo">089</span> default:<a name="line.89"></a>
+<span class="sourceLineNo">090</span> // Do nothing<a name="line.90"></a>
+<span class="sourceLineNo">091</span> break;<a name="line.91"></a>
<span class="sourceLineNo">092</span> }<a name="line.92"></a>
<span class="sourceLineNo">093</span><a name="line.93"></a>
-<span class="sourceLineNo">094</span> assert keyPress.getCharacter() != null;<a name="line.94"></a>
-<span class="sourceLineNo">095</span> switch (keyPress.getCharacter()) {<a name="line.95"></a>
-<span class="sourceLineNo">096</span> case 'd':<a name="line.96"></a>
-<span class="sourceLineNo">097</span> case ' ':<a name="line.97"></a>
-<span class="sourceLineNo">098</span> fieldScreenPresenter.switchFieldDisplay();<a name="line.98"></a>
-<span class="sourceLineNo">099</span> break;<a name="line.99"></a>
-<span class="sourceLineNo">100</span><a name="line.100"></a>
-<span class="sourceLineNo">101</span> case 's':<a name="line.101"></a>
-<span class="sourceLineNo">102</span> fieldScreenPresenter.setSortField();<a name="line.102"></a>
+<span class="sourceLineNo">094</span> if (keyPress.getType() != KeyPress.Type.Character) {<a name="line.94"></a>
+<span class="sourceLineNo">095</span> return this;<a name="line.95"></a>
+<span class="sourceLineNo">096</span> }<a name="line.96"></a>
+<span class="sourceLineNo">097</span><a name="line.97"></a>
+<span class="sourceLineNo">098</span> assert keyPress.getCharacter() != null;<a name="line.98"></a>
+<span class="sourceLineNo">099</span> switch (keyPress.getCharacter()) {<a name="line.99"></a>
+<span class="sourceLineNo">100</span> case 'd':<a name="line.100"></a>
+<span class="sourceLineNo">101</span> case ' ':<a name="line.101"></a>
+<span class="sourceLineNo">102</span> fieldScreenPresenter.switchFieldDisplay();<a name="line.102"></a>
<span class="sourceLineNo">103</span> break;<a name="line.103"></a>
<span class="sourceLineNo">104</span><a name="line.104"></a>
-<span class="sourceLineNo">105</span> case 'q':<a name="line.105"></a>
-<span class="sourceLineNo">106</span> return fieldScreenPresenter.transitionToNextScreen();<a name="line.106"></a>
-<span class="sourceLineNo">107</span> }<a name="line.107"></a>
+<span class="sourceLineNo">105</span> case 's':<a name="line.105"></a>
+<span class="sourceLineNo">106</span> fieldScreenPresenter.setSortField();<a name="line.106"></a>
+<span class="sourceLineNo">107</span> break;<a name="line.107"></a>
<span class="sourceLineNo">108</span><a name="line.108"></a>
-<span class="sourceLineNo">109</span> return this;<a name="line.109"></a>
-<span class="sourceLineNo">110</span> }<a name="line.110"></a>
+<span class="sourceLineNo">109</span> case 'q':<a name="line.109"></a>
+<span class="sourceLineNo">110</span> return fieldScreenPresenter.transitionToNextScreen();<a name="line.110"></a>
<span class="sourceLineNo">111</span><a name="line.111"></a>
-<span class="sourceLineNo">112</span> public void showFieldScreen(String sortFieldHeader, List<Field> fields,<a name="line.112"></a>
-<span class="sourceLineNo">113</span> EnumMap<Field, Boolean> fieldDisplayMap, int currentPosition, int headerMaxLength,<a name="line.113"></a>
-<span class="sourceLineNo">114</span> int descriptionMaxLength, boolean moveMode) {<a name="line.114"></a>
-<span class="sourceLineNo">115</span> showScreenDescription(sortFieldHeader);<a name="line.115"></a>
+<span class="sourceLineNo">112</span> default:<a name="line.112"></a>
+<span class="sourceLineNo">113</span> // Do nothing<a name="line.113"></a>
+<span class="sourceLineNo">114</span> break;<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> for (int i = 0; i < fields.size(); i ++) {<a name="line.117"></a>
-<span class="sourceLineNo">118</span> Field field = fields.get(i);<a name="line.118"></a>
-<span class="sourceLineNo">119</span> showField(i, field, fieldDisplayMap.get(field), i == currentPosition, headerMaxLength,<a name="line.119"></a>
-<span class="sourceLineNo">120</span> descriptionMaxLength, moveMode);<a name="line.120"></a>
-<span class="sourceLineNo">121</span> }<a name="line.121"></a>
-<span class="sourceLineNo">122</span> }<a name="line.122"></a>
-<span class="sourceLineNo">123</span><a name="line.123"></a>
-<span class="sourceLineNo">124</span> public void showScreenDescription(String sortKeyHeader) {<a name="line.124"></a>
-<span class="sourceLineNo">125</span> TerminalPrinter printer = getTerminalPrinter(SCREEN_DESCRIPTION_START_ROW);<a name="line.125"></a>
-<span class="sourceLineNo">126</span> printer.startBold().print("Fields Management").stopBold().endOfLine();<a name="line.126"></a>
-<span class="sourceLineNo">127</span> printer.print("Current Sort Field: ").startBold().print(sortKeyHeader).stopBold().endOfLine();<a name="line.127"></a>
-<span class="sourceLineNo">128</span> printer.print("Navigate with up/down, Right selects for move then <Enter> or Left commits,")<a name="line.128"></a>
-<span class="sourceLineNo">129</span> .endOfLine();<a name="line.129"></a>
-<span class="sourceLineNo">130</span> printer.print("'d' or <Space> toggles display, 's' sets sort. Use 'q' or <Esc> to end!")<a name="line.130"></a>
-<span class="sourceLineNo">131</span> .endOfLine();<a name="line.131"></a>
-<span class="sourceLineNo">132</span> }<a name="line.132"></a>
-<span class="sourceLineNo">133</span><a name="line.133"></a>
-<span class="sourceLineNo">134</span> public void showField(int pos, Field field, boolean display, boolean selected,<a name="line.134"></a>
-<span class="sourceLineNo">135</span> int fieldHeaderMaxLength, int fieldDescriptionMaxLength, boolean moveMode) {<a name="line.135"></a>
-<span class="sourceLineNo">136</span><a name="line.136"></a>
-<span class="sourceLineNo">137</span> String fieldHeader = String.format("%-" + fieldHeaderMaxLength + "s", field.getHeader());<a name="line.137"></a>
-<span class="sourceLineNo">138</span> String fieldDescription = String.format("%-" + fieldDescriptionMaxLength + "s",<a name="line.138"></a>
-<span class="sourceLineNo">139</span> field.getDescription());<a name="line.139"></a>
-<span class="sourceLineNo">140</span><a name="line.140"></a>
-<span class="sourceLineNo">141</span> int row = FIELD_START_ROW + pos;<a name="line.141"></a>
-<span class="sourceLineNo">142</span> TerminalPrinter printer = getTerminalPrinter(row);<a name="line.142"></a>
-<span class="sourceLineNo">143</span> if (selected) {<a name="line.143"></a>
-<span class="sourceLineNo">144</span> String prefix = display ? "* " : " ";<a name="line.144"></a>
-<span class="sourceLineNo">145</span> if (moveMode) {<a name="line.145"></a>
-<span class="sourceLineNo">146</span> printer.print(prefix);<a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span> if (display) {<a name="line.148"></a>
-<span class="sourceLineNo">149</span> printer.startBold();<a name="line.149"></a>
-<span class="sourceLineNo">150</span> }<a name="line.150"></a>
-<span class="sourceLineNo">151</span><a name="line.151"></a>
-<span class="sourceLineNo">152</span> printer.startHighlight()<a name="line.152"></a>
-<span class="sourceLineNo">153</span> .printFormat("%s = %s", fieldHeader, fieldDescription).stopHighlight();<a name="line.153"></a>
-<span class="sourceLineNo">154</span><a name="line.154"></a>
-<span class="sourceLineNo">155</span> if (display) {<a name="line.155"></a>
-<span class="sourceLineNo">156</span> printer.stopBold();<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> printer.endOfLine();<a name="line.159"></a>
-<span class="sourceLineNo">160</span> } else {<a name="line.160"></a>
-<span class="sourceLineNo">161</span> printer.print(prefix);<a name="line.161"></a>
+<span class="sourceLineNo">117</span> return this;<a name="line.117"></a>
+<span class="sourceLineNo">118</span> }<a name="line.118"></a>
+<span class="sourceLineNo">119</span><a name="line.119"></a>
+<span class="sourceLineNo">120</span> public void showFieldScreen(String sortFieldHeader, List<Field> fields,<a name="line.120"></a>
+<span class="sourceLineNo">121</span> EnumMap<Field, Boolean> fieldDisplayMap, int currentPosition, int headerMaxLength,<a name="line.121"></a>
+<span class="sourceLineNo">122</span> int descriptionMaxLength, boolean moveMode) {<a name="line.122"></a>
+<span class="sourceLineNo">123</span> showScreenDescription(sortFieldHeader);<a name="line.123"></a>
+<span class="sourceLineNo">124</span><a name="line.124"></a>
+<span class="sourceLineNo">125</span> for (int i = 0; i < fields.size(); i ++) {<a name="line.125"></a>
+<span class="sourceLineNo">126</span> Field field = fields.get(i);<a name="line.126"></a>
+<span class="sourceLineNo">127</span> showField(i, field, fieldDisplayMap.get(field), i == currentPosition, headerMaxLength,<a name="line.127"></a>
+<span class="sourceLineNo">128</span> descriptionMaxLength, moveMode);<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><a name="line.131"></a>
+<span class="sourceLineNo">132</span> public void showScreenDescription(String sortKeyHeader) {<a name="line.132"></a>
+<span class="sourceLineNo">133</span> TerminalPrinter printer = getTerminalPrinter(SCREEN_DESCRIPTION_START_ROW);<a name="line.133"></a>
+<span class="sourceLineNo">134</span> printer.startBold().print("Fields Management").stopBold().endOfLine();<a name="line.134"></a>
+<span class="sourceLineNo">135</span> printer.print("Current Sort Field: ").startBold().print(sortKeyHeader).stopBold().endOfLine();<a name="line.135"></a>
+<span class="sourceLineNo">136</span> printer.print("Navigate with up/down, Right selects for move then <Enter> or Left commits,")<a name="line.136"></a>
+<span class="sourceLineNo">137</span> .endOfLine();<a name="line.137"></a>
+<span class="sourceLineNo">138</span> printer.print("'d' or <Space> toggles display, 's' sets sort. Use 'q' or <Esc> to end!")<a name="line.138"></a>
+<span class="sourceLineNo">139</span> .endOfLine();<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> public void showField(int pos, Field field, boolean display, boolean selected,<a name="line.142"></a>
+<span class="sourceLineNo">143</span> int fieldHeaderMaxLength, int fieldDescriptionMaxLength, boolean moveMode) {<a name="line.143"></a>
+<span class="sourceLineNo">144</span><a name="line.144"></a>
+<span class="sourceLineNo">145</span> String fieldHeader = String.format("%-" + fieldHeaderMaxLength + "s", field.getHeader());<a name="line.145"></a>
+<span class="sourceLineNo">146</span> String fieldDescription = String.format("%-" + fieldDescriptionMaxLength + "s",<a name="line.146"></a>
+<span class="sourceLineNo">147</span> field.getDescription());<a name="line.147"></a>
+<span class="sourceLineNo">148</span><a name="line.148"></a>
+<span class="sourceLineNo">149</span> int row = FIELD_START_ROW + pos;<a name="line.149"></a>
+<span class="sourceLineNo">150</span> TerminalPrinter printer = getTerminalPrinter(row);<a name="line.150"></a>
+<span class="sourceLineNo">151</span> if (selected) {<a name="line.151"></a>
+<span class="sourceLineNo">152</span> String prefix = display ? "* " : " ";<a name="line.152"></a>
+<span class="sourceLineNo">153</span> if (moveMode) {<a name="line.153"></a>
+<span class="sourceLineNo">154</span> printer.print(prefix);<a name="line.154"></a>
+<span class="sourceLineNo">155</span><a name="line.155"></a>
+<span class="sourceLineNo">156</span> if (display) {<a name="line.156"></a>
+<span class="sourceLineNo">157</span> printer.startBold();<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> printer.startHighlight()<a name="line.160"></a>
+<span class="sourceLineNo">161</span> .printFormat("%s = %s", fieldHeader, fieldDescription).stopHighlight();<a name="line.161"></a>
<span class="sourceLineNo">162</span><a name="line.162"></a>
<span class="sourceLineNo">163</span> if (display) {<a name="line.163"></a>
-<span class="sourceLineNo">164</span> printer.startBold();<a name="line.164"></a>
+<span class="sourceLineNo">164</span> printer.stopBold();<a name="line.164"></a>
<span class="sourceLineNo">165</span> }<a name="line.165"></a>
<span class="sourceLineNo">166</span><a name="line.166"></a>
-<span class="sourceLineNo">167</span> printer.startHighlight().print(fieldHeader).stopHighlight()<a name="line.167"></a>
-<span class="sourceLineNo">168</span> .printFormat(" = %s", fieldDescription);<a name="line.168"></a>
-<span class="sourceLineNo">169</span><a name="line.169"></a>
-<span class="sourceLineNo">170</span> if (display) {<a name="line.170"></a>
-<span class="sourceLineNo">171</span> printer.stopBold();<a name="line.171"></a>
-<span class="sourceLineNo">172</span> }<a name="line.172"></a>
-<span class="sourceLineNo">173</span><a name="line.173"></a>
-<span class="sourceLineNo">174</span> printer.endOfLine();<a name="line.174"></a>
-<span class="sourceLineNo">175</span> }<a name="line.175"></a>
-<span class="sourceLineNo">176</span> } else {<a name="line.176"></a>
-<span class="sourceLineNo">177</span> if (display) {<a name="line.177"></a>
-<span class="sourceLineNo">178</span> printer.print("* ").startBold().printFormat("%s = %s", fieldHeader, fieldDescription)<a name="line.178"></a>
-<span class="sourceLineNo">179</span> .stopBold().endOfLine();<a name="line.179"></a>
-<span class="sourceLineNo">180</span> } else {<a name="line.180"></a>
-<span class="sourceLineNo">181</span> printer.printFormat(" %s = %s", fieldHeader, fieldDescription).endOfLine();<a name="line.181"></a>
-<span class="sourceLineNo">182</span> }<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>}<a name="line.185"></a>
+<span class="sourceLineNo">167</span> printer.endOfLine();<a name="line.167"></a>
+<span class="sourceLineNo">168</span> } else {<a name="line.168"></a>
+<span class="sourceLineNo">169</span> printer.print(prefix);<a name="line.169"></a>
+<span class="sourceLineNo">170</span><a name="line.170"></a>
+<span class="sourceLineNo">171</span> if (display) {<a name="line.171"></a>
+<span class="sourceLineNo">172</span> printer.startBold();<a name="line.172"></a>
+<span class="sourceLineNo">173</span> }<a name="line.173"></a>
+<span class="sourceLineNo">174</span><a name="line.174"></a>
+<span class="sourceLineNo">175</span> printer.startHighlight().print(fieldHeader).stopHighlight()<a name="line.175"></a>
+<span class="sourceLineNo">176</span> .printFormat(" = %s", fieldDescription);<a name="line.176"></a>
+<span class="sourceLineNo">177</span><a name="line.177"></a>
+<span class="sourceLineNo">178</span> if (display) {<a name="line.178"></a>
+<span class="sourceLineNo">179</span> printer.stopBold();<a name="line.179"></a>
+<span class="sourceLineNo">180</span> }<a name="line.180"></a>
+<span class="sourceLineNo">181</span><a name="line.181"></a>
+<span class="sourceLineNo">182</span> printer.endOfLine();<a name="line.182"></a>
+<span class="sourceLineNo">183</span> }<a name="line.183"></a>
+<span class="sourceLineNo">184</span> } else {<a name="line.184"></a>
+<span class="sourceLineNo">185</span> if (display) {<a name="line.185"></a>
+<span class="sourceLineNo">186</span> printer.print("* ").startBold().printFormat("%s = %s", fieldHeader, fieldDescription)<a name="line.186"></a>
+<span class="sourceLineNo">187</span> .stopBold().endOfLine();<a name="line.187"></a>
+<span class="sourceLineNo">188</span> } else {<a name="line.188"></a>
+<span class="sourceLineNo">189</span> printer.printFormat(" %s = %s", fieldHeader, fieldDescription).endOfLine();<a name="line.189"></a>
+<span class="sourceLineNo">190</span> }<a name="line.190"></a>
+<span class="sourceLineNo">191</span> }<a name="line.191"></a>
+<span class="sourceLineNo">192</span> }<a name="line.192"></a>
+<span class="sourceLineNo">193</span>}<a name="line.193"></a>
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/hbtop/screen/mode/ModeScreenView.html b/devapidocs/src-html/org/apache/hadoop/hbase/hbtop/screen/mode/ModeScreenView.html
index c6a70b2..c337784 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/hbtop/screen/mode/ModeScreenView.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/hbtop/screen/mode/ModeScreenView.html
@@ -86,56 +86,64 @@
<span class="sourceLineNo">078</span> case End:<a name="line.78"></a>
<span class="sourceLineNo">079</span> modeScreenPresenter.pageDown();<a name="line.79"></a>
<span class="sourceLineNo">080</span> return this;<a name="line.80"></a>
-<span class="sourceLineNo">081</span> }<a name="line.81"></a>
-<span class="sourceLineNo">082</span><a name="line.82"></a>
-<span class="sourceLineNo">083</span> if (keyPress.getType() != KeyPress.Type.Character) {<a name="line.83"></a>
-<span class="sourceLineNo">084</span> return this;<a name="line.84"></a>
+<span class="sourceLineNo">081</span><a name="line.81"></a>
+<span class="sourceLineNo">082</span> default:<a name="line.82"></a>
+<span class="sourceLineNo">083</span> // Do nothing<a name="line.83"></a>
+<span class="sourceLineNo">084</span> break;<a name="line.84"></a>
<span class="sourceLineNo">085</span> }<a name="line.85"></a>
<span class="sourceLineNo">086</span><a name="line.86"></a>
-<span class="sourceLineNo">087</span> assert keyPress.getCharacter() != null;<a name="line.87"></a>
-<span class="sourceLineNo">088</span> switch (keyPress.getCharacter()) {<a name="line.88"></a>
-<span class="sourceLineNo">089</span> case 'q':<a name="line.89"></a>
-<span class="sourceLineNo">090</span> return modeScreenPresenter.transitionToNextScreen(false);<a name="line.90"></a>
-<span class="sourceLineNo">091</span> }<a name="line.91"></a>
-<span class="sourceLineNo">092</span><a name="line.92"></a>
-<span class="sourceLineNo">093</span> return this;<a name="line.93"></a>
-<span class="sourceLineNo">094</span> }<a name="line.94"></a>
+<span class="sourceLineNo">087</span> if (keyPress.getType() != KeyPress.Type.Character) {<a name="line.87"></a>
+<span class="sourceLineNo">088</span> return this;<a name="line.88"></a>
+<span class="sourceLineNo">089</span> }<a name="line.89"></a>
+<span class="sourceLineNo">090</span><a name="line.90"></a>
+<span class="sourceLineNo">091</span> assert keyPress.getCharacter() != null;<a name="line.91"></a>
+<span class="sourceLineNo">092</span> switch (keyPress.getCharacter()) {<a name="line.92"></a>
+<span class="sourceLineNo">093</span> case 'q':<a name="line.93"></a>
+<span class="sourceLineNo">094</span> return modeScreenPresenter.transitionToNextScreen(false);<a name="line.94"></a>
<span class="sourceLineNo">095</span><a name="line.95"></a>
-<span class="sourceLineNo">096</span> public void showModeScreen(Mode currentMode, List<Mode> modes, int currentPosition,<a name="line.96"></a>
-<span class="sourceLineNo">097</span> int modeHeaderMaxLength, int modeDescriptionMaxLength) {<a name="line.97"></a>
-<span class="sourceLineNo">098</span> showScreenDescription(currentMode);<a name="line.98"></a>
-<span class="sourceLineNo">099</span><a name="line.99"></a>
-<span class="sourceLineNo">100</span> for (int i = 0; i < modes.size(); i++) {<a name="line.100"></a>
-<span class="sourceLineNo">101</span> showMode(i, modes.get(i), i == currentPosition,<a name="line.101"></a>
-<span class="sourceLineNo">102</span> modeHeaderMaxLength, modeDescriptionMaxLength);<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">106</span> private void showScreenDescription(Mode currentMode) {<a name="line.106"></a>
-<span class="sourceLineNo">107</span> TerminalPrinter printer = getTerminalPrinter(SCREEN_DESCRIPTION_START_ROW);<a name="line.107"></a>
-<span class="sourceLineNo">108</span> printer.startBold().print("Mode Management").stopBold().endOfLine();<a name="line.108"></a>
-<span class="sourceLineNo">109</span> printer.print("Current mode: ")<a name="line.109"></a>
-<span class="sourceLineNo">110</span> .startBold().print(currentMode.getHeader()).stopBold().endOfLine();<a name="line.110"></a>
-<span class="sourceLineNo">111</span> printer.print("Select mode followed by <Enter>").endOfLine();<a name="line.111"></a>
+<span class="sourceLineNo">096</span> default:<a name="line.96"></a>
+<span class="sourceLineNo">097</span> // Do nothing<a name="line.97"></a>
+<span class="sourceLineNo">098</span> break;<a name="line.98"></a>
+<span class="sourceLineNo">099</span> }<a name="line.99"></a>
+<span class="sourceLineNo">100</span><a name="line.100"></a>
+<span class="sourceLineNo">101</span> return this;<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> public void showModeScreen(Mode currentMode, List<Mode> modes, int currentPosition,<a name="line.104"></a>
+<span class="sourceLineNo">105</span> int modeHeaderMaxLength, int modeDescriptionMaxLength) {<a name="line.105"></a>
+<span class="sourceLineNo">106</span> showScreenDescription(currentMode);<a name="line.106"></a>
+<span class="sourceLineNo">107</span><a name="line.107"></a>
+<span class="sourceLineNo">108</span> for (int i = 0; i < modes.size(); i++) {<a name="line.108"></a>
+<span class="sourceLineNo">109</span> showMode(i, modes.get(i), i == currentPosition,<a name="line.109"></a>
+<span class="sourceLineNo">110</span> modeHeaderMaxLength, modeDescriptionMaxLength);<a name="line.110"></a>
+<span class="sourceLineNo">111</span> }<a name="line.111"></a>
<span class="sourceLineNo">112</span> }<a name="line.112"></a>
<span class="sourceLineNo">113</span><a name="line.113"></a>
-<span class="sourceLineNo">114</span> public void showMode(int pos, Mode mode, boolean selected, int modeHeaderMaxLength,<a name="line.114"></a>
-<span class="sourceLineNo">115</span> int modeDescriptionMaxLength) {<a name="line.115"></a>
-<span class="sourceLineNo">116</span><a name="line.116"></a>
-<span class="sourceLineNo">117</span> String modeHeader = String.format("%-" + modeHeaderMaxLength + "s", mode.getHeader());<a name="line.117"></a>
-<span class="sourceLineNo">118</span> String modeDescription = String.format("%-" + modeDescriptionMaxLength + "s",<a name="line.118"></a>
-<span class="sourceLineNo">119</span> mode.getDescription());<a name="line.119"></a>
-<span class="sourceLineNo">120</span><a name="line.120"></a>
-<span class="sourceLineNo">121</span> int row = MODE_START_ROW + pos;<a name="line.121"></a>
-<span class="sourceLineNo">122</span> TerminalPrinter printer = getTerminalPrinter(row);<a name="line.122"></a>
-<span class="sourceLineNo">123</span> if (selected) {<a name="line.123"></a>
-<span class="sourceLineNo">124</span> printer.startHighlight().print(modeHeader).stopHighlight()<a name="line.124"></a>
-<span class="sourceLineNo">125</span> .printFormat(" = %s", modeDescription).endOfLine();<a name="line.125"></a>
-<span class="sourceLineNo">126</span> } else {<a name="line.126"></a>
-<span class="sourceLineNo">127</span> printer.printFormat("%s = %s", modeHeader, modeDescription).endOfLine();<a name="line.127"></a>
-<span class="sourceLineNo">128</span> }<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">114</span> private void showScreenDescription(Mode currentMode) {<a name="line.114"></a>
+<span class="sourceLineNo">115</span> TerminalPrinter printer = getTerminalPrinter(SCREEN_DESCRIPTION_START_ROW);<a name="line.115"></a>
+<span class="sourceLineNo">116</span> printer.startBold().print("Mode Management").stopBold().endOfLine();<a name="line.116"></a>
+<span class="sourceLineNo">117</span> printer.print("Current mode: ")<a name="line.117"></a>
+<span class="sourceLineNo">118</span> .startBold().print(currentMode.getHeader()).stopBold().endOfLine();<a name="line.118"></a>
+<span class="sourceLineNo">119</span> printer.print("Select mode followed by <Enter>").endOfLine();<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 void showMode(int pos, Mode mode, boolean selected, int modeHeaderMaxLength,<a name="line.122"></a>
+<span class="sourceLineNo">123</span> int modeDescriptionMaxLength) {<a name="line.123"></a>
+<span class="sourceLineNo">124</span><a name="line.124"></a>
+<span class="sourceLineNo">125</span> String modeHeader = String.format("%-" + modeHeaderMaxLength + "s", mode.getHeader());<a name="line.125"></a>
+<span class="sourceLineNo">126</span> String modeDescription = String.format("%-" + modeDescriptionMaxLength + "s",<a name="line.126"></a>
+<span class="sourceLineNo">127</span> mode.getDescription());<a name="line.127"></a>
+<span class="sourceLineNo">128</span><a name="line.128"></a>
+<span class="sourceLineNo">129</span> int row = MODE_START_ROW + pos;<a name="line.129"></a>
+<span class="sourceLineNo">130</span> TerminalPrinter printer = getTerminalPrinter(row);<a name="line.130"></a>
+<span class="sourceLineNo">131</span> if (selected) {<a name="line.131"></a>
+<span class="sourceLineNo">132</span> printer.startHighlight().print(modeHeader).stopHighlight()<a name="line.132"></a>
+<span class="sourceLineNo">133</span> .printFormat(" = %s", modeDescription).endOfLine();<a name="line.133"></a>
+<span class="sourceLineNo">134</span> } else {<a name="line.134"></a>
+<span class="sourceLineNo">135</span> printer.printFormat("%s = %s", modeHeader, modeDescription).endOfLine();<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>}<a name="line.138"></a>
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/hbtop/screen/top/FilterDisplayModeScreenView.html b/devapidocs/src-html/org/apache/hadoop/hbase/hbtop/screen/top/FilterDisplayModeScreenView.html
index 49208d2..94d62ac 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/hbtop/screen/top/FilterDisplayModeScreenView.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/hbtop/screen/top/FilterDisplayModeScreenView.html
@@ -62,24 +62,23 @@
<span class="sourceLineNo">054</span><a name="line.54"></a>
<span class="sourceLineNo">055</span> @Override<a name="line.55"></a>
<span class="sourceLineNo">056</span> public ScreenView handleKeyPress(KeyPress keyPress) {<a name="line.56"></a>
-<span class="sourceLineNo">057</span> switch (keyPress.getType()) {<a name="line.57"></a>
-<span class="sourceLineNo">058</span> case Enter:<a name="line.58"></a>
-<span class="sourceLineNo">059</span> return filterDisplayModeScreenPresenter.returnToNextScreen();<a name="line.59"></a>
-<span class="sourceLineNo">060</span> }<a name="line.60"></a>
-<span class="sourceLineNo">061</span> return this;<a name="line.61"></a>
-<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> public void showFilters(List<RecordFilter> filters) {<a name="line.64"></a>
-<span class="sourceLineNo">065</span> String filtersString = "none";<a name="line.65"></a>
-<span class="sourceLineNo">066</span> if (!filters.isEmpty()) {<a name="line.66"></a>
-<span class="sourceLineNo">067</span> filtersString = String.join(" + ",<a name="line.67"></a>
-<span class="sourceLineNo">068</span> filters.stream().map(f -> String.format("'%s'", f)).collect(Collectors.toList()));<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> getTerminalPrinter(row).startBold().print("<Enter> to resume, filters: " + filtersString)<a name="line.71"></a>
-<span class="sourceLineNo">072</span> .stopBold().endOfLine();<a name="line.72"></a>
-<span class="sourceLineNo">073</span> }<a name="line.73"></a>
-<span class="sourceLineNo">074</span>}<a name="line.74"></a>
+<span class="sourceLineNo">057</span> if (keyPress.getType() == KeyPress.Type.Enter) {<a name="line.57"></a>
+<span class="sourceLineNo">058</span> return filterDisplayModeScreenPresenter.returnToNextScreen();<a name="line.58"></a>
+<span class="sourceLineNo">059</span> }<a name="line.59"></a>
+<span class="sourceLineNo">060</span> return this;<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> public void showFilters(List<RecordFilter> filters) {<a name="line.63"></a>
+<span class="sourceLineNo">064</span> String filtersString = "none";<a name="line.64"></a>
+<span class="sourceLineNo">065</span> if (!filters.isEmpty()) {<a name="line.65"></a>
+<span class="sourceLineNo">066</span> filtersString = String.join(" + ",<a name="line.66"></a>
+<span class="sourceLineNo">067</span> filters.stream().map(f -> String.format("'%s'", f)).collect(Collectors.toList()));<a name="line.67"></a>
+<span class="sourceLineNo">068</span> }<a name="line.68"></a>
+<span class="sourceLineNo">069</span><a name="line.69"></a>
+<span class="sourceLineNo">070</span> getTerminalPrinter(row).startBold().print("<Enter> to resume, filters: " + filtersString)<a name="line.70"></a>
+<span class="sourceLineNo">071</span> .stopBold().endOfLine();<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>
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/hbtop/screen/top/TopScreenView.html b/devapidocs/src-html/org/apache/hadoop/hbase/hbtop/screen/top/TopScreenView.html
index d386f26..8ee1f25 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/hbtop/screen/top/TopScreenView.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/hbtop/screen/top/TopScreenView.html
@@ -123,189 +123,195 @@
<span class="sourceLineNo">115</span><a name="line.115"></a>
<span class="sourceLineNo">116</span> case Escape:<a name="line.116"></a>
<span class="sourceLineNo">117</span> return null;<a name="line.117"></a>
-<span class="sourceLineNo">118</span> }<a name="line.118"></a>
-<span class="sourceLineNo">119</span><a name="line.119"></a>
-<span class="sourceLineNo">120</span> if (keyPress.getType() != KeyPress.Type.Character) {<a name="line.120"></a>
-<span class="sourceLineNo">121</span> return unknownCommandMessage();<a name="line.121"></a>
+<span class="sourceLineNo">118</span><a name="line.118"></a>
+<span class="sourceLineNo">119</span> default:<a name="line.119"></a>
+<span class="sourceLineNo">120</span> // Do nothing<a name="line.120"></a>
+<span class="sourceLineNo">121</span> break;<a name="line.121"></a>
<span class="sourceLineNo">122</span> }<a name="line.122"></a>
<span class="sourceLineNo">123</span><a name="line.123"></a>
-<span class="sourceLineNo">124</span> assert keyPress.getCharacter() != null;<a name="line.124"></a>
-<span class="sourceLineNo">125</span> switch (keyPress.getCharacter()) {<a name="line.125"></a>
-<span class="sourceLineNo">126</span> case 'R':<a name="line.126"></a>
-<span class="sourceLineNo">127</span> topScreenPresenter.switchSortOrder();<a name="line.127"></a>
-<span class="sourceLineNo">128</span> break;<a name="line.128"></a>
-<span class="sourceLineNo">129</span><a name="line.129"></a>
-<span class="sourceLineNo">130</span> case 'f':<a name="line.130"></a>
-<span class="sourceLineNo">131</span> cancelTimer();<a name="line.131"></a>
-<span class="sourceLineNo">132</span> return topScreenPresenter.transitionToFieldScreen(getScreen(), getTerminal());<a name="line.132"></a>
+<span class="sourceLineNo">124</span> if (keyPress.getType() != KeyPress.Type.Character) {<a name="line.124"></a>
+<span class="sourceLineNo">125</span> return unknownCommandMessage();<a name="line.125"></a>
+<span class="sourceLineNo">126</span> }<a name="line.126"></a>
+<span class="sourceLineNo">127</span><a name="line.127"></a>
+<span class="sourceLineNo">128</span> assert keyPress.getCharacter() != null;<a name="line.128"></a>
+<span class="sourceLineNo">129</span> switch (keyPress.getCharacter()) {<a name="line.129"></a>
+<span class="sourceLineNo">130</span> case 'R':<a name="line.130"></a>
+<span class="sourceLineNo">131</span> topScreenPresenter.switchSortOrder();<a name="line.131"></a>
+<span class="sourceLineNo">132</span> break;<a name="line.132"></a>
<span class="sourceLineNo">133</span><a name="line.133"></a>
-<span class="sourceLineNo">134</span> case 'm':<a name="line.134"></a>
+<span class="sourceLineNo">134</span> case 'f':<a name="line.134"></a>
<span class="sourceLineNo">135</span> cancelTimer();<a name="line.135"></a>
-<span class="sourceLineNo">136</span> return topScreenPresenter.transitionToModeScreen(getScreen(), getTerminal());<a name="line.136"></a>
+<span class="sourceLineNo">136</span> return topScreenPresenter.transitionToFieldScreen(getScreen(), getTerminal());<a name="line.136"></a>
<span class="sourceLineNo">137</span><a name="line.137"></a>
-<span class="sourceLineNo">138</span> case 'h':<a name="line.138"></a>
+<span class="sourceLineNo">138</span> case 'm':<a name="line.138"></a>
<span class="sourceLineNo">139</span> cancelTimer();<a name="line.139"></a>
-<span class="sourceLineNo">140</span> return topScreenPresenter.transitionToHelpScreen(getScreen(), getTerminal());<a name="line.140"></a>
+<span class="sourceLineNo">140</span> return topScreenPresenter.transitionToModeScreen(getScreen(), getTerminal());<a name="line.140"></a>
<span class="sourceLineNo">141</span><a name="line.141"></a>
-<span class="sourceLineNo">142</span> case 'd':<a name="line.142"></a>
+<span class="sourceLineNo">142</span> case 'h':<a name="line.142"></a>
<span class="sourceLineNo">143</span> cancelTimer();<a name="line.143"></a>
-<span class="sourceLineNo">144</span> return topScreenPresenter.goToInputModeForRefreshDelay(getScreen(), getTerminal(),<a name="line.144"></a>
-<span class="sourceLineNo">145</span> MESSAGE_ROW);<a name="line.145"></a>
-<span class="sourceLineNo">146</span><a name="line.146"></a>
-<span class="sourceLineNo">147</span> case 'o':<a name="line.147"></a>
-<span class="sourceLineNo">148</span> cancelTimer();<a name="line.148"></a>
-<span class="sourceLineNo">149</span> if (keyPress.isCtrl()) {<a name="line.149"></a>
-<span class="sourceLineNo">150</span> return topScreenPresenter.goToFilterDisplayMode(getScreen(), getTerminal(), MESSAGE_ROW);<a name="line.150"></a>
-<span class="sourceLineNo">151</span> }<a name="line.151"></a>
-<span class="sourceLineNo">152</span> return topScreenPresenter.goToInputModeForFilter(getScreen(), getTerminal(), MESSAGE_ROW,<a name="line.152"></a>
-<span class="sourceLineNo">153</span> true);<a name="line.153"></a>
-<span class="sourceLineNo">154</span><a name="line.154"></a>
-<span class="sourceLineNo">155</span> case 'O':<a name="line.155"></a>
-<span class="sourceLineNo">156</span> cancelTimer();<a name="line.156"></a>
-<span class="sourceLineNo">157</span> return topScreenPresenter.goToInputModeForFilter(getScreen(), getTerminal(), MESSAGE_ROW,<a name="line.157"></a>
-<span class="sourceLineNo">158</span> false);<a name="line.158"></a>
-<span class="sourceLineNo">159</span><a name="line.159"></a>
-<span class="sourceLineNo">160</span> case '=':<a name="line.160"></a>
-<span class="sourceLineNo">161</span> topScreenPresenter.clearFilters();<a name="line.161"></a>
-<span class="sourceLineNo">162</span> break;<a name="line.162"></a>
+<span class="sourceLineNo">144</span> return topScreenPresenter.transitionToHelpScreen(getScreen(), getTerminal());<a name="line.144"></a>
+<span class="sourceLineNo">145</span><a name="line.145"></a>
+<span class="sourceLineNo">146</span> case 'd':<a name="line.146"></a>
+<span class="sourceLineNo">147</span> cancelTimer();<a name="line.147"></a>
+<span class="sourceLineNo">148</span> return topScreenPresenter.goToInputModeForRefreshDelay(getScreen(), getTerminal(),<a name="line.148"></a>
+<span class="sourceLineNo">149</span> MESSAGE_ROW);<a name="line.149"></a>
+<span class="sourceLineNo">150</span><a name="line.150"></a>
+<span class="sourceLineNo">151</span> case 'o':<a name="line.151"></a>
+<span class="sourceLineNo">152</span> cancelTimer();<a name="line.152"></a>
+<span class="sourceLineNo">153</span> if (keyPress.isCtrl()) {<a name="line.153"></a>
+<span class="sourceLineNo">154</span> return topScreenPresenter.goToFilterDisplayMode(getScreen(), getTerminal(), MESSAGE_ROW);<a name="line.154"></a>
+<span class="sourceLineNo">155</span> }<a name="line.155"></a>
+<span class="sourceLineNo">156</span> return topScreenPresenter.goToInputModeForFilter(getScreen(), getTerminal(), MESSAGE_ROW,<a name="line.156"></a>
+<span class="sourceLineNo">157</span> true);<a name="line.157"></a>
+<span class="sourceLineNo">158</span><a name="line.158"></a>
+<span class="sourceLineNo">159</span> case 'O':<a name="line.159"></a>
+<span class="sourceLineNo">160</span> cancelTimer();<a name="line.160"></a>
+<span class="sourceLineNo">161</span> return topScreenPresenter.goToInputModeForFilter(getScreen(), getTerminal(), MESSAGE_ROW,<a name="line.161"></a>
+<span class="sourceLineNo">162</span> false);<a name="line.162"></a>
<span class="sourceLineNo">163</span><a name="line.163"></a>
-<span class="sourceLineNo">164</span> case 'X':<a name="line.164"></a>
-<span class="sourceLineNo">165</span> topScreenPresenter.adjustFieldLength();<a name="line.165"></a>
+<span class="sourceLineNo">164</span> case '=':<a name="line.164"></a>
+<span class="sourceLineNo">165</span> topScreenPresenter.clearFilters();<a name="line.165"></a>
<span class="sourceLineNo">166</span> break;<a name="line.166"></a>
<span class="sourceLineNo">167</span><a name="line.167"></a>
-<span class="sourceLineNo">168</span> case 'i':<a name="line.168"></a>
-<span class="sourceLineNo">169</span> topScreenPresenter.drillDown();<a name="line.169"></a>
+<span class="sourceLineNo">168</span> case 'X':<a name="line.168"></a>
+<span class="sourceLineNo">169</span> topScreenPresenter.adjustFieldLength();<a name="line.169"></a>
<span class="sourceLineNo">170</span> break;<a name="line.170"></a>
<span class="sourceLineNo">171</span><a name="line.171"></a>
-<span class="sourceLineNo">172</span> case 'q':<a name="line.172"></a>
-<span class="sourceLineNo">173</span> return null;<a name="line.173"></a>
-<span class="sourceLineNo">174</span><a name="line.174"></a>
-<span class="sourceLineNo">175</span> default:<a name="line.175"></a>
-<span class="sourceLineNo">176</span> return unknownCommandMessage();<a name="line.176"></a>
-<span class="sourceLineNo">177</span> }<a name="line.177"></a>
-<span class="sourceLineNo">178</span> return this;<a name="line.178"></a>
-<span class="sourceLineNo">179</span> }<a name="line.179"></a>
-<span class="sourceLineNo">180</span><a name="line.180"></a>
-<span class="sourceLineNo">181</span> public TerminalSize getTerminalSize() {<a name="line.181"></a>
-<span class="sourceLineNo">182</span> TerminalSize terminalSize = super.getTerminalSize();<a name="line.182"></a>
-<span class="sourceLineNo">183</span> updatePageSize(terminalSize);<a name="line.183"></a>
-<span class="sourceLineNo">184</span> return terminalSize;<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> public TerminalSize doResizeIfNecessary() {<a name="line.187"></a>
-<span class="sourceLineNo">188</span> TerminalSize terminalSize = super.doResizeIfNecessary();<a name="line.188"></a>
-<span class="sourceLineNo">189</span> if (terminalSize == null) {<a name="line.189"></a>
-<span class="sourceLineNo">190</span> return null;<a name="line.190"></a>
-<span class="sourceLineNo">191</span> }<a name="line.191"></a>
-<span class="sourceLineNo">192</span> updatePageSize(terminalSize);<a name="line.192"></a>
-<span class="sourceLineNo">193</span> return terminalSize;<a name="line.193"></a>
-<span class="sourceLineNo">194</span> }<a name="line.194"></a>
-<span class="sourceLineNo">195</span><a name="line.195"></a>
-<span class="sourceLineNo">196</span> private void updatePageSize(TerminalSize terminalSize) {<a name="line.196"></a>
-<span class="sourceLineNo">197</span> pageSize = terminalSize.getRows() - SUMMARY_ROW_NUM - 2;<a name="line.197"></a>
-<span class="sourceLineNo">198</span> if (pageSize < 0) {<a name="line.198"></a>
-<span class="sourceLineNo">199</span> pageSize = 0;<a name="line.199"></a>
-<span class="sourceLineNo">200</span> }<a name="line.200"></a>
-<span class="sourceLineNo">201</span> }<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span> public int getPageSize() {<a name="line.203"></a>
-<span class="sourceLineNo">204</span> return pageSize;<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> public void showTopScreen(Summary summary, List<Header> headers, List<Record> records,<a name="line.207"></a>
-<span class="sourceLineNo">208</span> Record selectedRecord) {<a name="line.208"></a>
-<span class="sourceLineNo">209</span> showSummary(summary);<a name="line.209"></a>
-<span class="sourceLineNo">210</span> clearMessage();<a name="line.210"></a>
-<span class="sourceLineNo">211</span> showHeaders(headers);<a name="line.211"></a>
-<span class="sourceLineNo">212</span> showRecords(headers, records, selectedRecord);<a name="line.212"></a>
-<span class="sourceLineNo">213</span> }<a name="line.213"></a>
-<span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span> private void showSummary(Summary summary) {<a name="line.215"></a>
-<span class="sourceLineNo">216</span> TerminalPrinter printer = getTerminalPrinter(SUMMARY_START_ROW);<a name="line.216"></a>
-<span class="sourceLineNo">217</span> printer.print(String.format("HBase hbtop - %s", summary.getCurrentTime())).endOfLine();<a name="line.217"></a>
-<span class="sourceLineNo">218</span> printer.print(String.format("Version: %s", summary.getVersion())).endOfLine();<a name="line.218"></a>
-<span class="sourceLineNo">219</span> printer.print(String.format("Cluster ID: %s", summary.getClusterId())).endOfLine();<a name="line.219"></a>
-<span class="sourceLineNo">220</span> printer.print("RegionServer(s): ")<a name="line.220"></a>
-<span class="sourceLineNo">221</span> .startBold().print(Integer.toString(summary.getServers())).stopBold()<a name="line.221"></a>
-<span class="sourceLineNo">222</span> .print(" total, ")<a name="line.222"></a>
-<span class="sourceLineNo">223</span> .startBold().print(Integer.toString(summary.getLiveServers())).stopBold()<a name="line.223"></a>
-<span class="sourceLineNo">224</span> .print(" live, ")<a name="line.224"></a>
-<span class="sourceLineNo">225</span> .startBold().print(Integer.toString(summary.getDeadServers())).stopBold()<a name="line.225"></a>
-<span class="sourceLineNo">226</span> .print(" dead").endOfLine();<a name="line.226"></a>
-<span class="sourceLineNo">227</span> printer.print("RegionCount: ")<a name="line.227"></a>
-<span class="sourceLineNo">228</span> .startBold().print(Integer.toString(summary.getRegionCount())).stopBold()<a name="line.228"></a>
-<span class="sourceLineNo">229</span> .print(" total, ")<a name="line.229"></a>
-<span class="sourceLineNo">230</span> .startBold().print(Integer.toString(summary.getRitCount())).stopBold()<a name="line.230"></a>
-<span class="sourceLineNo">231</span> .print(" rit").endOfLine();<a name="line.231"></a>
-<span class="sourceLineNo">232</span> printer.print("Average Cluster Load: ")<a name="line.232"></a>
-<span class="sourceLineNo">233</span> .startBold().print(String.format("%.2f", summary.getAverageLoad())).stopBold().endOfLine();<a name="line.233"></a>
-<span class="sourceLineNo">234</span> printer.print("Aggregate Request/s: ")<a name="line.234"></a>
-<span class="sourceLineNo">235</span> .startBold().print(Long.toString(summary.getAggregateRequestPerSecond())).stopBold()<a name="line.235"></a>
-<span class="sourceLineNo">236</span> .endOfLine();<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> private void showRecords(List<Header> headers, List<Record> records, Record selectedRecord) {<a name="line.239"></a>
-<span class="sourceLineNo">240</span> TerminalPrinter printer = getTerminalPrinter(RECORD_START_ROW);<a name="line.240"></a>
-<span class="sourceLineNo">241</span> List<String> buf = new ArrayList<>(headers.size());<a name="line.241"></a>
-<span class="sourceLineNo">242</span> for (int i = 0; i < pageSize; i++) {<a name="line.242"></a>
-<span class="sourceLineNo">243</span> if(i < records.size()) {<a name="line.243"></a>
-<span class="sourceLineNo">244</span> Record record = records.get(i);<a name="line.244"></a>
-<span class="sourceLineNo">245</span> buf.clear();<a name="line.245"></a>
-<span class="sourceLineNo">246</span> for (Header header : headers) {<a name="line.246"></a>
-<span class="sourceLineNo">247</span> String value = "";<a name="line.247"></a>
-<span class="sourceLineNo">248</span> if (record.containsKey(header.getField())) {<a name="line.248"></a>
-<span class="sourceLineNo">249</span> value = record.get(header.getField()).asString();<a name="line.249"></a>
-<span class="sourceLineNo">250</span> }<a name="line.250"></a>
-<span class="sourceLineNo">251</span><a name="line.251"></a>
-<span class="sourceLineNo">252</span> buf.add(limitLineLength(String.format(header.format(), value), header.getLength()));<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> String recordString = String.join(" ", buf);<a name="line.255"></a>
-<span class="sourceLineNo">256</span> if (!recordString.isEmpty()) {<a name="line.256"></a>
-<span class="sourceLineNo">257</span> recordString += " ";<a name="line.257"></a>
-<span class="sourceLineNo">258</span> }<a name="line.258"></a>
-<span class="sourceLineNo">259</span><a name="line.259"></a>
-<span class="sourceLineNo">260</span> if (record == selectedRecord) {<a name="line.260"></a>
-<span class="sourceLineNo">261</span> printer.startHighlight().print(recordString).stopHighlight().endOfLine();<a name="line.261"></a>
-<span class="sourceLineNo">262</span> } else {<a name="line.262"></a>
-<span class="sourceLineNo">263</span> printer.print(recordString).endOfLine();<a name="line.263"></a>
+<span class="sourceLineNo">172</span> case 'i':<a name="line.172"></a>
+<span class="sourceLineNo">173</span> topScreenPresenter.drillDown();<a name="line.173"></a>
+<span class="sourceLineNo">174</span> break;<a name="line.174"></a>
+<span class="sourceLineNo">175</span><a name="line.175"></a>
+<span class="sourceLineNo">176</span> case 'q':<a name="line.176"></a>
+<span class="sourceLineNo">177</span> return null;<a name="line.177"></a>
+<span class="sourceLineNo">178</span><a name="line.178"></a>
+<span class="sourceLineNo">179</span> default:<a name="line.179"></a>
+<span class="sourceLineNo">180</span> return unknownCommandMessage();<a name="line.180"></a>
+<span class="sourceLineNo">181</span> }<a name="line.181"></a>
+<span class="sourceLineNo">182</span> return this;<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> @Override<a name="line.185"></a>
+<span class="sourceLineNo">186</span> public TerminalSize getTerminalSize() {<a name="line.186"></a>
+<span class="sourceLineNo">187</span> TerminalSize terminalSize = super.getTerminalSize();<a name="line.187"></a>
+<span class="sourceLineNo">188</span> updatePageSize(terminalSize);<a name="line.188"></a>
+<span class="sourceLineNo">189</span> return terminalSize;<a name="line.189"></a>
+<span class="sourceLineNo">190</span> }<a name="line.190"></a>
+<span class="sourceLineNo">191</span><a name="line.191"></a>
+<span class="sourceLineNo">192</span> @Override<a name="line.192"></a>
+<span class="sourceLineNo">193</span> public TerminalSize doResizeIfNecessary() {<a name="line.193"></a>
+<span class="sourceLineNo">194</span> TerminalSize terminalSize = super.doResizeIfNecessary();<a name="line.194"></a>
+<span class="sourceLineNo">195</span> if (terminalSize == null) {<a name="line.195"></a>
+<span class="sourceLineNo">196</span> return null;<a name="line.196"></a>
+<span class="sourceLineNo">197</span> }<a name="line.197"></a>
+<span class="sourceLineNo">198</span> updatePageSize(terminalSize);<a name="line.198"></a>
+<span class="sourceLineNo">199</span> return terminalSize;<a name="line.199"></a>
+<span class="sourceLineNo">200</span> }<a name="line.200"></a>
+<span class="sourceLineNo">201</span><a name="line.201"></a>
+<span class="sourceLineNo">202</span> private void updatePageSize(TerminalSize terminalSize) {<a name="line.202"></a>
+<span class="sourceLineNo">203</span> pageSize = terminalSize.getRows() - SUMMARY_ROW_NUM - 2;<a name="line.203"></a>
+<span class="sourceLineNo">204</span> if (pageSize < 0) {<a name="line.204"></a>
+<span class="sourceLineNo">205</span> pageSize = 0;<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><a name="line.208"></a>
+<span class="sourceLineNo">209</span> public int getPageSize() {<a name="line.209"></a>
+<span class="sourceLineNo">210</span> return pageSize;<a name="line.210"></a>
+<span class="sourceLineNo">211</span> }<a name="line.211"></a>
+<span class="sourceLineNo">212</span><a name="line.212"></a>
+<span class="sourceLineNo">213</span> public void showTopScreen(Summary summary, List<Header> headers, List<Record> records,<a name="line.213"></a>
+<span class="sourceLineNo">214</span> Record selectedRecord) {<a name="line.214"></a>
+<span class="sourceLineNo">215</span> showSummary(summary);<a name="line.215"></a>
+<span class="sourceLineNo">216</span> clearMessage();<a name="line.216"></a>
+<span class="sourceLineNo">217</span> showHeaders(headers);<a name="line.217"></a>
+<span class="sourceLineNo">218</span> showRecords(headers, records, selectedRecord);<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> private void showSummary(Summary summary) {<a name="line.221"></a>
+<span class="sourceLineNo">222</span> TerminalPrinter printer = getTerminalPrinter(SUMMARY_START_ROW);<a name="line.222"></a>
+<span class="sourceLineNo">223</span> printer.print(String.format("HBase hbtop - %s", summary.getCurrentTime())).endOfLine();<a name="line.223"></a>
+<span class="sourceLineNo">224</span> printer.print(String.format("Version: %s", summary.getVersion())).endOfLine();<a name="line.224"></a>
+<span class="sourceLineNo">225</span> printer.print(String.format("Cluster ID: %s", summary.getClusterId())).endOfLine();<a name="line.225"></a>
+<span class="sourceLineNo">226</span> printer.print("RegionServer(s): ")<a name="line.226"></a>
+<span class="sourceLineNo">227</span> .startBold().print(Integer.toString(summary.getServers())).stopBold()<a name="line.227"></a>
+<span class="sourceLineNo">228</span> .print(" total, ")<a name="line.228"></a>
+<span class="sourceLineNo">229</span> .startBold().print(Integer.toString(summary.getLiveServers())).stopBold()<a name="line.229"></a>
+<span class="sourceLineNo">230</span> .print(" live, ")<a name="line.230"></a>
+<span class="sourceLineNo">231</span> .startBold().print(Integer.toString(summary.getDeadServers())).stopBold()<a name="line.231"></a>
+<span class="sourceLineNo">232</span> .print(" dead").endOfLine();<a name="line.232"></a>
+<span class="sourceLineNo">233</span> printer.print("RegionCount: ")<a name="line.233"></a>
+<span class="sourceLineNo">234</span> .startBold().print(Integer.toString(summary.getRegionCount())).stopBold()<a name="line.234"></a>
+<span class="sourceLineNo">235</span> .print(" total, ")<a name="line.235"></a>
+<span class="sourceLineNo">236</span> .startBold().print(Integer.toString(summary.getRitCount())).stopBold()<a name="line.236"></a>
+<span class="sourceLineNo">237</span> .print(" rit").endOfLine();<a name="line.237"></a>
+<span class="sourceLineNo">238</span> printer.print("Average Cluster Load: ")<a name="line.238"></a>
+<span class="sourceLineNo">239</span> .startBold().print(String.format("%.2f", summary.getAverageLoad())).stopBold().endOfLine();<a name="line.239"></a>
+<span class="sourceLineNo">240</span> printer.print("Aggregate Request/s: ")<a name="line.240"></a>
+<span class="sourceLineNo">241</span> .startBold().print(Long.toString(summary.getAggregateRequestPerSecond())).stopBold()<a name="line.241"></a>
+<span class="sourceLineNo">242</span> .endOfLine();<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> private void showRecords(List<Header> headers, List<Record> records, Record selectedRecord) {<a name="line.245"></a>
+<span class="sourceLineNo">246</span> TerminalPrinter printer = getTerminalPrinter(RECORD_START_ROW);<a name="line.246"></a>
+<span class="sourceLineNo">247</span> List<String> buf = new ArrayList<>(headers.size());<a name="line.247"></a>
+<span class="sourceLineNo">248</span> for (int i = 0; i < pageSize; i++) {<a name="line.248"></a>
+<span class="sourceLineNo">249</span> if(i < records.size()) {<a name="line.249"></a>
+<span class="sourceLineNo">250</span> Record record = records.get(i);<a name="line.250"></a>
+<span class="sourceLineNo">251</span> buf.clear();<a name="line.251"></a>
+<span class="sourceLineNo">252</span> for (Header header : headers) {<a name="line.252"></a>
+<span class="sourceLineNo">253</span> String value = "";<a name="line.253"></a>
+<span class="sourceLineNo">254</span> if (record.containsKey(header.getField())) {<a name="line.254"></a>
+<span class="sourceLineNo">255</span> value = record.get(header.getField()).asString();<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> buf.add(limitLineLength(String.format(header.format(), value), header.getLength()));<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> String recordString = String.join(" ", buf);<a name="line.261"></a>
+<span class="sourceLineNo">262</span> if (!recordString.isEmpty()) {<a name="line.262"></a>
+<span class="sourceLineNo">263</span> recordString += " ";<a name="line.263"></a>
<span class="sourceLineNo">264</span> }<a name="line.264"></a>
-<span class="sourceLineNo">265</span> } else {<a name="line.265"></a>
-<span class="sourceLineNo">266</span> printer.endOfLine();<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><a name="line.270"></a>
-<span class="sourceLineNo">271</span> private void showHeaders(List<Header> headers) {<a name="line.271"></a>
-<span class="sourceLineNo">272</span> String header = headers.stream()<a name="line.272"></a>
-<span class="sourceLineNo">273</span> .map(h -> String.format(h.format(), h.getField().getHeader()))<a name="line.273"></a>
-<span class="sourceLineNo">274</span> .collect(Collectors.joining(" "));<a name="line.274"></a>
-<span class="sourceLineNo">275</span><a name="line.275"></a>
-<span class="sourceLineNo">276</span> if (!header.isEmpty()) {<a name="line.276"></a>
-<span class="sourceLineNo">277</span> header += " ";<a name="line.277"></a>
-<span class="sourceLineNo">278</span> }<a name="line.278"></a>
-<span class="sourceLineNo">279</span><a name="line.279"></a>
-<span class="sourceLineNo">280</span> getTerminalPrinter(RECORD_HEADER_ROW).startHighlight().print(header).stopHighlight()<a name="line.280"></a>
-<span class="sourceLineNo">281</span> .endOfLine();<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> private String limitLineLength(String line, int length) {<a name="line.284"></a>
-<span class="sourceLineNo">285</span> if (line.length() > length) {<a name="line.285"></a>
-<span class="sourceLineNo">286</span> return line.substring(0, length - 1) + "+";<a name="line.286"></a>
-<span class="sourceLineNo">287</span> }<a name="line.287"></a>
-<span class="sourceLineNo">288</span> return line;<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> private void clearMessage() {<a name="line.291"></a>
-<span class="sourceLineNo">292</span> getTerminalPrinter(MESSAGE_ROW).print("").endOfLine();<a name="line.292"></a>
-<span class="sourceLineNo">293</span> }<a name="line.293"></a>
-<span class="sourceLineNo">294</span><a name="line.294"></a>
-<span class="sourceLineNo">295</span> private ScreenView unknownCommandMessage() {<a name="line.295"></a>
-<span class="sourceLineNo">296</span> cancelTimer();<a name="line.296"></a>
-<span class="sourceLineNo">297</span> return topScreenPresenter.goToMessageMode(getScreen(), getTerminal(), MESSAGE_ROW,<a name="line.297"></a>
-<span class="sourceLineNo">298</span> "Unknown command - try 'h' for help");<a name="line.298"></a>
+<span class="sourceLineNo">265</span><a name="line.265"></a>
+<span class="sourceLineNo">266</span> if (record == selectedRecord) {<a name="line.266"></a>
+<span class="sourceLineNo">267</span> printer.startHighlight().print(recordString).stopHighlight().endOfLine();<a name="line.267"></a>
+<span class="sourceLineNo">268</span> } else {<a name="line.268"></a>
+<span class="sourceLineNo">269</span> printer.print(recordString).endOfLine();<a name="line.269"></a>
+<span class="sourceLineNo">270</span> }<a name="line.270"></a>
+<span class="sourceLineNo">271</span> } else {<a name="line.271"></a>
+<span class="sourceLineNo">272</span> printer.endOfLine();<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><a name="line.276"></a>
+<span class="sourceLineNo">277</span> private void showHeaders(List<Header> headers) {<a name="line.277"></a>
+<span class="sourceLineNo">278</span> String header = headers.stream()<a name="line.278"></a>
+<span class="sourceLineNo">279</span> .map(h -> String.format(h.format(), h.getField().getHeader()))<a name="line.279"></a>
+<span class="sourceLineNo">280</span> .collect(Collectors.joining(" "));<a name="line.280"></a>
+<span class="sourceLineNo">281</span><a name="line.281"></a>
+<span class="sourceLineNo">282</span> if (!header.isEmpty()) {<a name="line.282"></a>
+<span class="sourceLineNo">283</span> header += " ";<a name="line.283"></a>
+<span class="sourceLineNo">284</span> }<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span> getTerminalPrinter(RECORD_HEADER_ROW).startHighlight().print(header).stopHighlight()<a name="line.286"></a>
+<span class="sourceLineNo">287</span> .endOfLine();<a name="line.287"></a>
+<span class="sourceLineNo">288</span> }<a name="line.288"></a>
+<span class="sourceLineNo">289</span><a name="line.289"></a>
+<span class="sourceLineNo">290</span> private String limitLineLength(String line, int length) {<a name="line.290"></a>
+<span class="sourceLineNo">291</span> if (line.length() > length) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span> return line.substring(0, length - 1) + "+";<a name="line.292"></a>
+<span class="sourceLineNo">293</span> }<a name="line.293"></a>
+<span class="sourceLineNo">294</span> return line;<a name="line.294"></a>
+<span class="sourceLineNo">295</span> }<a name="line.295"></a>
+<span class="sourceLineNo">296</span><a name="line.296"></a>
+<span class="sourceLineNo">297</span> private void clearMessage() {<a name="line.297"></a>
+<span class="sourceLineNo">298</span> getTerminalPrinter(MESSAGE_ROW).print("").endOfLine();<a name="line.298"></a>
<span class="sourceLineNo">299</span> }<a name="line.299"></a>
-<span class="sourceLineNo">300</span>}<a name="line.300"></a>
+<span class="sourceLineNo">300</span><a name="line.300"></a>
+<span class="sourceLineNo">301</span> private ScreenView unknownCommandMessage() {<a name="line.301"></a>
+<span class="sourceLineNo">302</span> cancelTimer();<a name="line.302"></a>
+<span class="sourceLineNo">303</span> return topScreenPresenter.goToMessageMode(getScreen(), getTerminal(), MESSAGE_ROW,<a name="line.303"></a>
+<span class="sourceLineNo">304</span> "Unknown command - try 'h' for help");<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>
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/hbtop/terminal/impl/KeyPressGenerator.ParseState.html b/devapidocs/src-html/org/apache/hadoop/hbase/hbtop/terminal/impl/KeyPressGenerator.ParseState.html
index f1ee4bf..48bb911 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/hbtop/terminal/impl/KeyPressGenerator.ParseState.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/hbtop/terminal/impl/KeyPressGenerator.ParseState.html
@@ -83,8 +83,8 @@
<span class="sourceLineNo">075</span> }<a name="line.75"></a>
<span class="sourceLineNo">076</span><a name="line.76"></a>
<span class="sourceLineNo">077</span> public void start() {<a name="line.77"></a>
-<span class="sourceLineNo">078</span> executorService.submit(this::readerThread);<a name="line.78"></a>
-<span class="sourceLineNo">079</span> executorService.submit(this::generatorThread);<a name="line.79"></a>
+<span class="sourceLineNo">078</span> executorService.execute(this::readerThread);<a name="line.78"></a>
+<span class="sourceLineNo">079</span> executorService.execute(this::generatorThread);<a name="line.79"></a>
<span class="sourceLineNo">080</span> }<a name="line.80"></a>
<span class="sourceLineNo">081</span><a name="line.81"></a>
<span class="sourceLineNo">082</span> private void initState() {<a name="line.82"></a>
@@ -166,334 +166,338 @@
<span class="sourceLineNo">158</span> case '\t':<a name="line.158"></a>
<span class="sourceLineNo">159</span> offer(new KeyPress(KeyPress.Type.Tab, '\t', false, false, false));<a name="line.159"></a>
<span class="sourceLineNo">160</span> continue;<a name="line.160"></a>
-<span class="sourceLineNo">161</span> }<a name="line.161"></a>
-<span class="sourceLineNo">162</span><a name="line.162"></a>
-<span class="sourceLineNo">163</span> if (ch < 32) {<a name="line.163"></a>
-<span class="sourceLineNo">164</span> ctrlAndCharacter(ch);<a name="line.164"></a>
-<span class="sourceLineNo">165</span> continue;<a name="line.165"></a>
-<span class="sourceLineNo">166</span> }<a name="line.166"></a>
-<span class="sourceLineNo">167</span><a name="line.167"></a>
-<span class="sourceLineNo">168</span> if (isPrintableChar(ch)) {<a name="line.168"></a>
-<span class="sourceLineNo">169</span> // Normal character<a name="line.169"></a>
-<span class="sourceLineNo">170</span> offer(new KeyPress(KeyPress.Type.Character, ch, false, false, false));<a name="line.170"></a>
-<span class="sourceLineNo">171</span> continue;<a name="line.171"></a>
-<span class="sourceLineNo">172</span> }<a name="line.172"></a>
-<span class="sourceLineNo">173</span><a name="line.173"></a>
-<span class="sourceLineNo">174</span> offer(new KeyPress(KeyPress.Type.Unknown, null, false, false, false));<a name="line.174"></a>
-<span class="sourceLineNo">175</span> continue;<a name="line.175"></a>
-<span class="sourceLineNo">176</span> }<a name="line.176"></a>
+<span class="sourceLineNo">161</span><a name="line.161"></a>
+<span class="sourceLineNo">162</span> default:<a name="line.162"></a>
+<span class="sourceLineNo">163</span> // Do nothing<a name="line.163"></a>
+<span class="sourceLineNo">164</span> break;<a name="line.164"></a>
+<span class="sourceLineNo">165</span> }<a name="line.165"></a>
+<span class="sourceLineNo">166</span><a name="line.166"></a>
+<span class="sourceLineNo">167</span> if (ch < 32) {<a name="line.167"></a>
+<span class="sourceLineNo">168</span> ctrlAndCharacter(ch);<a name="line.168"></a>
+<span class="sourceLineNo">169</span> continue;<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> if (isPrintableChar(ch)) {<a name="line.172"></a>
+<span class="sourceLineNo">173</span> // Normal character<a name="line.173"></a>
+<span class="sourceLineNo">174</span> offer(new KeyPress(KeyPress.Type.Character, ch, false, false, false));<a name="line.174"></a>
+<span class="sourceLineNo">175</span> continue;<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> if (parseState == ParseState.ESCAPE) {<a name="line.178"></a>
-<span class="sourceLineNo">179</span> if (ch == 0x1B) {<a name="line.179"></a>
-<span class="sourceLineNo">180</span> offer(new KeyPress(KeyPress.Type.Escape, null, false, false, false));<a name="line.180"></a>
-<span class="sourceLineNo">181</span> continue;<a name="line.181"></a>
-<span class="sourceLineNo">182</span> }<a name="line.182"></a>
-<span class="sourceLineNo">183</span><a name="line.183"></a>
-<span class="sourceLineNo">184</span> if (ch < 32 && ch != 0x08) {<a name="line.184"></a>
-<span class="sourceLineNo">185</span> ctrlAltAndCharacter(ch);<a name="line.185"></a>
-<span class="sourceLineNo">186</span> initState();<a name="line.186"></a>
-<span class="sourceLineNo">187</span> continue;<a name="line.187"></a>
-<span class="sourceLineNo">188</span> } else if (ch == 0x7F || ch == 0x08) {<a name="line.188"></a>
-<span class="sourceLineNo">189</span> offer(new KeyPress(KeyPress.Type.Backspace, '\b', false, false, false));<a name="line.189"></a>
+<span class="sourceLineNo">178</span> offer(new KeyPress(KeyPress.Type.Unknown, null, false, false, false));<a name="line.178"></a>
+<span class="sourceLineNo">179</span> continue;<a name="line.179"></a>
+<span class="sourceLineNo">180</span> }<a name="line.180"></a>
+<span class="sourceLineNo">181</span><a name="line.181"></a>
+<span class="sourceLineNo">182</span> if (parseState == ParseState.ESCAPE) {<a name="line.182"></a>
+<span class="sourceLineNo">183</span> if (ch == 0x1B) {<a name="line.183"></a>
+<span class="sourceLineNo">184</span> offer(new KeyPress(KeyPress.Type.Escape, null, false, false, false));<a name="line.184"></a>
+<span class="sourceLineNo">185</span> continue;<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> if (ch < 32 && ch != 0x08) {<a name="line.188"></a>
+<span class="sourceLineNo">189</span> ctrlAltAndCharacter(ch);<a name="line.189"></a>
<span class="sourceLineNo">190</span> initState();<a name="line.190"></a>
<span class="sourceLineNo">191</span> continue;<a name="line.191"></a>
-<span class="sourceLineNo">192</span> }<a name="line.192"></a>
-<span class="sourceLineNo">193</span><a name="line.193"></a>
-<span class="sourceLineNo">194</span> if (ch == '[' || ch == 'O') {<a name="line.194"></a>
-<span class="sourceLineNo">195</span> parseState = ParseState.ESCAPE_SEQUENCE_PARAM1;<a name="line.195"></a>
-<span class="sourceLineNo">196</span> continue;<a name="line.196"></a>
-<span class="sourceLineNo">197</span> }<a name="line.197"></a>
-<span class="sourceLineNo">198</span><a name="line.198"></a>
-<span class="sourceLineNo">199</span> if (isPrintableChar(ch)) {<a name="line.199"></a>
-<span class="sourceLineNo">200</span> // Alt and character<a name="line.200"></a>
-<span class="sourceLineNo">201</span> offer(new KeyPress(KeyPress.Type.Character, ch, true, false, false));<a name="line.201"></a>
-<span class="sourceLineNo">202</span> initState();<a name="line.202"></a>
-<span class="sourceLineNo">203</span> continue;<a name="line.203"></a>
-<span class="sourceLineNo">204</span> }<a name="line.204"></a>
-<span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span> offer(new KeyPress(KeyPress.Type.Escape, null, false, false, false));<a name="line.206"></a>
-<span class="sourceLineNo">207</span> offer(new KeyPress(KeyPress.Type.Unknown, null, false, false, false));<a name="line.207"></a>
-<span class="sourceLineNo">208</span> initState();<a name="line.208"></a>
-<span class="sourceLineNo">209</span> continue;<a name="line.209"></a>
-<span class="sourceLineNo">210</span> }<a name="line.210"></a>
-<span class="sourceLineNo">211</span><a name="line.211"></a>
-<span class="sourceLineNo">212</span> escapeSequenceCharacter(ch);<a name="line.212"></a>
-<span class="sourceLineNo">213</span> }<a name="line.213"></a>
-<span class="sourceLineNo">214</span> }<a name="line.214"></a>
+<span class="sourceLineNo">192</span> } else if (ch == 0x7F || ch == 0x08) {<a name="line.192"></a>
+<span class="sourceLineNo">193</span> offer(new KeyPress(KeyPress.Type.Backspace, '\b', false, false, false));<a name="line.193"></a>
+<span class="sourceLineNo">194</span> initState();<a name="line.194"></a>
+<span class="sourceLineNo">195</span> continue;<a name="line.195"></a>
+<span class="sourceLineNo">196</span> }<a name="line.196"></a>
+<span class="sourceLineNo">197</span><a name="line.197"></a>
+<span class="sourceLineNo">198</span> if (ch == '[' || ch == 'O') {<a name="line.198"></a>
+<span class="sourceLineNo">199</span> parseState = ParseState.ESCAPE_SEQUENCE_PARAM1;<a name="line.199"></a>
+<span class="sourceLineNo">200</span> continue;<a name="line.200"></a>
+<span class="sourceLineNo">201</span> }<a name="line.201"></a>
+<span class="sourceLineNo">202</span><a name="line.202"></a>
+<span class="sourceLineNo">203</span> if (isPrintableChar(ch)) {<a name="line.203"></a>
+<span class="sourceLineNo">204</span> // Alt and character<a name="line.204"></a>
+<span class="sourceLineNo">205</span> offer(new KeyPress(KeyPress.Type.Character, ch, true, false, false));<a name="line.205"></a>
+<span class="sourceLineNo">206</span> initState();<a name="line.206"></a>
+<span class="sourceLineNo">207</span> continue;<a name="line.207"></a>
+<span class="sourceLineNo">208</span> }<a name="line.208"></a>
+<span class="sourceLineNo">209</span><a name="line.209"></a>
+<span class="sourceLineNo">210</span> offer(new KeyPress(KeyPress.Type.Escape, null, false, false, false));<a name="line.210"></a>
+<span class="sourceLineNo">211</span> offer(new KeyPress(KeyPress.Type.Unknown, null, false, false, false));<a name="line.211"></a>
+<span class="sourceLineNo">212</span> initState();<a name="line.212"></a>
+<span class="sourceLineNo">213</span> continue;<a name="line.213"></a>
+<span class="sourceLineNo">214</span> }<a name="line.214"></a>
<span class="sourceLineNo">215</span><a name="line.215"></a>
-<span class="sourceLineNo">216</span> private void ctrlAndCharacter(char ch) {<a name="line.216"></a>
-<span class="sourceLineNo">217</span> char ctrlCode;<a name="line.217"></a>
-<span class="sourceLineNo">218</span> switch (ch) {<a name="line.218"></a>
-<span class="sourceLineNo">219</span> case 0:<a name="line.219"></a>
-<span class="sourceLineNo">220</span> ctrlCode = ' ';<a name="line.220"></a>
-<span class="sourceLineNo">221</span> break;<a name="line.221"></a>
-<span class="sourceLineNo">222</span><a name="line.222"></a>
-<span class="sourceLineNo">223</span> case 28:<a name="line.223"></a>
-<span class="sourceLineNo">224</span> ctrlCode = '\\';<a name="line.224"></a>
+<span class="sourceLineNo">216</span> escapeSequenceCharacter(ch);<a name="line.216"></a>
+<span class="sourceLineNo">217</span> }<a name="line.217"></a>
+<span class="sourceLineNo">218</span> }<a name="line.218"></a>
+<span class="sourceLineNo">219</span><a name="line.219"></a>
+<span class="sourceLineNo">220</span> private void ctrlAndCharacter(char ch) {<a name="line.220"></a>
+<span class="sourceLineNo">221</span> char ctrlCode;<a name="line.221"></a>
+<span class="sourceLineNo">222</span> switch (ch) {<a name="line.222"></a>
+<span class="sourceLineNo">223</span> case 0:<a name="line.223"></a>
+<span class="sourceLineNo">224</span> ctrlCode = ' ';<a name="line.224"></a>
<span class="sourceLineNo">225</span> break;<a name="line.225"></a>
<span class="sourceLineNo">226</span><a name="line.226"></a>
-<span class="sourceLineNo">227</span> case 29:<a name="line.227"></a>
-<span class="sourceLineNo">228</span> ctrlCode = ']';<a name="line.228"></a>
+<span class="sourceLineNo">227</span> case 28:<a name="line.227"></a>
+<span class="sourceLineNo">228</span> ctrlCode = '\\';<a name="line.228"></a>
<span class="sourceLineNo">229</span> break;<a name="line.229"></a>
<span class="sourceLineNo">230</span><a name="line.230"></a>
-<span class="sourceLineNo">231</span> case 30:<a name="line.231"></a>
-<span class="sourceLineNo">232</span> ctrlCode = '^';<a name="line.232"></a>
+<span class="sourceLineNo">231</span> case 29:<a name="line.231"></a>
+<span class="sourceLineNo">232</span> ctrlCode = ']';<a name="line.232"></a>
<span class="sourceLineNo">233</span> break;<a name="line.233"></a>
<span class="sourceLineNo">234</span><a name="line.234"></a>
-<span class="sourceLineNo">235</span> case 31:<a name="line.235"></a>
-<span class="sourceLineNo">236</span> ctrlCode = '_';<a name="line.236"></a>
+<span class="sourceLineNo">235</span> case 30:<a name="line.235"></a>
+<span class="sourceLineNo">236</span> ctrlCode = '^';<a name="line.236"></a>
<span class="sourceLineNo">237</span> break;<a name="line.237"></a>
<span class="sourceLineNo">238</span><a name="line.238"></a>
-<span class="sourceLineNo">239</span> default:<a name="line.239"></a>
-<span class="sourceLineNo">240</span> ctrlCode = (char) ('a' - 1 + ch);<a name="line.240"></a>
+<span class="sourceLineNo">239</span> case 31:<a name="line.239"></a>
+<span class="sourceLineNo">240</span> ctrlCode = '_';<a name="line.240"></a>
<span class="sourceLineNo">241</span> break;<a name="line.241"></a>
-<span class="sourceLineNo">242</span> }<a name="line.242"></a>
-<span class="sourceLineNo">243</span> offer(new KeyPress(KeyPress.Type.Character, ctrlCode, false, true, false));<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> private boolean isPrintableChar(char ch) {<a name="line.246"></a>
-<span class="sourceLineNo">247</span> if (Character.isISOControl(ch)) {<a name="line.247"></a>
-<span class="sourceLineNo">248</span> return false;<a name="line.248"></a>
-<span class="sourceLineNo">249</span> }<a name="line.249"></a>
-<span class="sourceLineNo">250</span> Character.UnicodeBlock block = Character.UnicodeBlock.of(ch);<a name="line.250"></a>
-<span class="sourceLineNo">251</span> return block != null && block != Character.UnicodeBlock.SPECIALS;<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> private void ctrlAltAndCharacter(char ch) {<a name="line.254"></a>
-<span class="sourceLineNo">255</span> char ctrlCode;<a name="line.255"></a>
-<span class="sourceLineNo">256</span> switch (ch) {<a name="line.256"></a>
-<span class="sourceLineNo">257</span> case 0:<a name="line.257"></a>
-<span class="sourceLineNo">258</span> ctrlCode = ' ';<a name="line.258"></a>
-<span class="sourceLineNo">259</span> break;<a name="line.259"></a>
-<span class="sourceLineNo">260</span><a name="line.260"></a>
-<span class="sourceLineNo">261</span> case 28:<a name="line.261"></a>
-<span class="sourceLineNo">262</span> ctrlCode = '\\';<a name="line.262"></a>
+<span class="sourceLineNo">242</span><a name="line.242"></a>
+<span class="sourceLineNo">243</span> default:<a name="line.243"></a>
+<span class="sourceLineNo">244</span> ctrlCode = (char) ('a' - 1 + ch);<a name="line.244"></a>
+<span class="sourceLineNo">245</span> break;<a name="line.245"></a>
+<span class="sourceLineNo">246</span> }<a name="line.246"></a>
+<span class="sourceLineNo">247</span> offer(new KeyPress(KeyPress.Type.Character, ctrlCode, false, true, false));<a name="line.247"></a>
+<span class="sourceLineNo">248</span> }<a name="line.248"></a>
+<span class="sourceLineNo">249</span><a name="line.249"></a>
+<span class="sourceLineNo">250</span> private boolean isPrintableChar(char ch) {<a name="line.250"></a>
+<span class="sourceLineNo">251</span> if (Character.isISOControl(ch)) {<a name="line.251"></a>
+<span class="sourceLineNo">252</span> return false;<a name="line.252"></a>
+<span class="sourceLineNo">253</span> }<a name="line.253"></a>
+<span class="sourceLineNo">254</span> Character.UnicodeBlock block = Character.UnicodeBlock.of(ch);<a name="line.254"></a>
+<span class="sourceLineNo">255</span> return block != null && !block.equals(Character.UnicodeBlock.SPECIALS);<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> private void ctrlAltAndCharacter(char ch) {<a name="line.258"></a>
+<span class="sourceLineNo">259</span> char ctrlCode;<a name="line.259"></a>
+<span class="sourceLineNo">260</span> switch (ch) {<a name="line.260"></a>
+<span class="sourceLineNo">261</span> case 0:<a name="line.261"></a>
+<span class="sourceLineNo">262</span> ctrlCode = ' ';<a name="line.262"></a>
<span class="sourceLineNo">263</span> break;<a name="line.263"></a>
<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span> case 29:<a name="line.265"></a>
-<span class="sourceLineNo">266</span> ctrlCode = ']';<a name="line.266"></a>
+<span class="sourceLineNo">265</span> case 28:<a name="line.265"></a>
+<span class="sourceLineNo">266</span> ctrlCode = '\\';<a name="line.266"></a>
<span class="sourceLineNo">267</span> break;<a name="line.267"></a>
<span class="sourceLineNo">268</span><a name="line.268"></a>
-<span class="sourceLineNo">269</span> case 30:<a name="line.269"></a>
-<span class="sourceLineNo">270</span> ctrlCode = '^';<a name="line.270"></a>
+<span class="sourceLineNo">269</span> case 29:<a name="line.269"></a>
+<span class="sourceLineNo">270</span> ctrlCode = ']';<a name="line.270"></a>
<span class="sourceLineNo">271</span> break;<a name="line.271"></a>
<span class="sourceLineNo">272</span><a name="line.272"></a>
-<span class="sourceLineNo">273</span> case 31:<a name="line.273"></a>
-<span class="sourceLineNo">274</span> ctrlCode = '_';<a name="line.274"></a>
+<span class="sourceLineNo">273</span> case 30:<a name="line.273"></a>
+<span class="sourceLineNo">274</span> ctrlCode = '^';<a name="line.274"></a>
<span class="sourceLineNo">275</span> break;<a name="line.275"></a>
<span class="sourceLineNo">276</span><a name="line.276"></a>
-<span class="sourceLineNo">277</span> default:<a name="line.277"></a>
-<span class="sourceLineNo">278</span> ctrlCode = (char) ('a' - 1 + ch);<a name="line.278"></a>
+<span class="sourceLineNo">277</span> case 31:<a name="line.277"></a>
+<span class="sourceLineNo">278</span> ctrlCode = '_';<a name="line.278"></a>
<span class="sourceLineNo">279</span> break;<a name="line.279"></a>
-<span class="sourceLineNo">280</span> }<a name="line.280"></a>
-<span class="sourceLineNo">281</span> offer(new KeyPress(KeyPress.Type.Character, ctrlCode, true, true, false));<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> private void escapeSequenceCharacter(char ch) {<a name="line.284"></a>
-<span class="sourceLineNo">285</span> switch (parseState) {<a name="line.285"></a>
-<span class="sourceLineNo">286</span> case ESCAPE_SEQUENCE_PARAM1:<a name="line.286"></a>
-<span class="sourceLineNo">287</span> if (ch == ';') {<a name="line.287"></a>
-<span class="sourceLineNo">288</span> parseState = ParseState.ESCAPE_SEQUENCE_PARAM2;<a name="line.288"></a>
-<span class="sourceLineNo">289</span> } else if (Character.isDigit(ch)) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span> param1 = param1 * 10 + Character.digit(ch, 10);<a name="line.290"></a>
-<span class="sourceLineNo">291</span> } else {<a name="line.291"></a>
-<span class="sourceLineNo">292</span> doneEscapeSequenceCharacter(ch);<a name="line.292"></a>
-<span class="sourceLineNo">293</span> }<a name="line.293"></a>
-<span class="sourceLineNo">294</span> break;<a name="line.294"></a>
-<span class="sourceLineNo">295</span><a name="line.295"></a>
-<span class="sourceLineNo">296</span> case ESCAPE_SEQUENCE_PARAM2:<a name="line.296"></a>
-<span class="sourceLineNo">297</span> if (Character.isDigit(ch)) {<a name="line.297"></a>
-<span class="sourceLineNo">298</span> param2 = param2 * 10 + Character.digit(ch, 10);<a name="line.298"></a>
-<span class="sourceLineNo">299</span> } else {<a name="line.299"></a>
-<span class="sourceLineNo">300</span> doneEscapeSequenceCharacter(ch);<a name="line.300"></a>
-<span class="sourceLineNo">301</span> }<a name="line.301"></a>
-<span class="sourceLineNo">302</span> break;<a name="line.302"></a>
-<span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span> default:<a name="line.304"></a>
-<span class="sourceLineNo">305</span> throw new AssertionError();<a name="line.305"></a>
-<span class="sourceLineNo">306</span> }<a name="line.306"></a>
-<span class="sourceLineNo">307</span> }<a name="line.307"></a>
-<span class="sourceLineNo">308</span><a name="line.308"></a>
-<span class="sourceLineNo">309</span> private void doneEscapeSequenceCharacter(char last) {<a name="line.309"></a>
-<span class="sourceLineNo">310</span> boolean alt = false;<a name="line.310"></a>
-<span class="sourceLineNo">311</span> boolean ctrl = false;<a name="line.311"></a>
-<span class="sourceLineNo">312</span> boolean shift = false;<a name="line.312"></a>
-<span class="sourceLineNo">313</span> if (param2 != 0) {<a name="line.313"></a>
-<span class="sourceLineNo">314</span> alt = isAlt(param2);<a name="line.314"></a>
-<span class="sourceLineNo">315</span> ctrl = isCtrl(param2);<a name="line.315"></a>
-<span class="sourceLineNo">316</span> shift = isShift(param2);<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> if (last != '~') {<a name="line.319"></a>
-<span class="sourceLineNo">320</span> switch (last) {<a name="line.320"></a>
-<span class="sourceLineNo">321</span> case 'A':<a name="line.321"></a>
-<span class="sourceLineNo">322</span> offer(new KeyPress(KeyPress.Type.ArrowUp, null, alt, ctrl, shift));<a name="line.322"></a>
-<span class="sourceLineNo">323</span> break;<a name="line.323"></a>
-<span class="sourceLineNo">324</span><a name="line.324"></a>
-<span class="sourceLineNo">325</span> case 'B':<a name="line.325"></a>
-<span class="sourceLineNo">326</span> offer(new KeyPress(KeyPress.Type.ArrowDown, null, alt, ctrl, shift));<a name="line.326"></a>
+<span class="sourceLineNo">280</span><a name="line.280"></a>
+<span class="sourceLineNo">281</span> default:<a name="line.281"></a>
+<span class="sourceLineNo">282</span> ctrlCode = (char) ('a' - 1 + ch);<a name="line.282"></a>
+<span class="sourceLineNo">283</span> break;<a name="line.283"></a>
+<span class="sourceLineNo">284</span> }<a name="line.284"></a>
+<span class="sourceLineNo">285</span> offer(new KeyPress(KeyPress.Type.Character, ctrlCode, true, true, false));<a name="line.285"></a>
+<span class="sourceLineNo">286</span> }<a name="line.286"></a>
+<span class="sourceLineNo">287</span><a name="line.287"></a>
+<span class="sourceLineNo">288</span> private void escapeSequenceCharacter(char ch) {<a name="line.288"></a>
+<span class="sourceLineNo">289</span> switch (parseState) {<a name="line.289"></a>
+<span class="sourceLineNo">290</span> case ESCAPE_SEQUENCE_PARAM1:<a name="line.290"></a>
+<span class="sourceLineNo">291</span> if (ch == ';') {<a name="line.291"></a>
+<span class="sourceLineNo">292</span> parseState = ParseState.ESCAPE_SEQUENCE_PARAM2;<a name="line.292"></a>
+<span class="sourceLineNo">293</span> } else if (Character.isDigit(ch)) {<a name="line.293"></a>
+<span class="sourceLineNo">294</span> param1 = param1 * 10 + Character.digit(ch, 10);<a name="line.294"></a>
+<span class="sourceLineNo">295</span> } else {<a name="line.295"></a>
+<span class="sourceLineNo">296</span> doneEscapeSequenceCharacter(ch);<a name="line.296"></a>
+<span class="sourceLineNo">297</span> }<a name="line.297"></a>
+<span class="sourceLineNo">298</span> break;<a name="line.298"></a>
+<span class="sourceLineNo">299</span><a name="line.299"></a>
+<span class="sourceLineNo">300</span> case ESCAPE_SEQUENCE_PARAM2:<a name="line.300"></a>
+<span class="sourceLineNo">301</span> if (Character.isDigit(ch)) {<a name="line.301"></a>
+<span class="sourceLineNo">302</span> param2 = param2 * 10 + Character.digit(ch, 10);<a name="line.302"></a>
+<span class="sourceLineNo">303</span> } else {<a name="line.303"></a>
+<span class="sourceLineNo">304</span> doneEscapeSequenceCharacter(ch);<a name="line.304"></a>
+<span class="sourceLineNo">305</span> }<a name="line.305"></a>
+<span class="sourceLineNo">306</span> break;<a name="line.306"></a>
+<span class="sourceLineNo">307</span><a name="line.307"></a>
+<span class="sourceLineNo">308</span> default:<a name="line.308"></a>
+<span class="sourceLineNo">309</span> throw new AssertionError();<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><a name="line.312"></a>
+<span class="sourceLineNo">313</span> private void doneEscapeSequenceCharacter(char last) {<a name="line.313"></a>
+<span class="sourceLineNo">314</span> boolean alt = false;<a name="line.314"></a>
+<span class="sourceLineNo">315</span> boolean ctrl = false;<a name="line.315"></a>
+<span class="sourceLineNo">316</span> boolean shift = false;<a name="line.316"></a>
+<span class="sourceLineNo">317</span> if (param2 != 0) {<a name="line.317"></a>
+<span class="sourceLineNo">318</span> alt = isAlt(param2);<a name="line.318"></a>
+<span class="sourceLineNo">319</span> ctrl = isCtrl(param2);<a name="line.319"></a>
+<span class="sourceLineNo">320</span> shift = isShift(param2);<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> if (last != '~') {<a name="line.323"></a>
+<span class="sourceLineNo">324</span> switch (last) {<a name="line.324"></a>
+<span class="sourceLineNo">325</span> case 'A':<a name="line.325"></a>
+<span class="sourceLineNo">326</span> offer(new KeyPress(KeyPress.Type.ArrowUp, null, alt, ctrl, shift));<a name="line.326"></a>
<span class="sourceLineNo">327</span> break;<a name="line.327"></a>
<span class="sourceLineNo">328</span><a name="line.328"></a>
-<span class="sourceLineNo">329</span> case 'C':<a name="line.329"></a>
-<span class="sourceLineNo">330</span> offer(new KeyPress(KeyPress.Type.ArrowRight, null, alt, ctrl, shift));<a name="line.330"></a>
+<span class="sourceLineNo">329</span> case 'B':<a name="line.329"></a>
+<span class="sourceLineNo">330</span> offer(new KeyPress(KeyPress.Type.ArrowDown, null, alt, ctrl, shift));<a name="line.330"></a>
<span class="sourceLineNo">331</span> break;<a name="line.331"></a>
<span class="sourceLineNo">332</span><a name="line.332"></a>
-<span class="sourceLineNo">333</span> case 'D':<a name="line.333"></a>
-<span class="sourceLineNo">334</span> offer(new KeyPress(KeyPress.Type.ArrowLeft, null, alt, ctrl, shift));<a name="line.334"></a>
+<span class="sourceLineNo">333</span> case 'C':<a name="line.333"></a>
+<span class="sourceLineNo">334</span> offer(new KeyPress(KeyPress.Type.ArrowRight, null, alt, ctrl, shift));<a name="line.334"></a>
<span class="sourceLineNo">335</span> break;<a name="line.335"></a>
<span class="sourceLineNo">336</span><a name="line.336"></a>
-<span class="sourceLineNo">337</span> case 'H':<a name="line.337"></a>
-<span class="sourceLineNo">338</span> offer(new KeyPress(KeyPress.Type.Home, null, alt, ctrl, shift));<a name="line.338"></a>
+<span class="sourceLineNo">337</span> case 'D':<a name="line.337"></a>
+<span class="sourceLineNo">338</span> offer(new KeyPress(KeyPress.Type.ArrowLeft, null, alt, ctrl, shift));<a name="line.338"></a>
<span class="sourceLineNo">339</span> break;<a name="line.339"></a>
<span class="sourceLineNo">340</span><a name="line.340"></a>
-<span class="sourceLineNo">341</span> case 'F':<a name="line.341"></a>
-<span class="sourceLineNo">342</span> offer(new KeyPress(KeyPress.Type.End, null, alt, ctrl, shift));<a name="line.342"></a>
+<span class="sourceLineNo">341</span> case 'H':<a name="line.341"></a>
+<span class="sourceLineNo">342</span> offer(new KeyPress(KeyPress.Type.Home, null, alt, ctrl, shift));<a name="line.342"></a>
<span class="sourceLineNo">343</span> break;<a name="line.343"></a>
<span class="sourceLineNo">344</span><a name="line.344"></a>
-<span class="sourceLineNo">345</span> case 'P':<a name="line.345"></a>
-<span class="sourceLineNo">346</span> offer(new KeyPress(KeyPress.Type.F1, null, alt, ctrl, shift));<a name="line.346"></a>
+<span class="sourceLineNo">345</span> case 'F':<a name="line.345"></a>
+<span class="sourceLineNo">346</span> offer(new KeyPress(KeyPress.Type.End, null, alt, ctrl, shift));<a name="line.346"></a>
<span class="sourceLineNo">347</span> break;<a name="line.347"></a>
<span class="sourceLineNo">348</span><a name="line.348"></a>
-<span class="sourceLineNo">349</span> case 'Q':<a name="line.349"></a>
-<span class="sourceLineNo">350</span> offer(new KeyPress(KeyPress.Type.F2, null, alt, ctrl, shift));<a name="line.350"></a>
+<span class="sourceLineNo">349</span> case 'P':<a name="line.349"></a>
+<span class="sourceLineNo">350</span> offer(new KeyPress(KeyPress.Type.F1, null, alt, ctrl, shift));<a name="line.350"></a>
<span class="sourceLineNo">351</span> break;<a name="line.351"></a>
<span class="sourceLineNo">352</span><a name="line.352"></a>
-<span class="sourceLineNo">353</span> case 'R':<a name="line.353"></a>
-<span class="sourceLineNo">354</span> offer(new KeyPress(KeyPress.Type.F3, null, alt, ctrl, shift));<a name="line.354"></a>
+<span class="sourceLineNo">353</span> case 'Q':<a name="line.353"></a>
+<span class="sourceLineNo">354</span> offer(new KeyPress(KeyPress.Type.F2, null, alt, ctrl, shift));<a name="line.354"></a>
<span class="sourceLineNo">355</span> break;<a name="line.355"></a>
<span class="sourceLineNo">356</span><a name="line.356"></a>
-<span class="sourceLineNo">357</span> case 'S':<a name="line.357"></a>
-<span class="sourceLineNo">358</span> offer(new KeyPress(KeyPress.Type.F4, null, alt, ctrl, shift));<a name="line.358"></a>
+<span class="sourceLineNo">357</span> case 'R':<a name="line.357"></a>
+<span class="sourceLineNo">358</span> offer(new KeyPress(KeyPress.Type.F3, null, alt, ctrl, shift));<a name="line.358"></a>
<span class="sourceLineNo">359</span> break;<a name="line.359"></a>
<span class="sourceLineNo">360</span><a name="line.360"></a>
-<span class="sourceLineNo">361</span> case 'Z':<a name="line.361"></a>
-<span class="sourceLineNo">362</span> offer(new KeyPress(KeyPress.Type.ReverseTab, null, alt, ctrl, shift));<a name="line.362"></a>
+<span class="sourceLineNo">361</span> case 'S':<a name="line.361"></a>
+<span class="sourceLineNo">362</span> offer(new KeyPress(KeyPress.Type.F4, null, alt, ctrl, shift));<a name="line.362"></a>
<span class="sourceLineNo">363</span> break;<a name="line.363"></a>
<span class="sourceLineNo">364</span><a name="line.364"></a>
-<span class="sourceLineNo">365</span> default:<a name="line.365"></a>
-<span class="sourceLineNo">366</span> offer(new KeyPress(KeyPress.Type.Unknown, null, alt, ctrl, shift));<a name="line.366"></a>
+<span class="sourceLineNo">365</span> case 'Z':<a name="line.365"></a>
+<span class="sourceLineNo">366</span> offer(new KeyPress(KeyPress.Type.ReverseTab, null, alt, ctrl, shift));<a name="line.366"></a>
<span class="sourceLineNo">367</span> break;<a name="line.367"></a>
-<span class="sourceLineNo">368</span> }<a name="line.368"></a>
-<span class="sourceLineNo">369</span> initState();<a name="line.369"></a>
-<span class="sourceLineNo">370</span> return;<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> switch (param1) {<a name="line.373"></a>
-<span class="sourceLineNo">374</span> case 1:<a name="line.374"></a>
-<span class="sourceLineNo">375</span> offer(new KeyPress(KeyPress.Type.Home, null, alt, ctrl, shift));<a name="line.375"></a>
-<span class="sourceLineNo">376</span> break;<a name="line.376"></a>
-<span class="sourceLineNo">377</span><a name="line.377"></a>
-<span class="sourceLineNo">378</span> case 2:<a name="line.378"></a>
-<span class="sourceLineNo">379</span> offer(new KeyPress(KeyPress.Type.Insert, null, alt, ctrl, shift));<a name="line.379"></a>
+<span class="sourceLineNo">368</span><a name="line.368"></a>
+<span class="sourceLineNo">369</span> default:<a name="line.369"></a>
+<span class="sourceLineNo">370</span> offer(new KeyPress(KeyPress.Type.Unknown, null, alt, ctrl, shift));<a name="line.370"></a>
+<span class="sourceLineNo">371</span> break;<a name="line.371"></a>
+<span class="sourceLineNo">372</span> }<a name="line.372"></a>
+<span class="sourceLineNo">373</span> initState();<a name="line.373"></a>
+<span class="sourceLineNo">374</span> return;<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> switch (param1) {<a name="line.377"></a>
+<span class="sourceLineNo">378</span> case 1:<a name="line.378"></a>
+<span class="sourceLineNo">379</span> offer(new KeyPress(KeyPress.Type.Home, null, alt, ctrl, shift));<a name="line.379"></a>
<span class="sourceLineNo">380</span> break;<a name="line.380"></a>
<span class="sourceLineNo">381</span><a name="line.381"></a>
-<span class="sourceLineNo">382</span> case 3:<a name="line.382"></a>
-<span class="sourceLineNo">383</span> offer(new KeyPress(KeyPress.Type.Delete, null, alt, ctrl, shift));<a name="line.383"></a>
+<span class="sourceLineNo">382</span> case 2:<a name="line.382"></a>
+<span class="sourceLineNo">383</span> offer(new KeyPress(KeyPress.Type.Insert, null, alt, ctrl, shift));<a name="line.383"></a>
<span class="sourceLineNo">384</span> break;<a name="line.384"></a>
<span class="sourceLineNo">385</span><a name="line.385"></a>
-<span class="sourceLineNo">386</span> case 4:<a name="line.386"></a>
-<span class="sourceLineNo">387</span> offer(new KeyPress(KeyPress.Type.End, null, alt, ctrl, shift));<a name="line.387"></a>
+<span class="sourceLineNo">386</span> case 3:<a name="line.386"></a>
+<span class="sourceLineNo">387</span> offer(new KeyPress(KeyPress.Type.Delete, null, alt, ctrl, shift));<a name="line.387"></a>
<span class="sourceLineNo">388</span> break;<a name="line.388"></a>
<span class="sourceLineNo">389</span><a name="line.389"></a>
-<span class="sourceLineNo">390</span> case 5:<a name="line.390"></a>
-<span class="sourceLineNo">391</span> offer(new KeyPress(KeyPress.Type.PageUp, null, alt, ctrl, shift));<a name="line.391"></a>
+<span class="sourceLineNo">390</span> case 4:<a name="line.390"></a>
+<span class="sourceLineNo">391</span> offer(new KeyPress(KeyPress.Type.End, null, alt, ctrl, shift));<a name="line.391"></a>
<span class="sourceLineNo">392</span> break;<a name="line.392"></a>
<span class="sourceLineNo">393</span><a name="line.393"></a>
-<span class="sourceLineNo">394</span> case 6:<a name="line.394"></a>
-<span class="sourceLineNo">395</span> offer(new KeyPress(KeyPress.Type.PageDown, null, alt, ctrl, shift));<a name="line.395"></a>
+<span class="sourceLineNo">394</span> case 5:<a name="line.394"></a>
+<span class="sourceLineNo">395</span> offer(new KeyPress(KeyPress.Type.PageUp, null, alt, ctrl, shift));<a name="line.395"></a>
<span class="sourceLineNo">396</span> break;<a name="line.396"></a>
<span class="sourceLineNo">397</span><a name="line.397"></a>
-<span class="sourceLineNo">398</span> case 11:<a name="line.398"></a>
-<span class="sourceLineNo">399</span> offer(new KeyPress(KeyPress.Type.F1, null, alt, ctrl, shift));<a name="line.399"></a>
+<span class="sourceLineNo">398</span> case 6:<a name="line.398"></a>
+<span class="sourceLineNo">399</span> offer(new KeyPress(KeyPress.Type.PageDown, null, alt, ctrl, shift));<a name="line.399"></a>
<span class="sourceLineNo">400</span> break;<a name="line.400"></a>
<span class="sourceLineNo">401</span><a name="line.401"></a>
-<span class="sourceLineNo">402</span> case 12:<a name="line.402"></a>
-<span class="sourceLineNo">403</span> offer(new KeyPress(KeyPress.Type.F2, null, alt, ctrl, shift));<a name="line.403"></a>
+<span class="sourceLineNo">402</span> case 11:<a name="line.402"></a>
+<span class="sourceLineNo">403</span> offer(new KeyPress(KeyPress.Type.F1, null, alt, ctrl, shift));<a name="line.403"></a>
<span class="sourceLineNo">404</span> break;<a name="line.404"></a>
<span class="sourceLineNo">405</span><a name="line.405"></a>
-<span class="sourceLineNo">406</span> case 13:<a name="line.406"></a>
-<span class="sourceLineNo">407</span> offer(new KeyPress(KeyPress.Type.F3, null, alt, ctrl, shift));<a name="line.407"></a>
+<span class="sourceLineNo">406</span> case 12:<a name="line.406"></a>
+<span class="sourceLineNo">407</span> offer(new KeyPress(KeyPress.Type.F2, null, alt, ctrl, shift));<a name="line.407"></a>
<span class="sourceLineNo">408</span> break;<a name="line.408"></a>
<span class="sourceLineNo">409</span><a name="line.409"></a>
-<span class="sourceLineNo">410</span> case 14:<a name="line.410"></a>
-<span class="sourceLineNo">411</span> offer(new KeyPress(KeyPress.Type.F4, null, alt, ctrl, shift));<a name="line.411"></a>
+<span class="sourceLineNo">410</span> case 13:<a name="line.410"></a>
+<span class="sourceLineNo">411</span> offer(new KeyPress(KeyPress.Type.F3, null, alt, ctrl, shift));<a name="line.411"></a>
<span class="sourceLineNo">412</span> break;<a name="line.412"></a>
<span class="sourceLineNo">413</span><a name="line.413"></a>
-<span class="sourceLineNo">414</span> case 15:<a name="line.414"></a>
-<span class="sourceLineNo">415</span> offer(new KeyPress(KeyPress.Type.F5, null, alt, ctrl, shift));<a name="line.415"></a>
+<span class="sourceLineNo">414</span> case 14:<a name="line.414"></a>
+<span class="sourceLineNo">415</span> offer(new KeyPress(KeyPress.Type.F4, null, alt, ctrl, shift));<a name="line.415"></a>
<span class="sourceLineNo">416</span> break;<a name="line.416"></a>
<span class="sourceLineNo">417</span><a name="line.417"></a>
-<span class="sourceLineNo">418</span> case 17:<a name="line.418"></a>
-<span class="sourceLineNo">419</span> offer(new KeyPress(KeyPress.Type.F6, null, alt, ctrl, shift));<a name="line.419"></a>
+<span class="sourceLineNo">418</span> case 15:<a name="line.418"></a>
+<span class="sourceLineNo">419</span> offer(new KeyPress(KeyPress.Type.F5, null, alt, ctrl, shift));<a name="line.419"></a>
<span class="sourceLineNo">420</span> break;<a name="line.420"></a>
<span class="sourceLineNo">421</span><a name="line.421"></a>
-<span class="sourceLineNo">422</span> case 18:<a name="line.422"></a>
-<span class="sourceLineNo">423</span> offer(new KeyPress(KeyPress.Type.F7, null, alt, ctrl, shift));<a name="line.423"></a>
+<span class="sourceLineNo">422</span> case 17:<a name="line.422"></a>
+<span class="sourceLineNo">423</span> offer(new KeyPress(KeyPress.Type.F6, null, alt, ctrl, shift));<a name="line.423"></a>
<span class="sourceLineNo">424</span> break;<a name="line.424"></a>
<span class="sourceLineNo">425</span><a name="line.425"></a>
-<span class="sourceLineNo">426</span> case 19:<a name="line.426"></a>
-<span class="sourceLineNo">427</span> offer(new KeyPress(KeyPress.Type.F8, null, alt, ctrl, shift));<a name="line.427"></a>
+<span class="sourceLineNo">426</span> case 18:<a name="line.426"></a>
+<span class="sourceLineNo">427</span> offer(new KeyPress(KeyPress.Type.F7, null, alt, ctrl, shift));<a name="line.427"></a>
<span class="sourceLineNo">428</span> break;<a name="line.428"></a>
<span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span> case 20:<a name="line.430"></a>
-<span class="sourceLineNo">431</span> offer(new KeyPress(KeyPress.Type.F9, null, alt, ctrl, shift));<a name="line.431"></a>
+<span class="sourceLineNo">430</span> case 19:<a name="line.430"></a>
+<span class="sourceLineNo">431</span> offer(new KeyPress(KeyPress.Type.F8, null, alt, ctrl, shift));<a name="line.431"></a>
<span class="sourceLineNo">432</span> break;<a name="line.432"></a>
<span class="sourceLineNo">433</span><a name="line.433"></a>
-<span class="sourceLineNo">434</span> case 21:<a name="line.434"></a>
-<span class="sourceLineNo">435</span> offer(new KeyPress(KeyPress.Type.F10, null, alt, ctrl, shift));<a name="line.435"></a>
+<span class="sourceLineNo">434</span> case 20:<a name="line.434"></a>
+<span class="sourceLineNo">435</span> offer(new KeyPress(KeyPress.Type.F9, null, alt, ctrl, shift));<a name="line.435"></a>
<span class="sourceLineNo">436</span> break;<a name="line.436"></a>
<span class="sourceLineNo">437</span><a name="line.437"></a>
-<span class="sourceLineNo">438</span> case 23:<a name="line.438"></a>
-<span class="sourceLineNo">439</span> offer(new KeyPress(KeyPress.Type.F11, null, alt, ctrl, shift));<a name="line.439"></a>
+<span class="sourceLineNo">438</span> case 21:<a name="line.438"></a>
+<span class="sourceLineNo">439</span> offer(new KeyPress(KeyPress.Type.F10, null, alt, ctrl, shift));<a name="line.439"></a>
<span class="sourceLineNo">440</span> break;<a name="line.440"></a>
<span class="sourceLineNo">441</span><a name="line.441"></a>
-<span class="sourceLineNo">442</span> case 24:<a name="line.442"></a>
-<span class="sourceLineNo">443</span> offer(new KeyPress(KeyPress.Type.F12, null, alt, ctrl, shift));<a name="line.443"></a>
+<span class="sourceLineNo">442</span> case 23:<a name="line.442"></a>
+<span class="sourceLineNo">443</span> offer(new KeyPress(KeyPress.Type.F11, null, alt, ctrl, shift));<a name="line.443"></a>
<span class="sourceLineNo">444</span> break;<a name="line.444"></a>
<span class="sourceLineNo">445</span><a name="line.445"></a>
-<span class="sourceLineNo">446</span> default:<a name="line.446"></a>
-<span class="sourceLineNo">447</span> offer(new KeyPress(KeyPress.Type.Unknown, null, false, false, false));<a name="line.447"></a>
+<span class="sourceLineNo">446</span> case 24:<a name="line.446"></a>
+<span class="sourceLineNo">447</span> offer(new KeyPress(KeyPress.Type.F12, null, alt, ctrl, shift));<a name="line.447"></a>
<span class="sourceLineNo">448</span> break;<a name="line.448"></a>
-<span class="sourceLineNo">449</span> }<a name="line.449"></a>
-<span class="sourceLineNo">450</span><a name="line.450"></a>
-<span class="sourceLineNo">451</span> initState();<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> private boolean isShift(int param) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span> return (param & 1) != 0;<a name="line.455"></a>
+<span class="sourceLineNo">449</span><a name="line.449"></a>
+<span class="sourceLineNo">450</span> default:<a name="line.450"></a>
+<span class="sourceLineNo">451</span> offer(new KeyPress(KeyPress.Type.Unknown, null, false, false, false));<a name="line.451"></a>
+<span class="sourceLineNo">452</span> break;<a name="line.452"></a>
+<span class="sourceLineNo">453</span> }<a name="line.453"></a>
+<span class="sourceLineNo">454</span><a name="line.454"></a>
+<span class="sourceLineNo">455</span> initState();<a name="line.455"></a>
<span class="sourceLineNo">456</span> }<a name="line.456"></a>
<span class="sourceLineNo">457</span><a name="line.457"></a>
-<span class="sourceLineNo">458</span> private boolean isAlt(int param) {<a name="line.458"></a>
-<span class="sourceLineNo">459</span> return (param & 2) != 0;<a name="line.459"></a>
+<span class="sourceLineNo">458</span> private boolean isShift(int param) {<a name="line.458"></a>
+<span class="sourceLineNo">459</span> return (param & 1) != 0;<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> private boolean isCtrl(int param) {<a name="line.462"></a>
-<span class="sourceLineNo">463</span> return (param & 4) != 0;<a name="line.463"></a>
+<span class="sourceLineNo">462</span> private boolean isAlt(int param) {<a name="line.462"></a>
+<span class="sourceLineNo">463</span> return (param & 2) != 0;<a name="line.463"></a>
<span class="sourceLineNo">464</span> }<a name="line.464"></a>
<span class="sourceLineNo">465</span><a name="line.465"></a>
-<span class="sourceLineNo">466</span> private void offer(KeyPress keyPress) {<a name="line.466"></a>
-<span class="sourceLineNo">467</span> // Handle ctrl + c<a name="line.467"></a>
-<span class="sourceLineNo">468</span> if (keyPress.isCtrl() && keyPress.getType() == KeyPress.Type.Character &&<a name="line.468"></a>
-<span class="sourceLineNo">469</span> keyPress.getCharacter() == 'c') {<a name="line.469"></a>
-<span class="sourceLineNo">470</span> System.exit(0);<a name="line.470"></a>
-<span class="sourceLineNo">471</span> }<a name="line.471"></a>
-<span class="sourceLineNo">472</span><a name="line.472"></a>
-<span class="sourceLineNo">473</span> keyPressQueue.offer(keyPress);<a name="line.473"></a>
-<span class="sourceLineNo">474</span> }<a name="line.474"></a>
-<span class="sourceLineNo">475</span><a name="line.475"></a>
-<span class="sourceLineNo">476</span> public void stop() {<a name="line.476"></a>
-<span class="sourceLineNo">477</span> stopThreads.set(true);<a name="line.477"></a>
-<span class="sourceLineNo">478</span><a name="line.478"></a>
-<span class="sourceLineNo">479</span> executorService.shutdown();<a name="line.479"></a>
-<span class="sourceLineNo">480</span> try {<a name="line.480"></a>
-<span class="sourceLineNo">481</span> while (!executorService.awaitTermination(60, TimeUnit.SECONDS)) {<a name="line.481"></a>
-<span class="sourceLineNo">482</span> LOGGER.warn("Waiting for thread-pool to terminate");<a name="line.482"></a>
-<span class="sourceLineNo">483</span> }<a name="line.483"></a>
-<span class="sourceLineNo">484</span> } catch (InterruptedException e) {<a name="line.484"></a>
-<span class="sourceLineNo">485</span> LOGGER.warn("Interrupted while waiting for thread-pool termination", e);<a name="line.485"></a>
-<span class="sourceLineNo">486</span> }<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">466</span> private boolean isCtrl(int param) {<a name="line.466"></a>
+<span class="sourceLineNo">467</span> return (param & 4) != 0;<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> private void offer(KeyPress keyPress) {<a name="line.470"></a>
+<span class="sourceLineNo">471</span> // Handle ctrl + c<a name="line.471"></a>
+<span class="sourceLineNo">472</span> if (keyPress.isCtrl() && keyPress.getType() == KeyPress.Type.Character &&<a name="line.472"></a>
+<span class="sourceLineNo">473</span> keyPress.getCharacter() == 'c') {<a name="line.473"></a>
+<span class="sourceLineNo">474</span> System.exit(0);<a name="line.474"></a>
+<span class="sourceLineNo">475</span> }<a name="line.475"></a>
+<span class="sourceLineNo">476</span><a name="line.476"></a>
+<span class="sourceLineNo">477</span> keyPressQueue.offer(keyPress);<a name="line.477"></a>
+<span class="sourceLineNo">478</span> }<a name="line.478"></a>
+<span class="sourceLineNo">479</span><a name="line.479"></a>
+<span class="sourceLineNo">480</span> public void stop() {<a name="line.480"></a>
+<span class="sourceLineNo">481</span> stopThreads.set(true);<a name="line.481"></a>
+<span class="sourceLineNo">482</span><a name="line.482"></a>
+<span class="sourceLineNo">483</span> executorService.shutdown();<a name="line.483"></a>
+<span class="sourceLineNo">484</span> try {<a name="line.484"></a>
+<span class="sourceLineNo">485</span> while (!executorService.awaitTermination(60, TimeUnit.SECONDS)) {<a name="line.485"></a>
+<span class="sourceLineNo">486</span> LOGGER.warn("Waiting for thread-pool to terminate");<a name="line.486"></a>
+<span class="sourceLineNo">487</span> }<a name="line.487"></a>
+<span class="sourceLineNo">488</span> } catch (InterruptedException e) {<a name="line.488"></a>
+<span class="sourceLineNo">489</span> LOGGER.warn("Interrupted while waiting for thread-pool termination", e);<a name="line.489"></a>
+<span class="sourceLineNo">490</span> }<a name="line.490"></a>
+<span class="sourceLineNo">491</span> }<a name="line.491"></a>
+<span class="sourceLineNo">492</span>}<a name="line.492"></a>
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/hbtop/terminal/impl/KeyPressGenerator.html b/devapidocs/src-html/org/apache/hadoop/hbase/hbtop/terminal/impl/KeyPressGenerator.html
index f1ee4bf..48bb911 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/hbtop/terminal/impl/KeyPressGenerator.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/hbtop/terminal/impl/KeyPressGenerator.html
@@ -83,8 +83,8 @@
<span class="sourceLineNo">075</span> }<a name="line.75"></a>
<span class="sourceLineNo">076</span><a name="line.76"></a>
<span class="sourceLineNo">077</span> public void start() {<a name="line.77"></a>
-<span class="sourceLineNo">078</span> executorService.submit(this::readerThread);<a name="line.78"></a>
-<span class="sourceLineNo">079</span> executorService.submit(this::generatorThread);<a name="line.79"></a>
+<span class="sourceLineNo">078</span> executorService.execute(this::readerThread);<a name="line.78"></a>
+<span class="sourceLineNo">079</span> executorService.execute(this::generatorThread);<a name="line.79"></a>
<span class="sourceLineNo">080</span> }<a name="line.80"></a>
<span class="sourceLineNo">081</span><a name="line.81"></a>
<span class="sourceLineNo">082</span> private void initState() {<a name="line.82"></a>
@@ -166,334 +166,338 @@
<span class="sourceLineNo">158</span> case '\t':<a name="line.158"></a>
<span class="sourceLineNo">159</span> offer(new KeyPress(KeyPress.Type.Tab, '\t', false, false, false));<a name="line.159"></a>
<span class="sourceLineNo">160</span> continue;<a name="line.160"></a>
-<span class="sourceLineNo">161</span> }<a name="line.161"></a>
-<span class="sourceLineNo">162</span><a name="line.162"></a>
-<span class="sourceLineNo">163</span> if (ch < 32) {<a name="line.163"></a>
-<span class="sourceLineNo">164</span> ctrlAndCharacter(ch);<a name="line.164"></a>
-<span class="sourceLineNo">165</span> continue;<a name="line.165"></a>
-<span class="sourceLineNo">166</span> }<a name="line.166"></a>
-<span class="sourceLineNo">167</span><a name="line.167"></a>
-<span class="sourceLineNo">168</span> if (isPrintableChar(ch)) {<a name="line.168"></a>
-<span class="sourceLineNo">169</span> // Normal character<a name="line.169"></a>
-<span class="sourceLineNo">170</span> offer(new KeyPress(KeyPress.Type.Character, ch, false, false, false));<a name="line.170"></a>
-<span class="sourceLineNo">171</span> continue;<a name="line.171"></a>
-<span class="sourceLineNo">172</span> }<a name="line.172"></a>
-<span class="sourceLineNo">173</span><a name="line.173"></a>
-<span class="sourceLineNo">174</span> offer(new KeyPress(KeyPress.Type.Unknown, null, false, false, false));<a name="line.174"></a>
-<span class="sourceLineNo">175</span> continue;<a name="line.175"></a>
-<span class="sourceLineNo">176</span> }<a name="line.176"></a>
+<span class="sourceLineNo">161</span><a name="line.161"></a>
+<span class="sourceLineNo">162</span> default:<a name="line.162"></a>
+<span class="sourceLineNo">163</span> // Do nothing<a name="line.163"></a>
+<span class="sourceLineNo">164</span> break;<a name="line.164"></a>
+<span class="sourceLineNo">165</span> }<a name="line.165"></a>
+<span class="sourceLineNo">166</span><a name="line.166"></a>
+<span class="sourceLineNo">167</span> if (ch < 32) {<a name="line.167"></a>
+<span class="sourceLineNo">168</span> ctrlAndCharacter(ch);<a name="line.168"></a>
+<span class="sourceLineNo">169</span> continue;<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> if (isPrintableChar(ch)) {<a name="line.172"></a>
+<span class="sourceLineNo">173</span> // Normal character<a name="line.173"></a>
+<span class="sourceLineNo">174</span> offer(new KeyPress(KeyPress.Type.Character, ch, false, false, false));<a name="line.174"></a>
+<span class="sourceLineNo">175</span> continue;<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> if (parseState == ParseState.ESCAPE) {<a name="line.178"></a>
-<span class="sourceLineNo">179</span> if (ch == 0x1B) {<a name="line.179"></a>
-<span class="sourceLineNo">180</span> offer(new KeyPress(KeyPress.Type.Escape, null, false, false, false));<a name="line.180"></a>
-<span class="sourceLineNo">181</span> continue;<a name="line.181"></a>
-<span class="sourceLineNo">182</span> }<a name="line.182"></a>
-<span class="sourceLineNo">183</span><a name="line.183"></a>
-<span class="sourceLineNo">184</span> if (ch < 32 && ch != 0x08) {<a name="line.184"></a>
-<span class="sourceLineNo">185</span> ctrlAltAndCharacter(ch);<a name="line.185"></a>
-<span class="sourceLineNo">186</span> initState();<a name="line.186"></a>
-<span class="sourceLineNo">187</span> continue;<a name="line.187"></a>
-<span class="sourceLineNo">188</span> } else if (ch == 0x7F || ch == 0x08) {<a name="line.188"></a>
-<span class="sourceLineNo">189</span> offer(new KeyPress(KeyPress.Type.Backspace, '\b', false, false, false));<a name="line.189"></a>
+<span class="sourceLineNo">178</span> offer(new KeyPress(KeyPress.Type.Unknown, null, false, false, false));<a name="line.178"></a>
+<span class="sourceLineNo">179</span> continue;<a name="line.179"></a>
+<span class="sourceLineNo">180</span> }<a name="line.180"></a>
+<span class="sourceLineNo">181</span><a name="line.181"></a>
+<span class="sourceLineNo">182</span> if (parseState == ParseState.ESCAPE) {<a name="line.182"></a>
+<span class="sourceLineNo">183</span> if (ch == 0x1B) {<a name="line.183"></a>
+<span class="sourceLineNo">184</span> offer(new KeyPress(KeyPress.Type.Escape, null, false, false, false));<a name="line.184"></a>
+<span class="sourceLineNo">185</span> continue;<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> if (ch < 32 && ch != 0x08) {<a name="line.188"></a>
+<span class="sourceLineNo">189</span> ctrlAltAndCharacter(ch);<a name="line.189"></a>
<span class="sourceLineNo">190</span> initState();<a name="line.190"></a>
<span class="sourceLineNo">191</span> continue;<a name="line.191"></a>
-<span class="sourceLineNo">192</span> }<a name="line.192"></a>
-<span class="sourceLineNo">193</span><a name="line.193"></a>
-<span class="sourceLineNo">194</span> if (ch == '[' || ch == 'O') {<a name="line.194"></a>
-<span class="sourceLineNo">195</span> parseState = ParseState.ESCAPE_SEQUENCE_PARAM1;<a name="line.195"></a>
-<span class="sourceLineNo">196</span> continue;<a name="line.196"></a>
-<span class="sourceLineNo">197</span> }<a name="line.197"></a>
-<span class="sourceLineNo">198</span><a name="line.198"></a>
-<span class="sourceLineNo">199</span> if (isPrintableChar(ch)) {<a name="line.199"></a>
-<span class="sourceLineNo">200</span> // Alt and character<a name="line.200"></a>
-<span class="sourceLineNo">201</span> offer(new KeyPress(KeyPress.Type.Character, ch, true, false, false));<a name="line.201"></a>
-<span class="sourceLineNo">202</span> initState();<a name="line.202"></a>
-<span class="sourceLineNo">203</span> continue;<a name="line.203"></a>
-<span class="sourceLineNo">204</span> }<a name="line.204"></a>
-<span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span> offer(new KeyPress(KeyPress.Type.Escape, null, false, false, false));<a name="line.206"></a>
-<span class="sourceLineNo">207</span> offer(new KeyPress(KeyPress.Type.Unknown, null, false, false, false));<a name="line.207"></a>
-<span class="sourceLineNo">208</span> initState();<a name="line.208"></a>
-<span class="sourceLineNo">209</span> continue;<a name="line.209"></a>
-<span class="sourceLineNo">210</span> }<a name="line.210"></a>
-<span class="sourceLineNo">211</span><a name="line.211"></a>
-<span class="sourceLineNo">212</span> escapeSequenceCharacter(ch);<a name="line.212"></a>
-<span class="sourceLineNo">213</span> }<a name="line.213"></a>
-<span class="sourceLineNo">214</span> }<a name="line.214"></a>
+<span class="sourceLineNo">192</span> } else if (ch == 0x7F || ch == 0x08) {<a name="line.192"></a>
+<span class="sourceLineNo">193</span> offer(new KeyPress(KeyPress.Type.Backspace, '\b', false, false, false));<a name="line.193"></a>
+<span class="sourceLineNo">194</span> initState();<a name="line.194"></a>
+<span class="sourceLineNo">195</span> continue;<a name="line.195"></a>
+<span class="sourceLineNo">196</span> }<a name="line.196"></a>
+<span class="sourceLineNo">197</span><a name="line.197"></a>
+<span class="sourceLineNo">198</span> if (ch == '[' || ch == 'O') {<a name="line.198"></a>
+<span class="sourceLineNo">199</span> parseState = ParseState.ESCAPE_SEQUENCE_PARAM1;<a name="line.199"></a>
+<span class="sourceLineNo">200</span> continue;<a name="line.200"></a>
+<span class="sourceLineNo">201</span> }<a name="line.201"></a>
+<span class="sourceLineNo">202</span><a name="line.202"></a>
+<span class="sourceLineNo">203</span> if (isPrintableChar(ch)) {<a name="line.203"></a>
+<span class="sourceLineNo">204</span> // Alt and character<a name="line.204"></a>
+<span class="sourceLineNo">205</span> offer(new KeyPress(KeyPress.Type.Character, ch, true, false, false));<a name="line.205"></a>
+<span class="sourceLineNo">206</span> initState();<a name="line.206"></a>
+<span class="sourceLineNo">207</span> continue;<a name="line.207"></a>
+<span class="sourceLineNo">208</span> }<a name="line.208"></a>
+<span class="sourceLineNo">209</span><a name="line.209"></a>
+<span class="sourceLineNo">210</span> offer(new KeyPress(KeyPress.Type.Escape, null, false, false, false));<a name="line.210"></a>
+<span class="sourceLineNo">211</span> offer(new KeyPress(KeyPress.Type.Unknown, null, false, false, false));<a name="line.211"></a>
+<span class="sourceLineNo">212</span> initState();<a name="line.212"></a>
+<span class="sourceLineNo">213</span> continue;<a name="line.213"></a>
+<span class="sourceLineNo">214</span> }<a name="line.214"></a>
<span class="sourceLineNo">215</span><a name="line.215"></a>
-<span class="sourceLineNo">216</span> private void ctrlAndCharacter(char ch) {<a name="line.216"></a>
-<span class="sourceLineNo">217</span> char ctrlCode;<a name="line.217"></a>
-<span class="sourceLineNo">218</span> switch (ch) {<a name="line.218"></a>
-<span class="sourceLineNo">219</span> case 0:<a name="line.219"></a>
-<span class="sourceLineNo">220</span> ctrlCode = ' ';<a name="line.220"></a>
-<span class="sourceLineNo">221</span> break;<a name="line.221"></a>
-<span class="sourceLineNo">222</span><a name="line.222"></a>
-<span class="sourceLineNo">223</span> case 28:<a name="line.223"></a>
-<span class="sourceLineNo">224</span> ctrlCode = '\\';<a name="line.224"></a>
+<span class="sourceLineNo">216</span> escapeSequenceCharacter(ch);<a name="line.216"></a>
+<span class="sourceLineNo">217</span> }<a name="line.217"></a>
+<span class="sourceLineNo">218</span> }<a name="line.218"></a>
+<span class="sourceLineNo">219</span><a name="line.219"></a>
+<span class="sourceLineNo">220</span> private void ctrlAndCharacter(char ch) {<a name="line.220"></a>
+<span class="sourceLineNo">221</span> char ctrlCode;<a name="line.221"></a>
+<span class="sourceLineNo">222</span> switch (ch) {<a name="line.222"></a>
+<span class="sourceLineNo">223</span> case 0:<a name="line.223"></a>
+<span class="sourceLineNo">224</span> ctrlCode = ' ';<a name="line.224"></a>
<span class="sourceLineNo">225</span> break;<a name="line.225"></a>
<span class="sourceLineNo">226</span><a name="line.226"></a>
-<span class="sourceLineNo">227</span> case 29:<a name="line.227"></a>
-<span class="sourceLineNo">228</span> ctrlCode = ']';<a name="line.228"></a>
+<span class="sourceLineNo">227</span> case 28:<a name="line.227"></a>
+<span class="sourceLineNo">228</span> ctrlCode = '\\';<a name="line.228"></a>
<span class="sourceLineNo">229</span> break;<a name="line.229"></a>
<span class="sourceLineNo">230</span><a name="line.230"></a>
-<span class="sourceLineNo">231</span> case 30:<a name="line.231"></a>
-<span class="sourceLineNo">232</span> ctrlCode = '^';<a name="line.232"></a>
+<span class="sourceLineNo">231</span> case 29:<a name="line.231"></a>
+<span class="sourceLineNo">232</span> ctrlCode = ']';<a name="line.232"></a>
<span class="sourceLineNo">233</span> break;<a name="line.233"></a>
<span class="sourceLineNo">234</span><a name="line.234"></a>
-<span class="sourceLineNo">235</span> case 31:<a name="line.235"></a>
-<span class="sourceLineNo">236</span> ctrlCode = '_';<a name="line.236"></a>
+<span class="sourceLineNo">235</span> case 30:<a name="line.235"></a>
+<span class="sourceLineNo">236</span> ctrlCode = '^';<a name="line.236"></a>
<span class="sourceLineNo">237</span> break;<a name="line.237"></a>
<span class="sourceLineNo">238</span><a name="line.238"></a>
-<span class="sourceLineNo">239</span> default:<a name="line.239"></a>
-<span class="sourceLineNo">240</span> ctrlCode = (char) ('a' - 1 + ch);<a name="line.240"></a>
+<span class="sourceLineNo">239</span> case 31:<a name="line.239"></a>
+<span class="sourceLineNo">240</span> ctrlCode = '_';<a name="line.240"></a>
<span class="sourceLineNo">241</span> break;<a name="line.241"></a>
-<span class="sourceLineNo">242</span> }<a name="line.242"></a>
-<span class="sourceLineNo">243</span> offer(new KeyPress(KeyPress.Type.Character, ctrlCode, false, true, false));<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> private boolean isPrintableChar(char ch) {<a name="line.246"></a>
-<span class="sourceLineNo">247</span> if (Character.isISOControl(ch)) {<a name="line.247"></a>
-<span class="sourceLineNo">248</span> return false;<a name="line.248"></a>
-<span class="sourceLineNo">249</span> }<a name="line.249"></a>
-<span class="sourceLineNo">250</span> Character.UnicodeBlock block = Character.UnicodeBlock.of(ch);<a name="line.250"></a>
-<span class="sourceLineNo">251</span> return block != null && block != Character.UnicodeBlock.SPECIALS;<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> private void ctrlAltAndCharacter(char ch) {<a name="line.254"></a>
-<span class="sourceLineNo">255</span> char ctrlCode;<a name="line.255"></a>
-<span class="sourceLineNo">256</span> switch (ch) {<a name="line.256"></a>
-<span class="sourceLineNo">257</span> case 0:<a name="line.257"></a>
-<span class="sourceLineNo">258</span> ctrlCode = ' ';<a name="line.258"></a>
-<span class="sourceLineNo">259</span> break;<a name="line.259"></a>
-<span class="sourceLineNo">260</span><a name="line.260"></a>
-<span class="sourceLineNo">261</span> case 28:<a name="line.261"></a>
-<span class="sourceLineNo">262</span> ctrlCode = '\\';<a name="line.262"></a>
+<span class="sourceLineNo">242</span><a name="line.242"></a>
+<span class="sourceLineNo">243</span> default:<a name="line.243"></a>
+<span class="sourceLineNo">244</span> ctrlCode = (char) ('a' - 1 + ch);<a name="line.244"></a>
+<span class="sourceLineNo">245</span> break;<a name="line.245"></a>
+<span class="sourceLineNo">246</span> }<a name="line.246"></a>
+<span class="sourceLineNo">247</span> offer(new KeyPress(KeyPress.Type.Character, ctrlCode, false, true, false));<a name="line.247"></a>
+<span class="sourceLineNo">248</span> }<a name="line.248"></a>
+<span class="sourceLineNo">249</span><a name="line.249"></a>
+<span class="sourceLineNo">250</span> private boolean isPrintableChar(char ch) {<a name="line.250"></a>
+<span class="sourceLineNo">251</span> if (Character.isISOControl(ch)) {<a name="line.251"></a>
+<span class="sourceLineNo">252</span> return false;<a name="line.252"></a>
+<span class="sourceLineNo">253</span> }<a name="line.253"></a>
+<span class="sourceLineNo">254</span> Character.UnicodeBlock block = Character.UnicodeBlock.of(ch);<a name="line.254"></a>
+<span class="sourceLineNo">255</span> return block != null && !block.equals(Character.UnicodeBlock.SPECIALS);<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> private void ctrlAltAndCharacter(char ch) {<a name="line.258"></a>
+<span class="sourceLineNo">259</span> char ctrlCode;<a name="line.259"></a>
+<span class="sourceLineNo">260</span> switch (ch) {<a name="line.260"></a>
+<span class="sourceLineNo">261</span> case 0:<a name="line.261"></a>
+<span class="sourceLineNo">262</span> ctrlCode = ' ';<a name="line.262"></a>
<span class="sourceLineNo">263</span> break;<a name="line.263"></a>
<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span> case 29:<a name="line.265"></a>
-<span class="sourceLineNo">266</span> ctrlCode = ']';<a name="line.266"></a>
+<span class="sourceLineNo">265</span> case 28:<a name="line.265"></a>
+<span class="sourceLineNo">266</span> ctrlCode = '\\';<a name="line.266"></a>
<span class="sourceLineNo">267</span> break;<a name="line.267"></a>
<span class="sourceLineNo">268</span><a name="line.268"></a>
-<span class="sourceLineNo">269</span> case 30:<a name="line.269"></a>
-<span class="sourceLineNo">270</span> ctrlCode = '^';<a name="line.270"></a>
+<span class="sourceLineNo">269</span> case 29:<a name="line.269"></a>
+<span class="sourceLineNo">270</span> ctrlCode = ']';<a name="line.270"></a>
<span class="sourceLineNo">271</span> break;<a name="line.271"></a>
<span class="sourceLineNo">272</span><a name="line.272"></a>
-<span class="sourceLineNo">273</span> case 31:<a name="line.273"></a>
-<span class="sourceLineNo">274</span> ctrlCode = '_';<a name="line.274"></a>
+<span class="sourceLineNo">273</span> case 30:<a name="line.273"></a>
+<span class="sourceLineNo">274</span> ctrlCode = '^';<a name="line.274"></a>
<span class="sourceLineNo">275</span> break;<a name="line.275"></a>
<span class="sourceLineNo">276</span><a name="line.276"></a>
-<span class="sourceLineNo">277</span> default:<a name="line.277"></a>
-<span class="sourceLineNo">278</span> ctrlCode = (char) ('a' - 1 + ch);<a name="line.278"></a>
+<span class="sourceLineNo">277</span> case 31:<a name="line.277"></a>
+<span class="sourceLineNo">278</span> ctrlCode = '_';<a name="line.278"></a>
<span class="sourceLineNo">279</span> break;<a name="line.279"></a>
-<span class="sourceLineNo">280</span> }<a name="line.280"></a>
-<span class="sourceLineNo">281</span> offer(new KeyPress(KeyPress.Type.Character, ctrlCode, true, true, false));<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> private void escapeSequenceCharacter(char ch) {<a name="line.284"></a>
-<span class="sourceLineNo">285</span> switch (parseState) {<a name="line.285"></a>
-<span class="sourceLineNo">286</span> case ESCAPE_SEQUENCE_PARAM1:<a name="line.286"></a>
-<span class="sourceLineNo">287</span> if (ch == ';') {<a name="line.287"></a>
-<span class="sourceLineNo">288</span> parseState = ParseState.ESCAPE_SEQUENCE_PARAM2;<a name="line.288"></a>
-<span class="sourceLineNo">289</span> } else if (Character.isDigit(ch)) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span> param1 = param1 * 10 + Character.digit(ch, 10);<a name="line.290"></a>
-<span class="sourceLineNo">291</span> } else {<a name="line.291"></a>
-<span class="sourceLineNo">292</span> doneEscapeSequenceCharacter(ch);<a name="line.292"></a>
-<span class="sourceLineNo">293</span> }<a name="line.293"></a>
-<span class="sourceLineNo">294</span> break;<a name="line.294"></a>
-<span class="sourceLineNo">295</span><a name="line.295"></a>
-<span class="sourceLineNo">296</span> case ESCAPE_SEQUENCE_PARAM2:<a name="line.296"></a>
-<span class="sourceLineNo">297</span> if (Character.isDigit(ch)) {<a name="line.297"></a>
-<span class="sourceLineNo">298</span> param2 = param2 * 10 + Character.digit(ch, 10);<a name="line.298"></a>
-<span class="sourceLineNo">299</span> } else {<a name="line.299"></a>
-<span class="sourceLineNo">300</span> doneEscapeSequenceCharacter(ch);<a name="line.300"></a>
-<span class="sourceLineNo">301</span> }<a name="line.301"></a>
-<span class="sourceLineNo">302</span> break;<a name="line.302"></a>
-<span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span> default:<a name="line.304"></a>
-<span class="sourceLineNo">305</span> throw new AssertionError();<a name="line.305"></a>
-<span class="sourceLineNo">306</span> }<a name="line.306"></a>
-<span class="sourceLineNo">307</span> }<a name="line.307"></a>
-<span class="sourceLineNo">308</span><a name="line.308"></a>
-<span class="sourceLineNo">309</span> private void doneEscapeSequenceCharacter(char last) {<a name="line.309"></a>
-<span class="sourceLineNo">310</span> boolean alt = false;<a name="line.310"></a>
-<span class="sourceLineNo">311</span> boolean ctrl = false;<a name="line.311"></a>
-<span class="sourceLineNo">312</span> boolean shift = false;<a name="line.312"></a>
-<span class="sourceLineNo">313</span> if (param2 != 0) {<a name="line.313"></a>
-<span class="sourceLineNo">314</span> alt = isAlt(param2);<a name="line.314"></a>
-<span class="sourceLineNo">315</span> ctrl = isCtrl(param2);<a name="line.315"></a>
-<span class="sourceLineNo">316</span> shift = isShift(param2);<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> if (last != '~') {<a name="line.319"></a>
-<span class="sourceLineNo">320</span> switch (last) {<a name="line.320"></a>
-<span class="sourceLineNo">321</span> case 'A':<a name="line.321"></a>
-<span class="sourceLineNo">322</span> offer(new KeyPress(KeyPress.Type.ArrowUp, null, alt, ctrl, shift));<a name="line.322"></a>
-<span class="sourceLineNo">323</span> break;<a name="line.323"></a>
-<span class="sourceLineNo">324</span><a name="line.324"></a>
-<span class="sourceLineNo">325</span> case 'B':<a name="line.325"></a>
-<span class="sourceLineNo">326</span> offer(new KeyPress(KeyPress.Type.ArrowDown, null, alt, ctrl, shift));<a name="line.326"></a>
+<span class="sourceLineNo">280</span><a name="line.280"></a>
+<span class="sourceLineNo">281</span> default:<a name="line.281"></a>
+<span class="sourceLineNo">282</span> ctrlCode = (char) ('a' - 1 + ch);<a name="line.282"></a>
+<span class="sourceLineNo">283</span> break;<a name="line.283"></a>
+<span class="sourceLineNo">284</span> }<a name="line.284"></a>
+<span class="sourceLineNo">285</span> offer(new KeyPress(KeyPress.Type.Character, ctrlCode, true, true, false));<a name="line.285"></a>
+<span class="sourceLineNo">286</span> }<a name="line.286"></a>
+<span class="sourceLineNo">287</span><a name="line.287"></a>
+<span class="sourceLineNo">288</span> private void escapeSequenceCharacter(char ch) {<a name="line.288"></a>
+<span class="sourceLineNo">289</span> switch (parseState) {<a name="line.289"></a>
+<span class="sourceLineNo">290</span> case ESCAPE_SEQUENCE_PARAM1:<a name="line.290"></a>
+<span class="sourceLineNo">291</span> if (ch == ';') {<a name="line.291"></a>
+<span class="sourceLineNo">292</span> parseState = ParseState.ESCAPE_SEQUENCE_PARAM2;<a name="line.292"></a>
+<span class="sourceLineNo">293</span> } else if (Character.isDigit(ch)) {<a name="line.293"></a>
+<span class="sourceLineNo">294</span> param1 = param1 * 10 + Character.digit(ch, 10);<a name="line.294"></a>
+<span class="sourceLineNo">295</span> } else {<a name="line.295"></a>
+<span class="sourceLineNo">296</span> doneEscapeSequenceCharacter(ch);<a name="line.296"></a>
+<span class="sourceLineNo">297</span> }<a name="line.297"></a>
+<span class="sourceLineNo">298</span> break;<a name="line.298"></a>
+<span class="sourceLineNo">299</span><a name="line.299"></a>
+<span class="sourceLineNo">300</span> case ESCAPE_SEQUENCE_PARAM2:<a name="line.300"></a>
+<span class="sourceLineNo">301</span> if (Character.isDigit(ch)) {<a name="line.301"></a>
+<span class="sourceLineNo">302</span> param2 = param2 * 10 + Character.digit(ch, 10);<a name="line.302"></a>
+<span class="sourceLineNo">303</span> } else {<a name="line.303"></a>
+<span class="sourceLineNo">304</span> doneEscapeSequenceCharacter(ch);<a name="line.304"></a>
+<span class="sourceLineNo">305</span> }<a name="line.305"></a>
+<span class="sourceLineNo">306</span> break;<a name="line.306"></a>
+<span class="sourceLineNo">307</span><a name="line.307"></a>
+<span class="sourceLineNo">308</span> default:<a name="line.308"></a>
+<span class="sourceLineNo">309</span> throw new AssertionError();<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><a name="line.312"></a>
+<span class="sourceLineNo">313</span> private void doneEscapeSequenceCharacter(char last) {<a name="line.313"></a>
+<span class="sourceLineNo">314</span> boolean alt = false;<a name="line.314"></a>
+<span class="sourceLineNo">315</span> boolean ctrl = false;<a name="line.315"></a>
+<span class="sourceLineNo">316</span> boolean shift = false;<a name="line.316"></a>
+<span class="sourceLineNo">317</span> if (param2 != 0) {<a name="line.317"></a>
+<span class="sourceLineNo">318</span> alt = isAlt(param2);<a name="line.318"></a>
+<span class="sourceLineNo">319</span> ctrl = isCtrl(param2);<a name="line.319"></a>
+<span class="sourceLineNo">320</span> shift = isShift(param2);<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> if (last != '~') {<a name="line.323"></a>
+<span class="sourceLineNo">324</span> switch (last) {<a name="line.324"></a>
+<span class="sourceLineNo">325</span> case 'A':<a name="line.325"></a>
+<span class="sourceLineNo">326</span> offer(new KeyPress(KeyPress.Type.ArrowUp, null, alt, ctrl, shift));<a name="line.326"></a>
<span class="sourceLineNo">327</span> break;<a name="line.327"></a>
<span class="sourceLineNo">328</span><a name="line.328"></a>
-<span class="sourceLineNo">329</span> case 'C':<a name="line.329"></a>
-<span class="sourceLineNo">330</span> offer(new KeyPress(KeyPress.Type.ArrowRight, null, alt, ctrl, shift));<a name="line.330"></a>
+<span class="sourceLineNo">329</span> case 'B':<a name="line.329"></a>
+<span class="sourceLineNo">330</span> offer(new KeyPress(KeyPress.Type.ArrowDown, null, alt, ctrl, shift));<a name="line.330"></a>
<span class="sourceLineNo">331</span> break;<a name="line.331"></a>
<span class="sourceLineNo">332</span><a name="line.332"></a>
-<span class="sourceLineNo">333</span> case 'D':<a name="line.333"></a>
-<span class="sourceLineNo">334</span> offer(new KeyPress(KeyPress.Type.ArrowLeft, null, alt, ctrl, shift));<a name="line.334"></a>
+<span class="sourceLineNo">333</span> case 'C':<a name="line.333"></a>
+<span class="sourceLineNo">334</span> offer(new KeyPress(KeyPress.Type.ArrowRight, null, alt, ctrl, shift));<a name="line.334"></a>
<span class="sourceLineNo">335</span> break;<a name="line.335"></a>
<span class="sourceLineNo">336</span><a name="line.336"></a>
-<span class="sourceLineNo">337</span> case 'H':<a name="line.337"></a>
-<span class="sourceLineNo">338</span> offer(new KeyPress(KeyPress.Type.Home, null, alt, ctrl, shift));<a name="line.338"></a>
+<span class="sourceLineNo">337</span> case 'D':<a name="line.337"></a>
+<span class="sourceLineNo">338</span> offer(new KeyPress(KeyPress.Type.ArrowLeft, null, alt, ctrl, shift));<a name="line.338"></a>
<span class="sourceLineNo">339</span> break;<a name="line.339"></a>
<span class="sourceLineNo">340</span><a name="line.340"></a>
-<span class="sourceLineNo">341</span> case 'F':<a name="line.341"></a>
-<span class="sourceLineNo">342</span> offer(new KeyPress(KeyPress.Type.End, null, alt, ctrl, shift));<a name="line.342"></a>
+<span class="sourceLineNo">341</span> case 'H':<a name="line.341"></a>
+<span class="sourceLineNo">342</span> offer(new KeyPress(KeyPress.Type.Home, null, alt, ctrl, shift));<a name="line.342"></a>
<span class="sourceLineNo">343</span> break;<a name="line.343"></a>
<span class="sourceLineNo">344</span><a name="line.344"></a>
-<span class="sourceLineNo">345</span> case 'P':<a name="line.345"></a>
-<span class="sourceLineNo">346</span> offer(new KeyPress(KeyPress.Type.F1, null, alt, ctrl, shift));<a name="line.346"></a>
+<span class="sourceLineNo">345</span> case 'F':<a name="line.345"></a>
+<span class="sourceLineNo">346</span> offer(new KeyPress(KeyPress.Type.End, null, alt, ctrl, shift));<a name="line.346"></a>
<span class="sourceLineNo">347</span> break;<a name="line.347"></a>
<span class="sourceLineNo">348</span><a name="line.348"></a>
-<span class="sourceLineNo">349</span> case 'Q':<a name="line.349"></a>
-<span class="sourceLineNo">350</span> offer(new KeyPress(KeyPress.Type.F2, null, alt, ctrl, shift));<a name="line.350"></a>
+<span class="sourceLineNo">349</span> case 'P':<a name="line.349"></a>
+<span class="sourceLineNo">350</span> offer(new KeyPress(KeyPress.Type.F1, null, alt, ctrl, shift));<a name="line.350"></a>
<span class="sourceLineNo">351</span> break;<a name="line.351"></a>
<span class="sourceLineNo">352</span><a name="line.352"></a>
-<span class="sourceLineNo">353</span> case 'R':<a name="line.353"></a>
-<span class="sourceLineNo">354</span> offer(new KeyPress(KeyPress.Type.F3, null, alt, ctrl, shift));<a name="line.354"></a>
+<span class="sourceLineNo">353</span> case 'Q':<a name="line.353"></a>
+<span class="sourceLineNo">354</span> offer(new KeyPress(KeyPress.Type.F2, null, alt, ctrl, shift));<a name="line.354"></a>
<span class="sourceLineNo">355</span> break;<a name="line.355"></a>
<span class="sourceLineNo">356</span><a name="line.356"></a>
-<span class="sourceLineNo">357</span> case 'S':<a name="line.357"></a>
-<span class="sourceLineNo">358</span> offer(new KeyPress(KeyPress.Type.F4, null, alt, ctrl, shift));<a name="line.358"></a>
+<span class="sourceLineNo">357</span> case 'R':<a name="line.357"></a>
+<span class="sourceLineNo">358</span> offer(new KeyPress(KeyPress.Type.F3, null, alt, ctrl, shift));<a name="line.358"></a>
<span class="sourceLineNo">359</span> break;<a name="line.359"></a>
<span class="sourceLineNo">360</span><a name="line.360"></a>
-<span class="sourceLineNo">361</span> case 'Z':<a name="line.361"></a>
-<span class="sourceLineNo">362</span> offer(new KeyPress(KeyPress.Type.ReverseTab, null, alt, ctrl, shift));<a name="line.362"></a>
+<span class="sourceLineNo">361</span> case 'S':<a name="line.361"></a>
+<span class="sourceLineNo">362</span> offer(new KeyPress(KeyPress.Type.F4, null, alt, ctrl, shift));<a name="line.362"></a>
<span class="sourceLineNo">363</span> break;<a name="line.363"></a>
<span class="sourceLineNo">364</span><a name="line.364"></a>
-<span class="sourceLineNo">365</span> default:<a name="line.365"></a>
-<span class="sourceLineNo">366</span> offer(new KeyPress(KeyPress.Type.Unknown, null, alt, ctrl, shift));<a name="line.366"></a>
+<span class="sourceLineNo">365</span> case 'Z':<a name="line.365"></a>
+<span class="sourceLineNo">366</span> offer(new KeyPress(KeyPress.Type.ReverseTab, null, alt, ctrl, shift));<a name="line.366"></a>
<span class="sourceLineNo">367</span> break;<a name="line.367"></a>
-<span class="sourceLineNo">368</span> }<a name="line.368"></a>
-<span class="sourceLineNo">369</span> initState();<a name="line.369"></a>
-<span class="sourceLineNo">370</span> return;<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> switch (param1) {<a name="line.373"></a>
-<span class="sourceLineNo">374</span> case 1:<a name="line.374"></a>
-<span class="sourceLineNo">375</span> offer(new KeyPress(KeyPress.Type.Home, null, alt, ctrl, shift));<a name="line.375"></a>
-<span class="sourceLineNo">376</span> break;<a name="line.376"></a>
-<span class="sourceLineNo">377</span><a name="line.377"></a>
-<span class="sourceLineNo">378</span> case 2:<a name="line.378"></a>
-<span class="sourceLineNo">379</span> offer(new KeyPress(KeyPress.Type.Insert, null, alt, ctrl, shift));<a name="line.379"></a>
+<span class="sourceLineNo">368</span><a name="line.368"></a>
+<span class="sourceLineNo">369</span> default:<a name="line.369"></a>
+<span class="sourceLineNo">370</span> offer(new KeyPress(KeyPress.Type.Unknown, null, alt, ctrl, shift));<a name="line.370"></a>
+<span class="sourceLineNo">371</span> break;<a name="line.371"></a>
+<span class="sourceLineNo">372</span> }<a name="line.372"></a>
+<span class="sourceLineNo">373</span> initState();<a name="line.373"></a>
+<span class="sourceLineNo">374</span> return;<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> switch (param1) {<a name="line.377"></a>
+<span class="sourceLineNo">378</span> case 1:<a name="line.378"></a>
+<span class="sourceLineNo">379</span> offer(new KeyPress(KeyPress.Type.Home, null, alt, ctrl, shift));<a name="line.379"></a>
<span class="sourceLineNo">380</span> break;<a name="line.380"></a>
<span class="sourceLineNo">381</span><a name="line.381"></a>
-<span class="sourceLineNo">382</span> case 3:<a name="line.382"></a>
-<span class="sourceLineNo">383</span> offer(new KeyPress(KeyPress.Type.Delete, null, alt, ctrl, shift));<a name="line.383"></a>
+<span class="sourceLineNo">382</span> case 2:<a name="line.382"></a>
+<span class="sourceLineNo">383</span> offer(new KeyPress(KeyPress.Type.Insert, null, alt, ctrl, shift));<a name="line.383"></a>
<span class="sourceLineNo">384</span> break;<a name="line.384"></a>
<span class="sourceLineNo">385</span><a name="line.385"></a>
-<span class="sourceLineNo">386</span> case 4:<a name="line.386"></a>
-<span class="sourceLineNo">387</span> offer(new KeyPress(KeyPress.Type.End, null, alt, ctrl, shift));<a name="line.387"></a>
+<span class="sourceLineNo">386</span> case 3:<a name="line.386"></a>
+<span class="sourceLineNo">387</span> offer(new KeyPress(KeyPress.Type.Delete, null, alt, ctrl, shift));<a name="line.387"></a>
<span class="sourceLineNo">388</span> break;<a name="line.388"></a>
<span class="sourceLineNo">389</span><a name="line.389"></a>
-<span class="sourceLineNo">390</span> case 5:<a name="line.390"></a>
-<span class="sourceLineNo">391</span> offer(new KeyPress(KeyPress.Type.PageUp, null, alt, ctrl, shift));<a name="line.391"></a>
+<span class="sourceLineNo">390</span> case 4:<a name="line.390"></a>
+<span class="sourceLineNo">391</span> offer(new KeyPress(KeyPress.Type.End, null, alt, ctrl, shift));<a name="line.391"></a>
<span class="sourceLineNo">392</span> break;<a name="line.392"></a>
<span class="sourceLineNo">393</span><a name="line.393"></a>
-<span class="sourceLineNo">394</span> case 6:<a name="line.394"></a>
-<span class="sourceLineNo">395</span> offer(new KeyPress(KeyPress.Type.PageDown, null, alt, ctrl, shift));<a name="line.395"></a>
+<span class="sourceLineNo">394</span> case 5:<a name="line.394"></a>
+<span class="sourceLineNo">395</span> offer(new KeyPress(KeyPress.Type.PageUp, null, alt, ctrl, shift));<a name="line.395"></a>
<span class="sourceLineNo">396</span> break;<a name="line.396"></a>
<span class="sourceLineNo">397</span><a name="line.397"></a>
-<span class="sourceLineNo">398</span> case 11:<a name="line.398"></a>
-<span class="sourceLineNo">399</span> offer(new KeyPress(KeyPress.Type.F1, null, alt, ctrl, shift));<a name="line.399"></a>
+<span class="sourceLineNo">398</span> case 6:<a name="line.398"></a>
+<span class="sourceLineNo">399</span> offer(new KeyPress(KeyPress.Type.PageDown, null, alt, ctrl, shift));<a name="line.399"></a>
<span class="sourceLineNo">400</span> break;<a name="line.400"></a>
<span class="sourceLineNo">401</span><a name="line.401"></a>
-<span class="sourceLineNo">402</span> case 12:<a name="line.402"></a>
-<span class="sourceLineNo">403</span> offer(new KeyPress(KeyPress.Type.F2, null, alt, ctrl, shift));<a name="line.403"></a>
+<span class="sourceLineNo">402</span> case 11:<a name="line.402"></a>
+<span class="sourceLineNo">403</span> offer(new KeyPress(KeyPress.Type.F1, null, alt, ctrl, shift));<a name="line.403"></a>
<span class="sourceLineNo">404</span> break;<a name="line.404"></a>
<span class="sourceLineNo">405</span><a name="line.405"></a>
-<span class="sourceLineNo">406</span> case 13:<a name="line.406"></a>
-<span class="sourceLineNo">407</span> offer(new KeyPress(KeyPress.Type.F3, null, alt, ctrl, shift));<a name="line.407"></a>
+<span class="sourceLineNo">406</span> case 12:<a name="line.406"></a>
+<span class="sourceLineNo">407</span> offer(new KeyPress(KeyPress.Type.F2, null, alt, ctrl, shift));<a name="line.407"></a>
<span class="sourceLineNo">408</span> break;<a name="line.408"></a>
<span class="sourceLineNo">409</span><a name="line.409"></a>
-<span class="sourceLineNo">410</span> case 14:<a name="line.410"></a>
-<span class="sourceLineNo">411</span> offer(new KeyPress(KeyPress.Type.F4, null, alt, ctrl, shift));<a name="line.411"></a>
+<span class="sourceLineNo">410</span> case 13:<a name="line.410"></a>
+<span class="sourceLineNo">411</span> offer(new KeyPress(KeyPress.Type.F3, null, alt, ctrl, shift));<a name="line.411"></a>
<span class="sourceLineNo">412</span> break;<a name="line.412"></a>
<span class="sourceLineNo">413</span><a name="line.413"></a>
-<span class="sourceLineNo">414</span> case 15:<a name="line.414"></a>
-<span class="sourceLineNo">415</span> offer(new KeyPress(KeyPress.Type.F5, null, alt, ctrl, shift));<a name="line.415"></a>
+<span class="sourceLineNo">414</span> case 14:<a name="line.414"></a>
+<span class="sourceLineNo">415</span> offer(new KeyPress(KeyPress.Type.F4, null, alt, ctrl, shift));<a name="line.415"></a>
<span class="sourceLineNo">416</span> break;<a name="line.416"></a>
<span class="sourceLineNo">417</span><a name="line.417"></a>
-<span class="sourceLineNo">418</span> case 17:<a name="line.418"></a>
-<span class="sourceLineNo">419</span> offer(new KeyPress(KeyPress.Type.F6, null, alt, ctrl, shift));<a name="line.419"></a>
+<span class="sourceLineNo">418</span> case 15:<a name="line.418"></a>
+<span class="sourceLineNo">419</span> offer(new KeyPress(KeyPress.Type.F5, null, alt, ctrl, shift));<a name="line.419"></a>
<span class="sourceLineNo">420</span> break;<a name="line.420"></a>
<span class="sourceLineNo">421</span><a name="line.421"></a>
-<span class="sourceLineNo">422</span> case 18:<a name="line.422"></a>
-<span class="sourceLineNo">423</span> offer(new KeyPress(KeyPress.Type.F7, null, alt, ctrl, shift));<a name="line.423"></a>
+<span class="sourceLineNo">422</span> case 17:<a name="line.422"></a>
+<span class="sourceLineNo">423</span> offer(new KeyPress(KeyPress.Type.F6, null, alt, ctrl, shift));<a name="line.423"></a>
<span class="sourceLineNo">424</span> break;<a name="line.424"></a>
<span class="sourceLineNo">425</span><a name="line.425"></a>
-<span class="sourceLineNo">426</span> case 19:<a name="line.426"></a>
-<span class="sourceLineNo">427</span> offer(new KeyPress(KeyPress.Type.F8, null, alt, ctrl, shift));<a name="line.427"></a>
+<span class="sourceLineNo">426</span> case 18:<a name="line.426"></a>
+<span class="sourceLineNo">427</span> offer(new KeyPress(KeyPress.Type.F7, null, alt, ctrl, shift));<a name="line.427"></a>
<span class="sourceLineNo">428</span> break;<a name="line.428"></a>
<span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span> case 20:<a name="line.430"></a>
-<span class="sourceLineNo">431</span> offer(new KeyPress(KeyPress.Type.F9, null, alt, ctrl, shift));<a name="line.431"></a>
+<span class="sourceLineNo">430</span> case 19:<a name="line.430"></a>
+<span class="sourceLineNo">431</span> offer(new KeyPress(KeyPress.Type.F8, null, alt, ctrl, shift));<a name="line.431"></a>
<span class="sourceLineNo">432</span> break;<a name="line.432"></a>
<span class="sourceLineNo">433</span><a name="line.433"></a>
-<span class="sourceLineNo">434</span> case 21:<a name="line.434"></a>
-<span class="sourceLineNo">435</span> offer(new KeyPress(KeyPress.Type.F10, null, alt, ctrl, shift));<a name="line.435"></a>
+<span class="sourceLineNo">434</span> case 20:<a name="line.434"></a>
+<span class="sourceLineNo">435</span> offer(new KeyPress(KeyPress.Type.F9, null, alt, ctrl, shift));<a name="line.435"></a>
<span class="sourceLineNo">436</span> break;<a name="line.436"></a>
<span class="sourceLineNo">437</span><a name="line.437"></a>
-<span class="sourceLineNo">438</span> case 23:<a name="line.438"></a>
-<span class="sourceLineNo">439</span> offer(new KeyPress(KeyPress.Type.F11, null, alt, ctrl, shift));<a name="line.439"></a>
+<span class="sourceLineNo">438</span> case 21:<a name="line.438"></a>
+<span class="sourceLineNo">439</span> offer(new KeyPress(KeyPress.Type.F10, null, alt, ctrl, shift));<a name="line.439"></a>
<span class="sourceLineNo">440</span> break;<a name="line.440"></a>
<span class="sourceLineNo">441</span><a name="line.441"></a>
-<span class="sourceLineNo">442</span> case 24:<a name="line.442"></a>
-<span class="sourceLineNo">443</span> offer(new KeyPress(KeyPress.Type.F12, null, alt, ctrl, shift));<a name="line.443"></a>
+<span class="sourceLineNo">442</span> case 23:<a name="line.442"></a>
+<span class="sourceLineNo">443</span> offer(new KeyPress(KeyPress.Type.F11, null, alt, ctrl, shift));<a name="line.443"></a>
<span class="sourceLineNo">444</span> break;<a name="line.444"></a>
<span class="sourceLineNo">445</span><a name="line.445"></a>
-<span class="sourceLineNo">446</span> default:<a name="line.446"></a>
-<span class="sourceLineNo">447</span> offer(new KeyPress(KeyPress.Type.Unknown, null, false, false, false));<a name="line.447"></a>
+<span class="sourceLineNo">446</span> case 24:<a name="line.446"></a>
+<span class="sourceLineNo">447</span> offer(new KeyPress(KeyPress.Type.F12, null, alt, ctrl, shift));<a name="line.447"></a>
<span class="sourceLineNo">448</span> break;<a name="line.448"></a>
-<span class="sourceLineNo">449</span> }<a name="line.449"></a>
-<span class="sourceLineNo">450</span><a name="line.450"></a>
-<span class="sourceLineNo">451</span> initState();<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> private boolean isShift(int param) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span> return (param & 1) != 0;<a name="line.455"></a>
+<span class="sourceLineNo">449</span><a name="line.449"></a>
+<span class="sourceLineNo">450</span> default:<a name="line.450"></a>
+<span class="sourceLineNo">451</span> offer(new KeyPress(KeyPress.Type.Unknown, null, false, false, false));<a name="line.451"></a>
+<span class="sourceLineNo">452</span> break;<a name="line.452"></a>
+<span class="sourceLineNo">453</span> }<a name="line.453"></a>
+<span class="sourceLineNo">454</span><a name="line.454"></a>
+<span class="sourceLineNo">455</span> initState();<a name="line.455"></a>
<span class="sourceLineNo">456</span> }<a name="line.456"></a>
<span class="sourceLineNo">457</span><a name="line.457"></a>
-<span class="sourceLineNo">458</span> private boolean isAlt(int param) {<a name="line.458"></a>
-<span class="sourceLineNo">459</span> return (param & 2) != 0;<a name="line.459"></a>
+<span class="sourceLineNo">458</span> private boolean isShift(int param) {<a name="line.458"></a>
+<span class="sourceLineNo">459</span> return (param & 1) != 0;<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> private boolean isCtrl(int param) {<a name="line.462"></a>
-<span class="sourceLineNo">463</span> return (param & 4) != 0;<a name="line.463"></a>
+<span class="sourceLineNo">462</span> private boolean isAlt(int param) {<a name="line.462"></a>
+<span class="sourceLineNo">463</span> return (param & 2) != 0;<a name="line.463"></a>
<span class="sourceLineNo">464</span> }<a name="line.464"></a>
<span class="sourceLineNo">465</span><a name="line.465"></a>
-<span class="sourceLineNo">466</span> private void offer(KeyPress keyPress) {<a name="line.466"></a>
-<span class="sourceLineNo">467</span> // Handle ctrl + c<a name="line.467"></a>
-<span class="sourceLineNo">468</span> if (keyPress.isCtrl() && keyPress.getType() == KeyPress.Type.Character &&<a name="line.468"></a>
-<span class="sourceLineNo">469</span> keyPress.getCharacter() == 'c') {<a name="line.469"></a>
-<span class="sourceLineNo">470</span> System.exit(0);<a name="line.470"></a>
-<span class="sourceLineNo">471</span> }<a name="line.471"></a>
-<span class="sourceLineNo">472</span><a name="line.472"></a>
-<span class="sourceLineNo">473</span> keyPressQueue.offer(keyPress);<a name="line.473"></a>
-<span class="sourceLineNo">474</span> }<a name="line.474"></a>
-<span class="sourceLineNo">475</span><a name="line.475"></a>
-<span class="sourceLineNo">476</span> public void stop() {<a name="line.476"></a>
-<span class="sourceLineNo">477</span> stopThreads.set(true);<a name="line.477"></a>
-<span class="sourceLineNo">478</span><a name="line.478"></a>
-<span class="sourceLineNo">479</span> executorService.shutdown();<a name="line.479"></a>
-<span class="sourceLineNo">480</span> try {<a name="line.480"></a>
-<span class="sourceLineNo">481</span> while (!executorService.awaitTermination(60, TimeUnit.SECONDS)) {<a name="line.481"></a>
-<span class="sourceLineNo">482</span> LOGGER.warn("Waiting for thread-pool to terminate");<a name="line.482"></a>
-<span class="sourceLineNo">483</span> }<a name="line.483"></a>
-<span class="sourceLineNo">484</span> } catch (InterruptedException e) {<a name="line.484"></a>
-<span class="sourceLineNo">485</span> LOGGER.warn("Interrupted while waiting for thread-pool termination", e);<a name="line.485"></a>
-<span class="sourceLineNo">486</span> }<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">466</span> private boolean isCtrl(int param) {<a name="line.466"></a>
+<span class="sourceLineNo">467</span> return (param & 4) != 0;<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> private void offer(KeyPress keyPress) {<a name="line.470"></a>
+<span class="sourceLineNo">471</span> // Handle ctrl + c<a name="line.471"></a>
+<span class="sourceLineNo">472</span> if (keyPress.isCtrl() && keyPress.getType() == KeyPress.Type.Character &&<a name="line.472"></a>
+<span class="sourceLineNo">473</span> keyPress.getCharacter() == 'c') {<a name="line.473"></a>
+<span class="sourceLineNo">474</span> System.exit(0);<a name="line.474"></a>
+<span class="sourceLineNo">475</span> }<a name="line.475"></a>
+<span class="sourceLineNo">476</span><a name="line.476"></a>
+<span class="sourceLineNo">477</span> keyPressQueue.offer(keyPress);<a name="line.477"></a>
+<span class="sourceLineNo">478</span> }<a name="line.478"></a>
+<span class="sourceLineNo">479</span><a name="line.479"></a>
+<span class="sourceLineNo">480</span> public void stop() {<a name="line.480"></a>
+<span class="sourceLineNo">481</span> stopThreads.set(true);<a name="line.481"></a>
+<span class="sourceLineNo">482</span><a name="line.482"></a>
+<span class="sourceLineNo">483</span> executorService.shutdown();<a name="line.483"></a>
+<span class="sourceLineNo">484</span> try {<a name="line.484"></a>
+<span class="sourceLineNo">485</span> while (!executorService.awaitTermination(60, TimeUnit.SECONDS)) {<a name="line.485"></a>
+<span class="sourceLineNo">486</span> LOGGER.warn("Waiting for thread-pool to terminate");<a name="line.486"></a>
+<span class="sourceLineNo">487</span> }<a name="line.487"></a>
+<span class="sourceLineNo">488</span> } catch (InterruptedException e) {<a name="line.488"></a>
+<span class="sourceLineNo">489</span> LOGGER.warn("Interrupted while waiting for thread-pool termination", e);<a name="line.489"></a>
+<span class="sourceLineNo">490</span> }<a name="line.490"></a>
+<span class="sourceLineNo">491</span> }<a name="line.491"></a>
+<span class="sourceLineNo">492</span>}<a name="line.492"></a>
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html
index 984c5cb..bd8ea85 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html
@@ -510,1103 +510,1106 @@
<span class="sourceLineNo">502</span> // block will use the refCnt of bucketEntry, which means if two HFileBlock mapping to<a name="line.502"></a>
<span class="sourceLineNo">503</span> // the same BucketEntry, then all of the three will share the same refCnt.<a name="line.503"></a>
<span class="sourceLineNo">504</span> Cacheable cachedBlock = ioEngine.read(bucketEntry);<a name="line.504"></a>
-<span class="sourceLineNo">505</span> // RPC start to reference, so retain here.<a name="line.505"></a>
-<span class="sourceLineNo">506</span> cachedBlock.retain();<a name="line.506"></a>
-<span class="sourceLineNo">507</span> // Update the cache statistics.<a name="line.507"></a>
-<span class="sourceLineNo">508</span> if (updateCacheMetrics) {<a name="line.508"></a>
-<span class="sourceLineNo">509</span> cacheStats.hit(caching, key.isPrimary(), key.getBlockType());<a name="line.509"></a>
-<span class="sourceLineNo">510</span> cacheStats.ioHit(System.nanoTime() - start);<a name="line.510"></a>
-<span class="sourceLineNo">511</span> }<a name="line.511"></a>
-<span class="sourceLineNo">512</span> bucketEntry.access(accessCount.incrementAndGet());<a name="line.512"></a>
-<span class="sourceLineNo">513</span> if (this.ioErrorStartTime > 0) {<a name="line.513"></a>
-<span class="sourceLineNo">514</span> ioErrorStartTime = -1;<a name="line.514"></a>
-<span class="sourceLineNo">515</span> }<a name="line.515"></a>
-<span class="sourceLineNo">516</span> return cachedBlock;<a name="line.516"></a>
-<span class="sourceLineNo">517</span> }<a name="line.517"></a>
-<span class="sourceLineNo">518</span> } catch (IOException ioex) {<a name="line.518"></a>
-<span class="sourceLineNo">519</span> LOG.error("Failed reading block " + key + " from bucket cache", ioex);<a name="line.519"></a>
-<span class="sourceLineNo">520</span> checkIOErrorIsTolerated();<a name="line.520"></a>
-<span class="sourceLineNo">521</span> } finally {<a name="line.521"></a>
-<span class="sourceLineNo">522</span> lock.readLock().unlock();<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> if (!repeat && updateCacheMetrics) {<a name="line.525"></a>
-<span class="sourceLineNo">526</span> cacheStats.miss(caching, key.isPrimary(), key.getBlockType());<a name="line.526"></a>
+<span class="sourceLineNo">505</span> if (ioEngine.usesSharedMemory()) {<a name="line.505"></a>
+<span class="sourceLineNo">506</span> // If IOEngine use shared memory, cachedBlock and BucketEntry will share the<a name="line.506"></a>
+<span class="sourceLineNo">507</span> // same RefCnt, do retain here, in order to count the number of RPC references<a name="line.507"></a>
+<span class="sourceLineNo">508</span> cachedBlock.retain();<a name="line.508"></a>
+<span class="sourceLineNo">509</span> }<a name="line.509"></a>
+<span class="sourceLineNo">510</span> // Update the cache statistics.<a name="line.510"></a>
+<span class="sourceLineNo">511</span> if (updateCacheMetrics) {<a name="line.511"></a>
+<span class="sourceLineNo">512</span> cacheStats.hit(caching, key.isPrimary(), key.getBlockType());<a name="line.512"></a>
+<span class="sourceLineNo">513</span> cacheStats.ioHit(System.nanoTime() - start);<a name="line.513"></a>
+<span class="sourceLineNo">514</span> }<a name="line.514"></a>
+<span class="sourceLineNo">515</span> bucketEntry.access(accessCount.incrementAndGet());<a name="line.515"></a>
+<span class="sourceLineNo">516</span> if (this.ioErrorStartTime > 0) {<a name="line.516"></a>
+<span class="sourceLineNo">517</span> ioErrorStartTime = -1;<a name="line.517"></a>
+<span class="sourceLineNo">518</span> }<a name="line.518"></a>
+<span class="sourceLineNo">519</span> return cachedBlock;<a name="line.519"></a>
+<span class="sourceLineNo">520</span> }<a name="line.520"></a>
+<span class="sourceLineNo">521</span> } catch (IOException ioex) {<a name="line.521"></a>
+<span class="sourceLineNo">522</span> LOG.error("Failed reading block " + key + " from bucket cache", ioex);<a name="line.522"></a>
+<span class="sourceLineNo">523</span> checkIOErrorIsTolerated();<a name="line.523"></a>
+<span class="sourceLineNo">524</span> } finally {<a name="line.524"></a>
+<span class="sourceLineNo">525</span> lock.readLock().unlock();<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> return null;<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> @VisibleForTesting<a name="line.531"></a>
-<span class="sourceLineNo">532</span> void blockEvicted(BlockCacheKey cacheKey, BucketEntry bucketEntry, boolean decrementBlockNumber) {<a name="line.532"></a>
-<span class="sourceLineNo">533</span> bucketAllocator.freeBlock(bucketEntry.offset());<a name="line.533"></a>
-<span class="sourceLineNo">534</span> realCacheSize.add(-1 * bucketEntry.getLength());<a name="line.534"></a>
-<span class="sourceLineNo">535</span> blocksByHFile.remove(cacheKey);<a name="line.535"></a>
-<span class="sourceLineNo">536</span> if (decrementBlockNumber) {<a name="line.536"></a>
-<span class="sourceLineNo">537</span> this.blockNumber.decrement();<a name="line.537"></a>
-<span class="sourceLineNo">538</span> }<a name="line.538"></a>
-<span class="sourceLineNo">539</span> }<a name="line.539"></a>
-<span class="sourceLineNo">540</span><a name="line.540"></a>
-<span class="sourceLineNo">541</span> /**<a name="line.541"></a>
-<span class="sourceLineNo">542</span> * Try to evict the block from {@link BlockCache} by force. We'll call this in few cases:<br><a name="line.542"></a>
-<span class="sourceLineNo">543</span> * 1. Close an HFile, and clear all cached blocks. <br><a name="line.543"></a>
-<span class="sourceLineNo">544</span> * 2. Call {@link Admin#clearBlockCache(TableName)} to clear all blocks for a given table.<br><a name="line.544"></a>
-<span class="sourceLineNo">545</span> * <p><a name="line.545"></a>
-<span class="sourceLineNo">546</span> * Firstly, we'll try to remove the block from RAMCache. If it doesn't exist in RAMCache, then try<a name="line.546"></a>
-<span class="sourceLineNo">547</span> * to evict from backingMap. Here we only need to free the reference from bucket cache by calling<a name="line.547"></a>
-<span class="sourceLineNo">548</span> * {@link BucketEntry#markedAsEvicted}. If there're still some RPC referring this block, block can<a name="line.548"></a>
-<span class="sourceLineNo">549</span> * only be de-allocated when all of them release the block.<a name="line.549"></a>
-<span class="sourceLineNo">550</span> * <p><a name="line.550"></a>
-<span class="sourceLineNo">551</span> * NOTICE: we need to grab the write offset lock firstly before releasing the reference from<a name="line.551"></a>
-<span class="sourceLineNo">552</span> * bucket cache. if we don't, we may read an {@link BucketEntry} with refCnt = 0 when<a name="line.552"></a>
-<span class="sourceLineNo">553</span> * {@link BucketCache#getBlock(BlockCacheKey, boolean, boolean, boolean)}, it's a memory leak.<a name="line.553"></a>
-<span class="sourceLineNo">554</span> * @param cacheKey Block to evict<a name="line.554"></a>
-<span class="sourceLineNo">555</span> * @return true to indicate whether we've evicted successfully or not.<a name="line.555"></a>
-<span class="sourceLineNo">556</span> */<a name="line.556"></a>
-<span class="sourceLineNo">557</span> @Override<a name="line.557"></a>
-<span class="sourceLineNo">558</span> public boolean evictBlock(BlockCacheKey cacheKey) {<a name="line.558"></a>
-<span class="sourceLineNo">559</span> if (!cacheEnabled) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span> return false;<a name="line.560"></a>
-<span class="sourceLineNo">561</span> }<a name="line.561"></a>
-<span class="sourceLineNo">562</span> boolean existed = removeFromRamCache(cacheKey);<a name="line.562"></a>
-<span class="sourceLineNo">563</span> BucketEntry be = backingMap.get(cacheKey);<a name="line.563"></a>
-<span class="sourceLineNo">564</span> if (be == null) {<a name="line.564"></a>
-<span class="sourceLineNo">565</span> if (existed) {<a name="line.565"></a>
-<span class="sourceLineNo">566</span> cacheStats.evicted(0, cacheKey.isPrimary());<a name="line.566"></a>
-<span class="sourceLineNo">567</span> }<a name="line.567"></a>
-<span class="sourceLineNo">568</span> return existed;<a name="line.568"></a>
-<span class="sourceLineNo">569</span> } else {<a name="line.569"></a>
-<span class="sourceLineNo">570</span> return be.withWriteLock(offsetLock, be::markAsEvicted);<a name="line.570"></a>
-<span class="sourceLineNo">571</span> }<a name="line.571"></a>
-<span class="sourceLineNo">572</span> }<a name="line.572"></a>
-<span class="sourceLineNo">573</span><a name="line.573"></a>
-<span class="sourceLineNo">574</span> private Recycler createRecycler(BlockCacheKey cacheKey) {<a name="line.574"></a>
-<span class="sourceLineNo">575</span> return () -> {<a name="line.575"></a>
-<span class="sourceLineNo">576</span> if (!cacheEnabled) {<a name="line.576"></a>
-<span class="sourceLineNo">577</span> return;<a name="line.577"></a>
-<span class="sourceLineNo">578</span> }<a name="line.578"></a>
-<span class="sourceLineNo">579</span> boolean existed = removeFromRamCache(cacheKey);<a name="line.579"></a>
-<span class="sourceLineNo">580</span> BucketEntry be = backingMap.get(cacheKey);<a name="line.580"></a>
-<span class="sourceLineNo">581</span> if (be == null && existed) {<a name="line.581"></a>
-<span class="sourceLineNo">582</span> cacheStats.evicted(0, cacheKey.isPrimary());<a name="line.582"></a>
-<span class="sourceLineNo">583</span> } else if (be != null) {<a name="line.583"></a>
-<span class="sourceLineNo">584</span> be.withWriteLock(offsetLock, () -> {<a name="line.584"></a>
-<span class="sourceLineNo">585</span> if (backingMap.remove(cacheKey, be)) {<a name="line.585"></a>
-<span class="sourceLineNo">586</span> blockEvicted(cacheKey, be, !existed);<a name="line.586"></a>
-<span class="sourceLineNo">587</span> cacheStats.evicted(be.getCachedTime(), cacheKey.isPrimary());<a name="line.587"></a>
-<span class="sourceLineNo">588</span> }<a name="line.588"></a>
-<span class="sourceLineNo">589</span> return null;<a name="line.589"></a>
-<span class="sourceLineNo">590</span> });<a name="line.590"></a>
-<span class="sourceLineNo">591</span> }<a name="line.591"></a>
-<span class="sourceLineNo">592</span> };<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> private boolean removeFromRamCache(BlockCacheKey cacheKey) {<a name="line.595"></a>
-<span class="sourceLineNo">596</span> return ramCache.remove(cacheKey, re -> {<a name="line.596"></a>
-<span class="sourceLineNo">597</span> if (re != null) {<a name="line.597"></a>
-<span class="sourceLineNo">598</span> this.blockNumber.decrement();<a name="line.598"></a>
-<span class="sourceLineNo">599</span> this.heapSize.add(-1 * re.getData().heapSize());<a name="line.599"></a>
-<span class="sourceLineNo">600</span> }<a name="line.600"></a>
-<span class="sourceLineNo">601</span> });<a name="line.601"></a>
-<span class="sourceLineNo">602</span> }<a name="line.602"></a>
-<span class="sourceLineNo">603</span><a name="line.603"></a>
-<span class="sourceLineNo">604</span> /*<a name="line.604"></a>
-<span class="sourceLineNo">605</span> * Statistics thread. Periodically output cache statistics to the log.<a name="line.605"></a>
-<span class="sourceLineNo">606</span> */<a name="line.606"></a>
-<span class="sourceLineNo">607</span> private static class StatisticsThread extends Thread {<a name="line.607"></a>
-<span class="sourceLineNo">608</span> private final BucketCache bucketCache;<a name="line.608"></a>
-<span class="sourceLineNo">609</span><a name="line.609"></a>
-<span class="sourceLineNo">610</span> public StatisticsThread(BucketCache bucketCache) {<a name="line.610"></a>
-<span class="sourceLineNo">611</span> super("BucketCacheStatsThread");<a name="line.611"></a>
-<span class="sourceLineNo">612</span> setDaemon(true);<a name="line.612"></a>
-<span class="sourceLineNo">613</span> this.bucketCache = bucketCache;<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> @Override<a name="line.616"></a>
-<span class="sourceLineNo">617</span> public void run() {<a name="line.617"></a>
-<span class="sourceLineNo">618</span> bucketCache.logStats();<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> public void logStats() {<a name="line.622"></a>
-<span class="sourceLineNo">623</span> long totalSize = bucketAllocator.getTotalSize();<a name="line.623"></a>
-<span class="sourceLineNo">624</span> long usedSize = bucketAllocator.getUsedSize();<a name="line.624"></a>
-<span class="sourceLineNo">625</span> long freeSize = totalSize - usedSize;<a name="line.625"></a>
-<span class="sourceLineNo">626</span> long cacheSize = getRealCacheSize();<a name="line.626"></a>
-<span class="sourceLineNo">627</span> LOG.info("failedBlockAdditions=" + cacheStats.getFailedInserts() + ", " +<a name="line.627"></a>
-<span class="sourceLineNo">628</span> "totalSize=" + StringUtils.byteDesc(totalSize) + ", " +<a name="line.628"></a>
-<span class="sourceLineNo">629</span> "freeSize=" + StringUtils.byteDesc(freeSize) + ", " +<a name="line.629"></a>
-<span class="sourceLineNo">630</span> "usedSize=" + StringUtils.byteDesc(usedSize) +", " +<a name="line.630"></a>
-<span class="sourceLineNo">631</span> "cacheSize=" + StringUtils.byteDesc(cacheSize) +", " +<a name="line.631"></a>
-<span class="sourceLineNo">632</span> "accesses=" + cacheStats.getRequestCount() + ", " +<a name="line.632"></a>
-<span class="sourceLineNo">633</span> "hits=" + cacheStats.getHitCount() + ", " +<a name="line.633"></a>
-<span class="sourceLineNo">634</span> "IOhitsPerSecond=" + cacheStats.getIOHitsPerSecond() + ", " +<a name="line.634"></a>
-<span class="sourceLineNo">635</span> "IOTimePerHit=" + String.format("%.2f", cacheStats.getIOTimePerHit())+ ", " +<a name="line.635"></a>
-<span class="sourceLineNo">636</span> "hitRatio=" + (cacheStats.getHitCount() == 0 ? "0," :<a name="line.636"></a>
-<span class="sourceLineNo">637</span> (StringUtils.formatPercent(cacheStats.getHitRatio(), 2)+ ", ")) +<a name="line.637"></a>
-<span class="sourceLineNo">638</span> "cachingAccesses=" + cacheStats.getRequestCachingCount() + ", " +<a name="line.638"></a>
-<span class="sourceLineNo">639</span> "cachingHits=" + cacheStats.getHitCachingCount() + ", " +<a name="line.639"></a>
-<span class="sourceLineNo">640</span> "cachingHitsRatio=" +(cacheStats.getHitCachingCount() == 0 ? "0," :<a name="line.640"></a>
-<span class="sourceLineNo">641</span> (StringUtils.formatPercent(cacheStats.getHitCachingRatio(), 2)+ ", ")) +<a name="line.641"></a>
-<span class="sourceLineNo">642</span> "evictions=" + cacheStats.getEvictionCount() + ", " +<a name="line.642"></a>
-<span class="sourceLineNo">643</span> "evicted=" + cacheStats.getEvictedCount() + ", " +<a name="line.643"></a>
-<span class="sourceLineNo">644</span> "evictedPerRun=" + cacheStats.evictedPerEviction());<a name="line.644"></a>
-<span class="sourceLineNo">645</span> cacheStats.reset();<a name="line.645"></a>
-<span class="sourceLineNo">646</span> }<a name="line.646"></a>
-<span class="sourceLineNo">647</span><a name="line.647"></a>
-<span class="sourceLineNo">648</span> public long getRealCacheSize() {<a name="line.648"></a>
-<span class="sourceLineNo">649</span> return this.realCacheSize.sum();<a name="line.649"></a>
-<span class="sourceLineNo">650</span> }<a name="line.650"></a>
-<span class="sourceLineNo">651</span><a name="line.651"></a>
-<span class="sourceLineNo">652</span> public long acceptableSize() {<a name="line.652"></a>
-<span class="sourceLineNo">653</span> return (long) Math.floor(bucketAllocator.getTotalSize() * acceptableFactor);<a name="line.653"></a>
-<span class="sourceLineNo">654</span> }<a name="line.654"></a>
-<span class="sourceLineNo">655</span><a name="line.655"></a>
-<span class="sourceLineNo">656</span> @VisibleForTesting<a name="line.656"></a>
-<span class="sourceLineNo">657</span> long getPartitionSize(float partitionFactor) {<a name="line.657"></a>
-<span class="sourceLineNo">658</span> return (long) Math.floor(bucketAllocator.getTotalSize() * partitionFactor * minFactor);<a name="line.658"></a>
-<span class="sourceLineNo">659</span> }<a name="line.659"></a>
-<span class="sourceLineNo">660</span><a name="line.660"></a>
-<span class="sourceLineNo">661</span> /**<a name="line.661"></a>
-<span class="sourceLineNo">662</span> * Return the count of bucketSizeinfos still need free space<a name="line.662"></a>
-<span class="sourceLineNo">663</span> */<a name="line.663"></a>
-<span class="sourceLineNo">664</span> private int bucketSizesAboveThresholdCount(float minFactor) {<a name="line.664"></a>
-<span class="sourceLineNo">665</span> BucketAllocator.IndexStatistics[] stats = bucketAllocator.getIndexStatistics();<a name="line.665"></a>
-<span class="sourceLineNo">666</span> int fullCount = 0;<a name="line.666"></a>
-<span class="sourceLineNo">667</span> for (int i = 0; i < stats.length; i++) {<a name="line.667"></a>
-<span class="sourceLineNo">668</span> long freeGoal = (long) Math.floor(stats[i].totalCount() * (1 - minFactor));<a name="line.668"></a>
-<span class="sourceLineNo">669</span> freeGoal = Math.max(freeGoal, 1);<a name="line.669"></a>
-<span class="sourceLineNo">670</span> if (stats[i].freeCount() < freeGoal) {<a name="line.670"></a>
-<span class="sourceLineNo">671</span> fullCount++;<a name="line.671"></a>
-<span class="sourceLineNo">672</span> }<a name="line.672"></a>
-<span class="sourceLineNo">673</span> }<a name="line.673"></a>
-<span class="sourceLineNo">674</span> return fullCount;<a name="line.674"></a>
-<span class="sourceLineNo">675</span> }<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> * This method will find the buckets that are minimally occupied<a name="line.678"></a>
-<span class="sourceLineNo">679</span> * and are not reference counted and will free them completely<a name="line.679"></a>
-<span class="sourceLineNo">680</span> * without any constraint on the access times of the elements,<a name="line.680"></a>
-<span class="sourceLineNo">681</span> * and as a process will completely free at most the number of buckets<a name="line.681"></a>
-<span class="sourceLineNo">682</span> * passed, sometimes it might not due to changing refCounts<a name="line.682"></a>
-<span class="sourceLineNo">683</span> *<a name="line.683"></a>
-<span class="sourceLineNo">684</span> * @param completelyFreeBucketsNeeded number of buckets to free<a name="line.684"></a>
-<span class="sourceLineNo">685</span> **/<a name="line.685"></a>
-<span class="sourceLineNo">686</span> private void freeEntireBuckets(int completelyFreeBucketsNeeded) {<a name="line.686"></a>
-<span class="sourceLineNo">687</span> if (completelyFreeBucketsNeeded != 0) {<a name="line.687"></a>
-<span class="sourceLineNo">688</span> // First we will build a set where the offsets are reference counted, usually<a name="line.688"></a>
-<span class="sourceLineNo">689</span> // this set is small around O(Handler Count) unless something else is wrong<a name="line.689"></a>
-<span class="sourceLineNo">690</span> Set<Integer> inUseBuckets = new HashSet<>();<a name="line.690"></a>
-<span class="sourceLineNo">691</span> backingMap.forEach((k, be) -> {<a name="line.691"></a>
-<span class="sourceLineNo">692</span> if (be.isRpcRef()) {<a name="line.692"></a>
-<span class="sourceLineNo">693</span> inUseBuckets.add(bucketAllocator.getBucketIndex(be.offset()));<a name="line.693"></a>
-<span class="sourceLineNo">694</span> }<a name="line.694"></a>
-<span class="sourceLineNo">695</span> });<a name="line.695"></a>
-<span class="sourceLineNo">696</span> Set<Integer> candidateBuckets =<a name="line.696"></a>
-<span class="sourceLineNo">697</span> bucketAllocator.getLeastFilledBuckets(inUseBuckets, completelyFreeBucketsNeeded);<a name="line.697"></a>
-<span class="sourceLineNo">698</span> for (Map.Entry<BlockCacheKey, BucketEntry> entry : backingMap.entrySet()) {<a name="line.698"></a>
-<span class="sourceLineNo">699</span> if (candidateBuckets.contains(bucketAllocator.getBucketIndex(entry.getValue().offset()))) {<a name="line.699"></a>
-<span class="sourceLineNo">700</span> entry.getValue().withWriteLock(offsetLock, entry.getValue()::markStaleAsEvicted);<a name="line.700"></a>
-<span class="sourceLineNo">701</span> }<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> }<a name="line.704"></a>
-<span class="sourceLineNo">705</span><a name="line.705"></a>
-<span class="sourceLineNo">706</span> /**<a name="line.706"></a>
-<span class="sourceLineNo">707</span> * Free the space if the used size reaches acceptableSize() or one size block<a name="line.707"></a>
-<span class="sourceLineNo">708</span> * couldn't be allocated. When freeing the space, we use the LRU algorithm and<a name="line.708"></a>
-<span class="sourceLineNo">709</span> * ensure there must be some blocks evicted<a name="line.709"></a>
-<span class="sourceLineNo">710</span> * @param why Why we are being called<a name="line.710"></a>
-<span class="sourceLineNo">711</span> */<a name="line.711"></a>
-<span class="sourceLineNo">712</span> private void freeSpace(final String why) {<a name="line.712"></a>
-<span class="sourceLineNo">713</span> // Ensure only one freeSpace progress at a time<a name="line.713"></a>
-<span class="sourceLineNo">714</span> if (!freeSpaceLock.tryLock()) {<a name="line.714"></a>
-<span class="sourceLineNo">715</span> return;<a name="line.715"></a>
-<span class="sourceLineNo">716</span> }<a name="line.716"></a>
-<span class="sourceLineNo">717</span> try {<a name="line.717"></a>
-<span class="sourceLineNo">718</span> freeInProgress = true;<a name="line.718"></a>
-<span class="sourceLineNo">719</span> long bytesToFreeWithoutExtra = 0;<a name="line.719"></a>
-<span class="sourceLineNo">720</span> // Calculate free byte for each bucketSizeinfo<a name="line.720"></a>
-<span class="sourceLineNo">721</span> StringBuilder msgBuffer = LOG.isDebugEnabled()? new StringBuilder(): null;<a name="line.721"></a>
-<span class="sourceLineNo">722</span> BucketAllocator.IndexStatistics[] stats = bucketAllocator.getIndexStatistics();<a name="line.722"></a>
-<span class="sourceLineNo">723</span> long[] bytesToFreeForBucket = new long[stats.length];<a name="line.723"></a>
-<span class="sourceLineNo">724</span> for (int i = 0; i < stats.length; i++) {<a name="line.724"></a>
-<span class="sourceLineNo">725</span> bytesToFreeForBucket[i] = 0;<a name="line.725"></a>
-<span class="sourceLineNo">726</span> long freeGoal = (long) Math.floor(stats[i].totalCount() * (1 - minFactor));<a name="line.726"></a>
-<span class="sourceLineNo">727</span> freeGoal = Math.max(freeGoal, 1);<a name="line.727"></a>
-<span class="sourceLineNo">728</span> if (stats[i].freeCount() < freeGoal) {<a name="line.728"></a>
-<span class="sourceLineNo">729</span> bytesToFreeForBucket[i] = stats[i].itemSize() * (freeGoal - stats[i].freeCount());<a name="line.729"></a>
-<span class="sourceLineNo">730</span> bytesToFreeWithoutExtra += bytesToFreeForBucket[i];<a name="line.730"></a>
-<span class="sourceLineNo">731</span> if (msgBuffer != null) {<a name="line.731"></a>
-<span class="sourceLineNo">732</span> msgBuffer.append("Free for bucketSize(" + stats[i].itemSize() + ")="<a name="line.732"></a>
-<span class="sourceLineNo">733</span> + StringUtils.byteDesc(bytesToFreeForBucket[i]) + ", ");<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> }<a name="line.736"></a>
-<span class="sourceLineNo">737</span> if (msgBuffer != null) {<a name="line.737"></a>
-<span class="sourceLineNo">738</span> msgBuffer.append("Free for total=" + StringUtils.byteDesc(bytesToFreeWithoutExtra) + ", ");<a name="line.738"></a>
+<span class="sourceLineNo">528</span> if (!repeat && updateCacheMetrics) {<a name="line.528"></a>
+<span class="sourceLineNo">529</span> cacheStats.miss(caching, key.isPrimary(), key.getBlockType());<a name="line.529"></a>
+<span class="sourceLineNo">530</span> }<a name="line.530"></a>
+<span class="sourceLineNo">531</span> return null;<a name="line.531"></a>
+<span class="sourceLineNo">532</span> }<a name="line.532"></a>
+<span class="sourceLineNo">533</span><a name="line.533"></a>
+<span class="sourceLineNo">534</span> @VisibleForTesting<a name="line.534"></a>
+<span class="sourceLineNo">535</span> void blockEvicted(BlockCacheKey cacheKey, BucketEntry bucketEntry, boolean decrementBlockNumber) {<a name="line.535"></a>
+<span class="sourceLineNo">536</span> bucketAllocator.freeBlock(bucketEntry.offset());<a name="line.536"></a>
+<span class="sourceLineNo">537</span> realCacheSize.add(-1 * bucketEntry.getLength());<a name="line.537"></a>
+<span class="sourceLineNo">538</span> blocksByHFile.remove(cacheKey);<a name="line.538"></a>
+<span class="sourceLineNo">539</span> if (decrementBlockNumber) {<a name="line.539"></a>
+<span class="sourceLineNo">540</span> this.blockNumber.decrement();<a name="line.540"></a>
+<span class="sourceLineNo">541</span> }<a name="line.541"></a>
+<span class="sourceLineNo">542</span> }<a name="line.542"></a>
+<span class="sourceLineNo">543</span><a name="line.543"></a>
+<span class="sourceLineNo">544</span> /**<a name="line.544"></a>
+<span class="sourceLineNo">545</span> * Try to evict the block from {@link BlockCache} by force. We'll call this in few cases:<br><a name="line.545"></a>
+<span class="sourceLineNo">546</span> * 1. Close an HFile, and clear all cached blocks. <br><a name="line.546"></a>
+<span class="sourceLineNo">547</span> * 2. Call {@link Admin#clearBlockCache(TableName)} to clear all blocks for a given table.<br><a name="line.547"></a>
+<span class="sourceLineNo">548</span> * <p><a name="line.548"></a>
+<span class="sourceLineNo">549</span> * Firstly, we'll try to remove the block from RAMCache. If it doesn't exist in RAMCache, then try<a name="line.549"></a>
+<span class="sourceLineNo">550</span> * to evict from backingMap. Here we only need to free the reference from bucket cache by calling<a name="line.550"></a>
+<span class="sourceLineNo">551</span> * {@link BucketEntry#markedAsEvicted}. If there're still some RPC referring this block, block can<a name="line.551"></a>
+<span class="sourceLineNo">552</span> * only be de-allocated when all of them release the block.<a name="line.552"></a>
+<span class="sourceLineNo">553</span> * <p><a name="line.553"></a>
+<span class="sourceLineNo">554</span> * NOTICE: we need to grab the write offset lock firstly before releasing the reference from<a name="line.554"></a>
+<span class="sourceLineNo">555</span> * bucket cache. if we don't, we may read an {@link BucketEntry} with refCnt = 0 when<a name="line.555"></a>
+<span class="sourceLineNo">556</span> * {@link BucketCache#getBlock(BlockCacheKey, boolean, boolean, boolean)}, it's a memory leak.<a name="line.556"></a>
+<span class="sourceLineNo">557</span> * @param cacheKey Block to evict<a name="line.557"></a>
+<span class="sourceLineNo">558</span> * @return true to indicate whether we've evicted successfully or not.<a name="line.558"></a>
+<span class="sourceLineNo">559</span> */<a name="line.559"></a>
+<span class="sourceLineNo">560</span> @Override<a name="line.560"></a>
+<span class="sourceLineNo">561</span> public boolean evictBlock(BlockCacheKey cacheKey) {<a name="line.561"></a>
+<span class="sourceLineNo">562</span> if (!cacheEnabled) {<a name="line.562"></a>
+<span class="sourceLineNo">563</span> return false;<a name="line.563"></a>
+<span class="sourceLineNo">564</span> }<a name="line.564"></a>
+<span class="sourceLineNo">565</span> boolean existed = removeFromRamCache(cacheKey);<a name="line.565"></a>
+<span class="sourceLineNo">566</span> BucketEntry be = backingMap.get(cacheKey);<a name="line.566"></a>
+<span class="sourceLineNo">567</span> if (be == null) {<a name="line.567"></a>
+<span class="sourceLineNo">568</span> if (existed) {<a name="line.568"></a>
+<span class="sourceLineNo">569</span> cacheStats.evicted(0, cacheKey.isPrimary());<a name="line.569"></a>
+<span class="sourceLineNo">570</span> }<a name="line.570"></a>
+<span class="sourceLineNo">571</span> return existed;<a name="line.571"></a>
+<span class="sourceLineNo">572</span> } else {<a name="line.572"></a>
+<span class="sourceLineNo">573</span> return be.withWriteLock(offsetLock, be::markAsEvicted);<a name="line.573"></a>
+<span class="sourceLineNo">574</span> }<a name="line.574"></a>
+<span class="sourceLineNo">575</span> }<a name="line.575"></a>
+<span class="sourceLineNo">576</span><a name="line.576"></a>
+<span class="sourceLineNo">577</span> private Recycler createRecycler(BlockCacheKey cacheKey) {<a name="line.577"></a>
+<span class="sourceLineNo">578</span> return () -> {<a name="line.578"></a>
+<span class="sourceLineNo">579</span> if (!cacheEnabled) {<a name="line.579"></a>
+<span class="sourceLineNo">580</span> return;<a name="line.580"></a>
+<span class="sourceLineNo">581</span> }<a name="line.581"></a>
+<span class="sourceLineNo">582</span> boolean existed = removeFromRamCache(cacheKey);<a name="line.582"></a>
+<span class="sourceLineNo">583</span> BucketEntry be = backingMap.get(cacheKey);<a name="line.583"></a>
+<span class="sourceLineNo">584</span> if (be == null && existed) {<a name="line.584"></a>
+<span class="sourceLineNo">585</span> cacheStats.evicted(0, cacheKey.isPrimary());<a name="line.585"></a>
+<span class="sourceLineNo">586</span> } else if (be != null) {<a name="line.586"></a>
+<span class="sourceLineNo">587</span> be.withWriteLock(offsetLock, () -> {<a name="line.587"></a>
+<span class="sourceLineNo">588</span> if (backingMap.remove(cacheKey, be)) {<a name="line.588"></a>
+<span class="sourceLineNo">589</span> blockEvicted(cacheKey, be, !existed);<a name="line.589"></a>
+<span class="sourceLineNo">590</span> cacheStats.evicted(be.getCachedTime(), cacheKey.isPrimary());<a name="line.590"></a>
+<span class="sourceLineNo">591</span> }<a name="line.591"></a>
+<span class="sourceLineNo">592</span> return null;<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> }<a name="line.596"></a>
+<span class="sourceLineNo">597</span><a name="line.597"></a>
+<span class="sourceLineNo">598</span> private boolean removeFromRamCache(BlockCacheKey cacheKey) {<a name="line.598"></a>
+<span class="sourceLineNo">599</span> return ramCache.remove(cacheKey, re -> {<a name="line.599"></a>
+<span class="sourceLineNo">600</span> if (re != null) {<a name="line.600"></a>
+<span class="sourceLineNo">601</span> this.blockNumber.decrement();<a name="line.601"></a>
+<span class="sourceLineNo">602</span> this.heapSize.add(-1 * re.getData().heapSize());<a name="line.602"></a>
+<span class="sourceLineNo">603</span> }<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> /*<a name="line.607"></a>
+<span class="sourceLineNo">608</span> * Statistics thread. Periodically output cache statistics to the log.<a name="line.608"></a>
+<span class="sourceLineNo">609</span> */<a name="line.609"></a>
+<span class="sourceLineNo">610</span> private static class StatisticsThread extends Thread {<a name="line.610"></a>
+<span class="sourceLineNo">611</span> private final BucketCache bucketCache;<a name="line.611"></a>
+<span class="sourceLineNo">612</span><a name="line.612"></a>
+<span class="sourceLineNo">613</span> public StatisticsThread(BucketCache bucketCache) {<a name="line.613"></a>
+<span class="sourceLineNo">614</span> super("BucketCacheStatsThread");<a name="line.614"></a>
+<span class="sourceLineNo">615</span> setDaemon(true);<a name="line.615"></a>
+<span class="sourceLineNo">616</span> this.bucketCache = bucketCache;<a name="line.616"></a>
+<span class="sourceLineNo">617</span> }<a name="line.617"></a>
+<span class="sourceLineNo">618</span><a name="line.618"></a>
+<span class="sourceLineNo">619</span> @Override<a name="line.619"></a>
+<span class="sourceLineNo">620</span> public void run() {<a name="line.620"></a>
+<span class="sourceLineNo">621</span> bucketCache.logStats();<a name="line.621"></a>
+<span class="sourceLineNo">622</span> }<a name="line.622"></a>
+<span class="sourceLineNo">623</span> }<a name="line.623"></a>
+<span class="sourceLineNo">624</span><a name="line.624"></a>
+<span class="sourceLineNo">625</span> public void logStats() {<a name="line.625"></a>
+<span class="sourceLineNo">626</span> long totalSize = bucketAllocator.getTotalSize();<a name="line.626"></a>
+<span class="sourceLineNo">627</span> long usedSize = bucketAllocator.getUsedSize();<a name="line.627"></a>
+<span class="sourceLineNo">628</span> long freeSize = totalSize - usedSize;<a name="line.628"></a>
+<span class="sourceLineNo">629</span> long cacheSize = getRealCacheSize();<a name="line.629"></a>
+<span class="sourceLineNo">630</span> LOG.info("failedBlockAdditions=" + cacheStats.getFailedInserts() + ", " +<a name="line.630"></a>
+<span class="sourceLineNo">631</span> "totalSize=" + StringUtils.byteDesc(totalSize) + ", " +<a name="line.631"></a>
+<span class="sourceLineNo">632</span> "freeSize=" + StringUtils.byteDesc(freeSize) + ", " +<a name="line.632"></a>
+<span class="sourceLineNo">633</span> "usedSize=" + StringUtils.byteDesc(usedSize) +", " +<a name="line.633"></a>
+<span class="sourceLineNo">634</span> "cacheSize=" + StringUtils.byteDesc(cacheSize) +", " +<a name="line.634"></a>
+<span class="sourceLineNo">635</span> "accesses=" + cacheStats.getRequestCount() + ", " +<a name="line.635"></a>
+<span class="sourceLineNo">636</span> "hits=" + cacheStats.getHitCount() + ", " +<a name="line.636"></a>
+<span class="sourceLineNo">637</span> "IOhitsPerSecond=" + cacheStats.getIOHitsPerSecond() + ", " +<a name="line.637"></a>
+<span class="sourceLineNo">638</span> "IOTimePerHit=" + String.format("%.2f", cacheStats.getIOTimePerHit())+ ", " +<a name="line.638"></a>
+<span class="sourceLineNo">639</span> "hitRatio=" + (cacheStats.getHitCount() == 0 ? "0," :<a name="line.639"></a>
+<span class="sourceLineNo">640</span> (StringUtils.formatPercent(cacheStats.getHitRatio(), 2)+ ", ")) +<a name="line.640"></a>
+<span class="sourceLineNo">641</span> "cachingAccesses=" + cacheStats.getRequestCachingCount() + ", " +<a name="line.641"></a>
+<span class="sourceLineNo">642</span> "cachingHits=" + cacheStats.getHitCachingCount() + ", " +<a name="line.642"></a>
+<span class="sourceLineNo">643</span> "cachingHitsRatio=" +(cacheStats.getHitCachingCount() == 0 ? "0," :<a name="line.643"></a>
+<span class="sourceLineNo">644</span> (StringUtils.formatPercent(cacheStats.getHitCachingRatio(), 2)+ ", ")) +<a name="line.644"></a>
+<span class="sourceLineNo">645</span> "evictions=" + cacheStats.getEvictionCount() + ", " +<a name="line.645"></a>
+<span class="sourceLineNo">646</span> "evicted=" + cacheStats.getEvictedCount() + ", " +<a name="line.646"></a>
+<span class="sourceLineNo">647</span> "evictedPerRun=" + cacheStats.evictedPerEviction());<a name="line.647"></a>
+<span class="sourceLineNo">648</span> cacheStats.reset();<a name="line.648"></a>
+<span class="sourceLineNo">649</span> }<a name="line.649"></a>
+<span class="sourceLineNo">650</span><a name="line.650"></a>
+<span class="sourceLineNo">651</span> public long getRealCacheSize() {<a name="line.651"></a>
+<span class="sourceLineNo">652</span> return this.realCacheSize.sum();<a name="line.652"></a>
+<span class="sourceLineNo">653</span> }<a name="line.653"></a>
+<span class="sourceLineNo">654</span><a name="line.654"></a>
+<span class="sourceLineNo">655</span> public long acceptableSize() {<a name="line.655"></a>
+<span class="sourceLineNo">656</span> return (long) Math.floor(bucketAllocator.getTotalSize() * acceptableFactor);<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> @VisibleForTesting<a name="line.659"></a>
+<span class="sourceLineNo">660</span> long getPartitionSize(float partitionFactor) {<a name="line.660"></a>
+<span class="sourceLineNo">661</span> return (long) Math.floor(bucketAllocator.getTotalSize() * partitionFactor * minFactor);<a name="line.661"></a>
+<span class="sourceLineNo">662</span> }<a name="line.662"></a>
+<span class="sourceLineNo">663</span><a name="line.663"></a>
+<span class="sourceLineNo">664</span> /**<a name="line.664"></a>
+<span class="sourceLineNo">665</span> * Return the count of bucketSizeinfos still need free space<a name="line.665"></a>
+<span class="sourceLineNo">666</span> */<a name="line.666"></a>
+<span class="sourceLineNo">667</span> private int bucketSizesAboveThresholdCount(float minFactor) {<a name="line.667"></a>
+<span class="sourceLineNo">668</span> BucketAllocator.IndexStatistics[] stats = bucketAllocator.getIndexStatistics();<a name="line.668"></a>
+<span class="sourceLineNo">669</span> int fullCount = 0;<a name="line.669"></a>
+<span class="sourceLineNo">670</span> for (int i = 0; i < stats.length; i++) {<a name="line.670"></a>
+<span class="sourceLineNo">671</span> long freeGoal = (long) Math.floor(stats[i].totalCount() * (1 - minFactor));<a name="line.671"></a>
+<span class="sourceLineNo">672</span> freeGoal = Math.max(freeGoal, 1);<a name="line.672"></a>
+<span class="sourceLineNo">673</span> if (stats[i].freeCount() < freeGoal) {<a name="line.673"></a>
+<span class="sourceLineNo">674</span> fullCount++;<a name="line.674"></a>
+<span class="sourceLineNo">675</span> }<a name="line.675"></a>
+<span class="sourceLineNo">676</span> }<a name="line.676"></a>
+<span class="sourceLineNo">677</span> return fullCount;<a name="line.677"></a>
+<span class="sourceLineNo">678</span> }<a name="line.678"></a>
+<span class="sourceLineNo">679</span><a name="line.679"></a>
+<span class="sourceLineNo">680</span> /**<a name="line.680"></a>
+<span class="sourceLineNo">681</span> * This method will find the buckets that are minimally occupied<a name="line.681"></a>
+<span class="sourceLineNo">682</span> * and are not reference counted and will free them completely<a name="line.682"></a>
+<span class="sourceLineNo">683</span> * without any constraint on the access times of the elements,<a name="line.683"></a>
+<span class="sourceLineNo">684</span> * and as a process will completely free at most the number of buckets<a name="line.684"></a>
+<span class="sourceLineNo">685</span> * passed, sometimes it might not due to changing refCounts<a name="line.685"></a>
+<span class="sourceLineNo">686</span> *<a name="line.686"></a>
+<span class="sourceLineNo">687</span> * @param completelyFreeBucketsNeeded number of buckets to free<a name="line.687"></a>
+<span class="sourceLineNo">688</span> **/<a name="line.688"></a>
+<span class="sourceLineNo">689</span> private void freeEntireBuckets(int completelyFreeBucketsNeeded) {<a name="line.689"></a>
+<span class="sourceLineNo">690</span> if (completelyFreeBucketsNeeded != 0) {<a name="line.690"></a>
+<span class="sourceLineNo">691</span> // First we will build a set where the offsets are reference counted, usually<a name="line.691"></a>
+<span class="sourceLineNo">692</span> // this set is small around O(Handler Count) unless something else is wrong<a name="line.692"></a>
+<span class="sourceLineNo">693</span> Set<Integer> inUseBuckets = new HashSet<>();<a name="line.693"></a>
+<span class="sourceLineNo">694</span> backingMap.forEach((k, be) -> {<a name="line.694"></a>
+<span class="sourceLineNo">695</span> if (be.isRpcRef()) {<a name="line.695"></a>
+<span class="sourceLineNo">696</span> inUseBuckets.add(bucketAllocator.getBucketIndex(be.offset()));<a name="line.696"></a>
+<span class="sourceLineNo">697</span> }<a name="line.697"></a>
+<span class="sourceLineNo">698</span> });<a name="line.698"></a>
+<span class="sourceLineNo">699</span> Set<Integer> candidateBuckets =<a name="line.699"></a>
+<span class="sourceLineNo">700</span> bucketAllocator.getLeastFilledBuckets(inUseBuckets, completelyFreeBucketsNeeded);<a name="line.700"></a>
+<span class="sourceLineNo">701</span> for (Map.Entry<BlockCacheKey, BucketEntry> entry : backingMap.entrySet()) {<a name="line.701"></a>
+<span class="sourceLineNo">702</span> if (candidateBuckets.contains(bucketAllocator.getBucketIndex(entry.getValue().offset()))) {<a name="line.702"></a>
+<span class="sourceLineNo">703</span> entry.getValue().withWriteLock(offsetLock, entry.getValue()::markStaleAsEvicted);<a name="line.703"></a>
+<span class="sourceLineNo">704</span> }<a name="line.704"></a>
+<span class="sourceLineNo">705</span> }<a name="line.705"></a>
+<span class="sourceLineNo">706</span> }<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> /**<a name="line.709"></a>
+<span class="sourceLineNo">710</span> * Free the space if the used size reaches acceptableSize() or one size block<a name="line.710"></a>
+<span class="sourceLineNo">711</span> * couldn't be allocated. When freeing the space, we use the LRU algorithm and<a name="line.711"></a>
+<span class="sourceLineNo">712</span> * ensure there must be some blocks evicted<a name="line.712"></a>
+<span class="sourceLineNo">713</span> * @param why Why we are being called<a name="line.713"></a>
+<span class="sourceLineNo">714</span> */<a name="line.714"></a>
+<span class="sourceLineNo">715</span> private void freeSpace(final String why) {<a name="line.715"></a>
+<span class="sourceLineNo">716</span> // Ensure only one freeSpace progress at a time<a name="line.716"></a>
+<span class="sourceLineNo">717</span> if (!freeSpaceLock.tryLock()) {<a name="line.717"></a>
+<span class="sourceLineNo">718</span> return;<a name="line.718"></a>
+<span class="sourceLineNo">719</span> }<a name="line.719"></a>
+<span class="sourceLineNo">720</span> try {<a name="line.720"></a>
+<span class="sourceLineNo">721</span> freeInProgress = true;<a name="line.721"></a>
+<span class="sourceLineNo">722</span> long bytesToFreeWithoutExtra = 0;<a name="line.722"></a>
+<span class="sourceLineNo">723</span> // Calculate free byte for each bucketSizeinfo<a name="line.723"></a>
+<span class="sourceLineNo">724</span> StringBuilder msgBuffer = LOG.isDebugEnabled()? new StringBuilder(): null;<a name="line.724"></a>
+<span class="sourceLineNo">725</span> BucketAllocator.IndexStatistics[] stats = bucketAllocator.getIndexStatistics();<a name="line.725"></a>
+<span class="sourceLineNo">726</span> long[] bytesToFreeForBucket = new long[stats.length];<a name="line.726"></a>
+<span class="sourceLineNo">727</span> for (int i = 0; i < stats.length; i++) {<a name="line.727"></a>
+<span class="sourceLineNo">728</span> bytesToFreeForBucket[i] = 0;<a name="line.728"></a>
+<span class="sourceLineNo">729</span> long freeGoal = (long) Math.floor(stats[i].totalCount() * (1 - minFactor));<a name="line.729"></a>
+<span class="sourceLineNo">730</span> freeGoal = Math.max(freeGoal, 1);<a name="line.730"></a>
+<span class="sourceLineNo">731</span> if (stats[i].freeCount() < freeGoal) {<a name="line.731"></a>
+<span class="sourceLineNo">732</span> bytesToFreeForBucket[i] = stats[i].itemSize() * (freeGoal - stats[i].freeCount());<a name="line.732"></a>
+<span class="sourceLineNo">733</span> bytesToFreeWithoutExtra += bytesToFreeForBucket[i];<a name="line.733"></a>
+<span class="sourceLineNo">734</span> if (msgBuffer != null) {<a name="line.734"></a>
+<span class="sourceLineNo">735</span> msgBuffer.append("Free for bucketSize(" + stats[i].itemSize() + ")="<a name="line.735"></a>
+<span class="sourceLineNo">736</span> + StringUtils.byteDesc(bytesToFreeForBucket[i]) + ", ");<a name="line.736"></a>
+<span class="sourceLineNo">737</span> }<a name="line.737"></a>
+<span class="sourceLineNo">738</span> }<a name="line.738"></a>
<span class="sourceLineNo">739</span> }<a name="line.739"></a>
-<span class="sourceLineNo">740</span><a name="line.740"></a>
-<span class="sourceLineNo">741</span> if (bytesToFreeWithoutExtra <= 0) {<a name="line.741"></a>
-<span class="sourceLineNo">742</span> return;<a name="line.742"></a>
-<span class="sourceLineNo">743</span> }<a name="line.743"></a>
-<span class="sourceLineNo">744</span> long currentSize = bucketAllocator.getUsedSize();<a name="line.744"></a>
-<span class="sourceLineNo">745</span> long totalSize = bucketAllocator.getTotalSize();<a name="line.745"></a>
-<span class="sourceLineNo">746</span> if (LOG.isDebugEnabled() && msgBuffer != null) {<a name="line.746"></a>
-<span class="sourceLineNo">747</span> LOG.debug("Free started because \"" + why + "\"; " + msgBuffer.toString() +<a name="line.747"></a>
-<span class="sourceLineNo">748</span> " of current used=" + StringUtils.byteDesc(currentSize) + ", actual cacheSize=" +<a name="line.748"></a>
-<span class="sourceLineNo">749</span> StringUtils.byteDesc(realCacheSize.sum()) + ", total=" + StringUtils.byteDesc(totalSize));<a name="line.749"></a>
-<span class="sourceLineNo">750</span> }<a name="line.750"></a>
-<span class="sourceLineNo">751</span><a name="line.751"></a>
-<span class="sourceLineNo">752</span> long bytesToFreeWithExtra = (long) Math.floor(bytesToFreeWithoutExtra<a name="line.752"></a>
-<span class="sourceLineNo">753</span> * (1 + extraFreeFactor));<a name="line.753"></a>
+<span class="sourceLineNo">740</span> if (msgBuffer != null) {<a name="line.740"></a>
+<span class="sourceLineNo">741</span> msgBuffer.append("Free for total=" + StringUtils.byteDesc(bytesToFreeWithoutExtra) + ", ");<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> if (bytesToFreeWithoutExtra <= 0) {<a name="line.744"></a>
+<span class="sourceLineNo">745</span> return;<a name="line.745"></a>
+<span class="sourceLineNo">746</span> }<a name="line.746"></a>
+<span class="sourceLineNo">747</span> long currentSize = bucketAllocator.getUsedSize();<a name="line.747"></a>
+<span class="sourceLineNo">748</span> long totalSize = bucketAllocator.getTotalSize();<a name="line.748"></a>
+<span class="sourceLineNo">749</span> if (LOG.isDebugEnabled() && msgBuffer != null) {<a name="line.749"></a>
+<span class="sourceLineNo">750</span> LOG.debug("Free started because \"" + why + "\"; " + msgBuffer.toString() +<a name="line.750"></a>
+<span class="sourceLineNo">751</span> " of current used=" + StringUtils.byteDesc(currentSize) + ", actual cacheSize=" +<a name="line.751"></a>
+<span class="sourceLineNo">752</span> StringUtils.byteDesc(realCacheSize.sum()) + ", total=" + StringUtils.byteDesc(totalSize));<a name="line.752"></a>
+<span class="sourceLineNo">753</span> }<a name="line.753"></a>
<span class="sourceLineNo">754</span><a name="line.754"></a>
-<span class="sourceLineNo">755</span> // Instantiate priority buckets<a name="line.755"></a>
-<span class="sourceLineNo">756</span> BucketEntryGroup bucketSingle = new BucketEntryGroup(bytesToFreeWithExtra,<a name="line.756"></a>
-<span class="sourceLineNo">757</span> blockSize, getPartitionSize(singleFactor));<a name="line.757"></a>
-<span class="sourceLineNo">758</span> BucketEntryGroup bucketMulti = new BucketEntryGroup(bytesToFreeWithExtra,<a name="line.758"></a>
-<span class="sourceLineNo">759</span> blockSize, getPartitionSize(multiFactor));<a name="line.759"></a>
-<span class="sourceLineNo">760</span> BucketEntryGroup bucketMemory = new BucketEntryGroup(bytesToFreeWithExtra,<a name="line.760"></a>
-<span class="sourceLineNo">761</span> blockSize, getPartitionSize(memoryFactor));<a name="line.761"></a>
-<span class="sourceLineNo">762</span><a name="line.762"></a>
-<span class="sourceLineNo">763</span> // Scan entire map putting bucket entry into appropriate bucket entry<a name="line.763"></a>
-<span class="sourceLineNo">764</span> // group<a name="line.764"></a>
-<span class="sourceLineNo">765</span> for (Map.Entry<BlockCacheKey, BucketEntry> bucketEntryWithKey : backingMap.entrySet()) {<a name="line.765"></a>
-<span class="sourceLineNo">766</span> switch (bucketEntryWithKey.getValue().getPriority()) {<a name="line.766"></a>
-<span class="sourceLineNo">767</span> case SINGLE: {<a name="line.767"></a>
-<span class="sourceLineNo">768</span> bucketSingle.add(bucketEntryWithKey);<a name="line.768"></a>
-<span class="sourceLineNo">769</span> break;<a name="line.769"></a>
-<span class="sourceLineNo">770</span> }<a name="line.770"></a>
-<span class="sourceLineNo">771</span> case MULTI: {<a name="line.771"></a>
-<span class="sourceLineNo">772</span> bucketMulti.add(bucketEntryWithKey);<a name="line.772"></a>
-<span class="sourceLineNo">773</span> break;<a name="line.773"></a>
-<span class="sourceLineNo">774</span> }<a name="line.774"></a>
-<span class="sourceLineNo">775</span> case MEMORY: {<a name="line.775"></a>
-<span class="sourceLineNo">776</span> bucketMemory.add(bucketEntryWithKey);<a name="line.776"></a>
-<span class="sourceLineNo">777</span> break;<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> }<a name="line.780"></a>
-<span class="sourceLineNo">781</span><a name="line.781"></a>
-<span class="sourceLineNo">782</span> PriorityQueue<BucketEntryGroup> bucketQueue = new PriorityQueue<>(3,<a name="line.782"></a>
-<span class="sourceLineNo">783</span> Comparator.comparingLong(BucketEntryGroup::overflow));<a name="line.783"></a>
+<span class="sourceLineNo">755</span> long bytesToFreeWithExtra = (long) Math.floor(bytesToFreeWithoutExtra<a name="line.755"></a>
+<span class="sourceLineNo">756</span> * (1 + extraFreeFactor));<a name="line.756"></a>
+<span class="sourceLineNo">757</span><a name="line.757"></a>
+<span class="sourceLineNo">758</span> // Instantiate priority buckets<a name="line.758"></a>
+<span class="sourceLineNo">759</span> BucketEntryGroup bucketSingle = new BucketEntryGroup(bytesToFreeWithExtra,<a name="line.759"></a>
+<span class="sourceLineNo">760</span> blockSize, getPartitionSize(singleFactor));<a name="line.760"></a>
+<span class="sourceLineNo">761</span> BucketEntryGroup bucketMulti = new BucketEntryGroup(bytesToFreeWithExtra,<a name="line.761"></a>
+<span class="sourceLineNo">762</span> blockSize, getPartitionSize(multiFactor));<a name="line.762"></a>
+<span class="sourceLineNo">763</span> BucketEntryGroup bucketMemory = new BucketEntryGroup(bytesToFreeWithExtra,<a name="line.763"></a>
+<span class="sourceLineNo">764</span> blockSize, getPartitionSize(memoryFactor));<a name="line.764"></a>
+<span class="sourceLineNo">765</span><a name="line.765"></a>
+<span class="sourceLineNo">766</span> // Scan entire map putting bucket entry into appropriate bucket entry<a name="line.766"></a>
+<span class="sourceLineNo">767</span> // group<a name="line.767"></a>
+<span class="sourceLineNo">768</span> for (Map.Entry<BlockCacheKey, BucketEntry> bucketEntryWithKey : backingMap.entrySet()) {<a name="line.768"></a>
+<span class="sourceLineNo">769</span> switch (bucketEntryWithKey.getValue().getPriority()) {<a name="line.769"></a>
+<span class="sourceLineNo">770</span> case SINGLE: {<a name="line.770"></a>
+<span class="sourceLineNo">771</span> bucketSingle.add(bucketEntryWithKey);<a name="line.771"></a>
+<span class="sourceLineNo">772</span> break;<a name="line.772"></a>
+<span class="sourceLineNo">773</span> }<a name="line.773"></a>
+<span class="sourceLineNo">774</span> case MULTI: {<a name="line.774"></a>
+<span class="sourceLineNo">775</span> bucketMulti.add(bucketEntryWithKey);<a name="line.775"></a>
+<span class="sourceLineNo">776</span> break;<a name="line.776"></a>
+<span class="sourceLineNo">777</span> }<a name="line.777"></a>
+<span class="sourceLineNo">778</span> case MEMORY: {<a name="line.778"></a>
+<span class="sourceLineNo">779</span> bucketMemory.add(bucketEntryWithKey);<a name="line.779"></a>
+<span class="sourceLineNo">780</span> break;<a name="line.780"></a>
+<span class="sourceLineNo">781</span> }<a name="line.781"></a>
+<span class="sourceLineNo">782</span> }<a name="line.782"></a>
+<span class="sourceLineNo">783</span> }<a name="line.783"></a>
<span class="sourceLineNo">784</span><a name="line.784"></a>
-<span class="sourceLineNo">785</span> bucketQueue.add(bucketSingle);<a name="line.785"></a>
-<span class="sourceLineNo">786</span> bucketQueue.add(bucketMulti);<a name="line.786"></a>
-<span class="sourceLineNo">787</span> bucketQueue.add(bucketMemory);<a name="line.787"></a>
-<span class="sourceLineNo">788</span><a name="line.788"></a>
-<span class="sourceLineNo">789</span> int remainingBuckets = bucketQueue.size();<a name="line.789"></a>
-<span class="sourceLineNo">790</span> long bytesFreed = 0;<a name="line.790"></a>
+<span class="sourceLineNo">785</span> PriorityQueue<BucketEntryGroup> bucketQueue = new PriorityQueue<>(3,<a name="line.785"></a>
+<span class="sourceLineNo">786</span> Comparator.comparingLong(BucketEntryGroup::overflow));<a name="line.786"></a>
+<span class="sourceLineNo">787</span><a name="line.787"></a>
+<span class="sourceLineNo">788</span> bucketQueue.add(bucketSingle);<a name="line.788"></a>
+<span class="sourceLineNo">789</span> bucketQueue.add(bucketMulti);<a name="line.789"></a>
+<span class="sourceLineNo">790</span> bucketQueue.add(bucketMemory);<a name="line.790"></a>
<span class="sourceLineNo">791</span><a name="line.791"></a>
-<span class="sourceLineNo">792</span> BucketEntryGroup bucketGroup;<a name="line.792"></a>
-<span class="sourceLineNo">793</span> while ((bucketGroup = bucketQueue.poll()) != null) {<a name="line.793"></a>
-<span class="sourceLineNo">794</span> long overflow = bucketGroup.overflow();<a name="line.794"></a>
-<span class="sourceLineNo">795</span> if (overflow > 0) {<a name="line.795"></a>
-<span class="sourceLineNo">796</span> long bucketBytesToFree = Math.min(overflow,<a name="line.796"></a>
-<span class="sourceLineNo">797</span> (bytesToFreeWithoutExtra - bytesFreed) / remainingBuckets);<a name="line.797"></a>
-<span class="sourceLineNo">798</span> bytesFreed += bucketGroup.free(bucketBytesToFree);<a name="line.798"></a>
-<span class="sourceLineNo">799</span> }<a name="line.799"></a>
-<span class="sourceLineNo">800</span> remainingBuckets--;<a name="line.800"></a>
-<span class="sourceLineNo">801</span> }<a name="line.801"></a>
-<span class="sourceLineNo">802</span><a name="line.802"></a>
-<span class="sourceLineNo">803</span> // Check and free if there are buckets that still need freeing of space<a name="line.803"></a>
-<span class="sourceLineNo">804</span> if (bucketSizesAboveThresholdCount(minFactor) > 0) {<a name="line.804"></a>
-<span class="sourceLineNo">805</span> bucketQueue.clear();<a name="line.805"></a>
-<span class="sourceLineNo">806</span> remainingBuckets = 3;<a name="line.806"></a>
-<span class="sourceLineNo">807</span><a name="line.807"></a>
-<span class="sourceLineNo">808</span> bucketQueue.add(bucketSingle);<a name="line.808"></a>
-<span class="sourceLineNo">809</span> bucketQueue.add(bucketMulti);<a name="line.809"></a>
-<span class="sourceLineNo">810</span> bucketQueue.add(bucketMemory);<a name="line.810"></a>
-<span class="sourceLineNo">811</span><a name="line.811"></a>
-<span class="sourceLineNo">812</span> while ((bucketGroup = bucketQueue.poll()) != null) {<a name="line.812"></a>
-<span class="sourceLineNo">813</span> long bucketBytesToFree = (bytesToFreeWithExtra - bytesFreed) / remainingBuckets;<a name="line.813"></a>
-<span class="sourceLineNo">814</span> bytesFreed += bucketGroup.free(bucketBytesToFree);<a name="line.814"></a>
-<span class="sourceLineNo">815</span> remainingBuckets--;<a name="line.815"></a>
-<span class="sourceLineNo">816</span> }<a name="line.816"></a>
-<span class="sourceLineNo">817</span> }<a name="line.817"></a>
-<span class="sourceLineNo">818</span><a name="line.818"></a>
-<span class="sourceLineNo">819</span> // Even after the above free we might still need freeing because of the<a name="line.819"></a>
-<span class="sourceLineNo">820</span> // De-fragmentation of the buckets (also called Slab Calcification problem), i.e<a name="line.820"></a>
-<span class="sourceLineNo">821</span> // there might be some buckets where the occupancy is very sparse and thus are not<a name="line.821"></a>
-<span class="sourceLineNo">822</span> // yielding the free for the other bucket sizes, the fix for this to evict some<a name="line.822"></a>
-<span class="sourceLineNo">823</span> // of the buckets, we do this by evicting the buckets that are least fulled<a name="line.823"></a>
-<span class="sourceLineNo">824</span> freeEntireBuckets(DEFAULT_FREE_ENTIRE_BLOCK_FACTOR *<a name="line.824"></a>
-<span class="sourceLineNo">825</span> bucketSizesAboveThresholdCount(1.0f));<a name="line.825"></a>
-<span class="sourceLineNo">826</span><a name="line.826"></a>
-<span class="sourceLineNo">827</span> if (LOG.isDebugEnabled()) {<a name="line.827"></a>
-<span class="sourceLineNo">828</span> long single = bucketSingle.totalSize();<a name="line.828"></a>
-<span class="sourceLineNo">829</span> long multi = bucketMulti.totalSize();<a name="line.829"></a>
-<span class="sourceLineNo">830</span> long memory = bucketMemory.totalSize();<a name="line.830"></a>
-<span class="sourceLineNo">831</span> if (LOG.isDebugEnabled()) {<a name="line.831"></a>
-<span class="sourceLineNo">832</span> LOG.debug("Bucket cache free space completed; " + "freed="<a name="line.832"></a>
-<span class="sourceLineNo">833</span> + StringUtils.byteDesc(bytesFreed) + ", " + "total="<a name="line.833"></a>
-<span class="sourceLineNo">834</span> + StringUtils.byteDesc(totalSize) + ", " + "single="<a name="line.834"></a>
-<span class="sourceLineNo">835</span> + StringUtils.byteDesc(single) + ", " + "multi="<a name="line.835"></a>
-<span class="sourceLineNo">836</span> + StringUtils.byteDesc(multi) + ", " + "memory="<a name="line.836"></a>
-<span class="sourceLineNo">837</span> + StringUtils.byteDesc(memory));<a name="line.837"></a>
-<span class="sourceLineNo">838</span> }<a name="line.838"></a>
-<span class="sourceLineNo">839</span> }<a name="line.839"></a>
-<span class="sourceLineNo">840</span><a name="line.840"></a>
-<span class="sourceLineNo">841</span> } catch (Throwable t) {<a name="line.841"></a>
-<span class="sourceLineNo">842</span> LOG.warn("Failed freeing space", t);<a name="line.842"></a>
-<span class="sourceLineNo">843</span> } finally {<a name="line.843"></a>
-<span class="sourceLineNo">844</span> cacheStats.evict();<a name="line.844"></a>
-<span class="sourceLineNo">845</span> freeInProgress = false;<a name="line.845"></a>
-<span class="sourceLineNo">846</span> freeSpaceLock.unlock();<a name="line.846"></a>
-<span class="sourceLineNo">847</span> }<a name="line.847"></a>
-<span class="sourceLineNo">848</span> }<a name="line.848"></a>
-<span class="sourceLineNo">849</span><a name="line.849"></a>
-<span class="sourceLineNo">850</span> // This handles flushing the RAM cache to IOEngine.<a name="line.850"></a>
-<span class="sourceLineNo">851</span> @VisibleForTesting<a name="line.851"></a>
-<span class="sourceLineNo">852</span> class WriterThread extends HasThread {<a name="line.852"></a>
-<span class="sourceLineNo">853</span> private final BlockingQueue<RAMQueueEntry> inputQueue;<a name="line.853"></a>
-<span class="sourceLineNo">854</span> private volatile boolean writerEnabled = true;<a name="line.854"></a>
-<span class="sourceLineNo">855</span><a name="line.855"></a>
-<span class="sourceLineNo">856</span> WriterThread(BlockingQueue<RAMQueueEntry> queue) {<a name="line.856"></a>
-<span class="sourceLineNo">857</span> super("BucketCacheWriterThread");<a name="line.857"></a>
-<span class="sourceLineNo">858</span> this.inputQueue = queue;<a name="line.858"></a>
-<span class="sourceLineNo">859</span> }<a name="line.859"></a>
-<span class="sourceLineNo">860</span><a name="line.860"></a>
-<span class="sourceLineNo">861</span> // Used for test<a name="line.861"></a>
-<span class="sourceLineNo">862</span> @VisibleForTesting<a name="line.862"></a>
-<span class="sourceLineNo">863</span> void disableWriter() {<a name="line.863"></a>
-<span class="sourceLineNo">864</span> this.writerEnabled = false;<a name="line.864"></a>
-<span class="sourceLineNo">865</span> }<a name="line.865"></a>
-<span class="sourceLineNo">866</span><a name="line.866"></a>
-<span class="sourceLineNo">867</span> @Override<a name="line.867"></a>
-<span class="sourceLineNo">868</span> public void run() {<a name="line.868"></a>
-<span class="sourceLineNo">869</span> List<RAMQueueEntry> entries = new ArrayList<>();<a name="line.869"></a>
-<span class="sourceLineNo">870</span> try {<a name="line.870"></a>
-<span class="sourceLineNo">871</span> while (cacheEnabled && writerEnabled) {<a name="line.871"></a>
-<span class="sourceLineNo">872</span> try {<a name="line.872"></a>
-<span class="sourceLineNo">873</span> try {<a name="line.873"></a>
-<span class="sourceLineNo">874</span> // Blocks<a name="line.874"></a>
-<span class="sourceLineNo">875</span> entries = getRAMQueueEntries(inputQueue, entries);<a name="line.875"></a>
-<span class="sourceLineNo">876</span> } catch (InterruptedException ie) {<a name="line.876"></a>
-<span class="sourceLineNo">877</span> if (!cacheEnabled || !writerEnabled) {<a name="line.877"></a>
-<span class="sourceLineNo">878</span> break;<a name="line.878"></a>
-<span class="sourceLineNo">879</span> }<a name="line.879"></a>
-<span class="sourceLineNo">880</span> }<a name="line.880"></a>
-<span class="sourceLineNo">881</span> doDrain(entries);<a name="line.881"></a>
-<span class="sourceLineNo">882</span> } catch (Exception ioe) {<a name="line.882"></a>
-<span class="sourceLineNo">883</span> LOG.error("WriterThread encountered error", ioe);<a name="line.883"></a>
-<span class="sourceLineNo">884</span> }<a name="line.884"></a>
-<span class="sourceLineNo">885</span> }<a name="line.885"></a>
-<span class="sourceLineNo">886</span> } catch (Throwable t) {<a name="line.886"></a>
-<span class="sourceLineNo">887</span> LOG.warn("Failed doing drain", t);<a name="line.887"></a>
-<span class="sourceLineNo">888</span> }<a name="line.888"></a>
-<span class="sourceLineNo">889</span> LOG.info(this.getName() + " exiting, cacheEnabled=" + cacheEnabled);<a name="line.889"></a>
-<span class="sourceLineNo">890</span> }<a name="line.890"></a>
-<span class="sourceLineNo">891</span><a name="line.891"></a>
-<span class="sourceLineNo">892</span> /**<a name="line.892"></a>
-<span class="sourceLineNo">893</span> * Put the new bucket entry into backingMap. Notice that we are allowed to replace the existing<a name="line.893"></a>
-<span class="sourceLineNo">894</span> * cache with a new block for the same cache key. there's a corner case: one thread cache a<a name="line.894"></a>
-<span class="sourceLineNo">895</span> * block in ramCache, copy to io-engine and add a bucket entry to backingMap. Caching another<a name="line.895"></a>
-<span class="sourceLineNo">896</span> * new block with the same cache key do the same thing for the same cache key, so if not evict<a name="line.896"></a>
-<span class="sourceLineNo">897</span> * the previous bucket entry, then memory leak happen because the previous bucketEntry is gone<a name="line.897"></a>
-<span class="sourceLineNo">898</span> * but the bucketAllocator do not free its memory.<a name="line.898"></a>
-<span class="sourceLineNo">899</span> * @see BlockCacheUtil#shouldReplaceExistingCacheBlock(BlockCache blockCache,BlockCacheKey<a name="line.899"></a>
-<span class="sourceLineNo">900</span> * cacheKey, Cacheable newBlock)<a name="line.900"></a>
-<span class="sourceLineNo">901</span> * @param key Block cache key<a name="line.901"></a>
-<span class="sourceLineNo">902</span> * @param bucketEntry Bucket entry to put into backingMap.<a name="line.902"></a>
-<span class="sourceLineNo">903</span> */<a name="line.903"></a>
-<span class="sourceLineNo">904</span> private void putIntoBackingMap(BlockCacheKey key, BucketEntry bucketEntry) {<a name="line.904"></a>
-<span class="sourceLineNo">905</span> BucketEntry previousEntry = backingMap.put(key, bucketEntry);<a name="line.905"></a>
-<span class="sourceLineNo">906</span> if (previousEntry != null && previousEntry != bucketEntry) {<a name="line.906"></a>
-<span class="sourceLineNo">907</span> previousEntry.withWriteLock(offsetLock, () -> {<a name="line.907"></a>
-<span class="sourceLineNo">908</span> blockEvicted(key, previousEntry, false);<a name="line.908"></a>
-<span class="sourceLineNo">909</span> return null;<a name="line.909"></a>
-<span class="sourceLineNo">910</span> });<a name="line.910"></a>
-<span class="sourceLineNo">911</span> }<a name="line.911"></a>
-<span class="sourceLineNo">912</span> }<a name="line.912"></a>
-<span class="sourceLineNo">913</span><a name="line.913"></a>
-<span class="sourceLineNo">914</span> /**<a name="line.914"></a>
-<span class="sourceLineNo">915</span> * Flush the entries in ramCache to IOEngine and add bucket entry to backingMap.<a name="line.915"></a>
-<span class="sourceLineNo">916</span> * Process all that are passed in even if failure being sure to remove from ramCache else we'll<a name="line.916"></a>
-<span class="sourceLineNo">917</span> * never undo the references and we'll OOME.<a name="line.917"></a>
-<span class="sourceLineNo">918</span> * @param entries Presumes list passed in here will be processed by this invocation only. No<a name="line.918"></a>
-<span class="sourceLineNo">919</span> * interference expected.<a name="line.919"></a>
-<span class="sourceLineNo">920</span> * @throws InterruptedException<a name="line.920"></a>
-<span class="sourceLineNo">921</span> */<a name="line.921"></a>
-<span class="sourceLineNo">922</span> @VisibleForTesting<a name="line.922"></a>
-<span class="sourceLineNo">923</span> void doDrain(final List<RAMQueueEntry> entries) throws InterruptedException {<a name="line.923"></a>
-<span class="sourceLineNo">924</span> if (entries.isEmpty()) {<a name="line.924"></a>
-<span class="sourceLineNo">925</span> return;<a name="line.925"></a>
-<span class="sourceLineNo">926</span> }<a name="line.926"></a>
-<span class="sourceLineNo">927</span> // This method is a little hard to follow. We run through the passed in entries and for each<a name="line.927"></a>
-<span class="sourceLineNo">928</span> // successful add, we add a non-null BucketEntry to the below bucketEntries. Later we must<a name="line.928"></a>
-<span class="sourceLineNo">929</span> // do cleanup making sure we've cleared ramCache of all entries regardless of whether we<a name="line.929"></a>
-<span class="sourceLineNo">930</span> // successfully added the item to the bucketcache; if we don't do the cleanup, we'll OOME by<a name="line.930"></a>
-<span class="sourceLineNo">931</span> // filling ramCache. We do the clean up by again running through the passed in entries<a name="line.931"></a>
-<span class="sourceLineNo">932</span> // doing extra work when we find a non-null bucketEntries corresponding entry.<a name="line.932"></a>
-<span class="sourceLineNo">933</span> final int size = entries.size();<a name="line.933"></a>
-<span class="sourceLineNo">934</span> BucketEntry[] bucketEntries = new BucketEntry[size];<a name="line.934"></a>
-<span class="sourceLineNo">935</span> // Index updated inside loop if success or if we can't succeed. We retry if cache is full<a name="line.935"></a>
-<span class="sourceLineNo">936</span> // when we go to add an entry by going around the loop again without upping the index.<a name="line.936"></a>
-<span class="sourceLineNo">937</span> int index = 0;<a name="line.937"></a>
-<span class="sourceLineNo">938</span> while (cacheEnabled && index < size) {<a name="line.938"></a>
-<span class="sourceLineNo">939</span> RAMQueueEntry re = null;<a name="line.939"></a>
-<span class="sourceLineNo">940</span> try {<a name="line.940"></a>
-<span class="sourceLineNo">941</span> re = entries.get(index);<a name="line.941"></a>
-<span class="sourceLineNo">942</span> if (re == null) {<a name="line.942"></a>
-<span class="sourceLineNo">943</span> LOG.warn("Couldn't get entry or changed on us; who else is messing with it?");<a name="line.943"></a>
-<span class="sourceLineNo">944</span> index++;<a name="line.944"></a>
-<span class="sourceLineNo">945</span> continue;<a name="line.945"></a>
-<span class="sourceLineNo">946</span> }<a name="line.946"></a>
-<span class="sourceLineNo">947</span> BucketEntry bucketEntry = re.writeToCache(ioEngine, bucketAllocator, realCacheSize);<a name="line.947"></a>
-<span class="sourceLineNo">948</span> // Successfully added. Up index and add bucketEntry. Clear io exceptions.<a name="line.948"></a>
-<span class="sourceLineNo">949</span> bucketEntries[index] = bucketEntry;<a name="line.949"></a>
-<span class="sourceLineNo">950</span> if (ioErrorStartTime > 0) {<a name="line.950"></a>
-<span class="sourceLineNo">951</span> ioErrorStartTime = -1;<a name="line.951"></a>
-<span class="sourceLineNo">952</span> }<a name="line.952"></a>
-<span class="sourceLineNo">953</span> index++;<a name="line.953"></a>
-<span class="sourceLineNo">954</span> } catch (BucketAllocatorException fle) {<a name="line.954"></a>
-<span class="sourceLineNo">955</span> LOG.warn("Failed allocation for " + (re == null ? "" : re.getKey()) + "; " + fle);<a name="line.955"></a>
-<span class="sourceLineNo">956</span> // Presume can't add. Too big? Move index on. Entry will be cleared from ramCache below.<a name="line.956"></a>
-<span class="sourceLineNo">957</span> bucketEntries[index] = null;<a name="line.957"></a>
-<span class="sourceLineNo">958</span> index++;<a name="line.958"></a>
-<span class="sourceLineNo">959</span> } catch (CacheFullException cfe) {<a name="line.959"></a>
-<span class="sourceLineNo">960</span> // Cache full when we tried to add. Try freeing space and then retrying (don't up index)<a name="line.960"></a>
-<span class="sourceLineNo">961</span> if (!freeInProgress) {<a name="line.961"></a>
-<span class="sourceLineNo">962</span> freeSpace("Full!");<a name="line.962"></a>
-<span class="sourceLineNo">963</span> } else {<a name="line.963"></a>
-<span class="sourceLineNo">964</span> Thread.sleep(50);<a name="line.964"></a>
-<span class="sourceLineNo">965</span> }<a name="line.965"></a>
-<span class="sourceLineNo">966</span> } catch (IOException ioex) {<a name="line.966"></a>
-<span class="sourceLineNo">967</span> // Hopefully transient. Retry. checkIOErrorIsTolerated disables cache if problem.<a name="line.967"></a>
-<span class="sourceLineNo">968</span> LOG.error("Failed writing to bucket cache", ioex);<a name="line.968"></a>
-<span class="sourceLineNo">969</span> checkIOErrorIsTolerated();<a name="line.969"></a>
-<span class="sourceLineNo">970</span> }<a name="line.970"></a>
-<span class="sourceLineNo">971</span> }<a name="line.971"></a>
-<span class="sourceLineNo">972</span><a name="line.972"></a>
-<span class="sourceLineNo">973</span> // Make sure data pages are written on media before we update maps.<a name="line.973"></a>
-<span class="sourceLineNo">974</span> try {<a name="line.974"></a>
-<span class="sourceLineNo">975</span> ioEngine.sync();<a name="line.975"></a>
-<span class="sourceLineNo">976</span> } catch (IOException ioex) {<a name="line.976"></a>
-<span class="sourceLineNo">977</span> LOG.error("Failed syncing IO engine", ioex);<a name="line.977"></a>
-<span class="sourceLineNo">978</span> checkIOErrorIsTolerated();<a name="line.978"></a>
-<span class="sourceLineNo">979</span> // Since we failed sync, free the blocks in bucket allocator<a name="line.979"></a>
-<span class="sourceLineNo">980</span> for (int i = 0; i < entries.size(); ++i) {<a name="line.980"></a>
-<span class="sourceLineNo">981</span> if (bucketEntries[i] != null) {<a name="line.981"></a>
-<span class="sourceLineNo">982</span> bucketAllocator.freeBlock(bucketEntries[i].offset());<a name="line.982"></a>
-<span class="sourceLineNo">983</span> bucketEntries[i] = null;<a name="line.983"></a>
-<span class="sourceLineNo">984</span> }<a name="line.984"></a>
-<span class="sourceLineNo">985</span> }<a name="line.985"></a>
-<span class="sourceLineNo">986</span> }<a name="line.986"></a>
-<span class="sourceLineNo">987</span><a name="line.987"></a>
-<span class="sourceLineNo">988</span> // Now add to backingMap if successfully added to bucket cache. Remove from ramCache if<a name="line.988"></a>
-<span class="sourceLineNo">989</span> // success or error.<a name="line.989"></a>
-<span class="sourceLineNo">990</span> for (int i = 0; i < size; ++i) {<a name="line.990"></a>
-<span class="sourceLineNo">991</span> BlockCacheKey key = entries.get(i).getKey();<a name="line.991"></a>
-<span class="sourceLineNo">992</span> // Only add if non-null entry.<a name="line.992"></a>
-<span class="sourceLineNo">993</span> if (bucketEntries[i] != null) {<a name="line.993"></a>
-<span class="sourceLineNo">994</span> putIntoBackingMap(key, bucketEntries[i]);<a name="line.994"></a>
-<span class="sourceLineNo">995</span> }<a name="line.995"></a>
-<span class="sourceLineNo">996</span> // Always remove from ramCache even if we failed adding it to the block cache above.<a name="line.996"></a>
-<span class="sourceLineNo">997</span> boolean existed = ramCache.remove(key, re -> {<a name="line.997"></a>
-<span class="sourceLineNo">998</span> if (re != null) {<a name="line.998"></a>
-<span class="sourceLineNo">999</span> heapSize.add(-1 * re.getData().heapSize());<a name="line.999"></a>
-<span class="sourceLineNo">1000</span> }<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span> });<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span> if (!existed && bucketEntries[i] != null) {<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span> // Block should have already been evicted. Remove it and free space.<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span> final BucketEntry bucketEntry = bucketEntries[i];<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span> bucketEntry.withWriteLock(offsetLock, () -> {<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span> if (backingMap.remove(key, bucketEntry)) {<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span> blockEvicted(key, bucketEntry, false);<a name="line.1007"></a>
-<span class="sourceLineNo">1008</span> }<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span> return null;<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span> });<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span> }<a name="line.1011"></a>
-<span class="sourceLineNo">1012</span> }<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span><a name="line.1013"></a>
-<span class="sourceLineNo">1014</span> long used = bucketAllocator.getUsedSize();<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span> if (used > acceptableSize()) {<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span> freeSpace("Used=" + used + " > acceptable=" + acceptableSize());<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span> }<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span> return;<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span> }<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span> }<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span><a name="line.1021"></a>
-<span class="sourceLineNo">1022</span> /**<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span> * Blocks until elements available in {@code q} then tries to grab as many as possible before<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span> * returning.<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span> * @param receptacle Where to stash the elements taken from queue. We clear before we use it just<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span> * in case.<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span> * @param q The queue to take from.<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span> * @return {@code receptacle} laden with elements taken from the queue or empty if none found.<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span> */<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span> @VisibleForTesting<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span> static List<RAMQueueEntry> getRAMQueueEntries(BlockingQueue<RAMQueueEntry> q,<a name="line.1031"></a>
-<span class="sourceLineNo">1032</span> List<RAMQueueEntry> receptacle) throws InterruptedException {<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span> // Clear sets all entries to null and sets size to 0. We retain allocations. Presume it<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span> // ok even if list grew to accommodate thousands.<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span> receptacle.clear();<a name="line.1035"></a>
-<span class="sourceLineNo">1036</span> receptacle.add(q.take());<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span> q.drainTo(receptacle);<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span> return receptacle;<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span> }<a name="line.1039"></a>
-<span class="sourceLineNo">1040</span><a name="line.1040"></a>
-<span class="sourceLineNo">1041</span> /**<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span> * @see #retrieveFromFile(int[])<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span> */<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span> @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="OBL_UNSATISFIED_OBLIGATION",<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span> justification = "false positive, try-with-resources ensures close is called.")<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span> private void persistToFile() throws IOException {<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span> assert !cacheEnabled;<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span> if (!ioEngine.isPersistent()) {<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span> throw new IOException("Attempt to persist non-persistent cache mappings!");<a name="line.1049"></a>
-<span class="sourceLineNo">1050</span> }<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span> try (FileOutputStream fos = new FileOutputStream(persistencePath, false)) {<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span> fos.write(ProtobufMagic.PB_MAGIC);<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span> BucketProtoUtils.toPB(this).writeDelimitedTo(fos);<a name="line.1053"></a>
... 25676 lines suppressed ...